summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.drone.yml31
-rw-r--r--.gitignore1
-rw-r--r--.mention-bot8
-rw-r--r--apps/comments/css/comments.css1
-rw-r--r--apps/dav/appinfo/v1/publicwebdav.php3
-rw-r--r--apps/dav/appinfo/v1/webdav.php10
-rw-r--r--apps/dav/l10n/is.js1
-rw-r--r--apps/dav/l10n/is.json1
-rw-r--r--apps/dav/l10n/lt_LT.js1
-rw-r--r--apps/dav/l10n/lt_LT.json1
-rw-r--r--apps/dav/l10n/nb.js20
-rw-r--r--apps/dav/l10n/nb.json20
-rw-r--r--apps/dav/l10n/nl.js1
-rw-r--r--apps/dav/l10n/nl.json1
-rw-r--r--apps/dav/l10n/pl.js1
-rw-r--r--apps/dav/l10n/pl.json1
-rw-r--r--apps/dav/l10n/sk.js12
-rw-r--r--apps/dav/l10n/sk.json12
-rw-r--r--apps/dav/l10n/sq.js1
-rw-r--r--apps/dav/l10n/sq.json1
-rw-r--r--apps/dav/l10n/zh_CN.js1
-rw-r--r--apps/dav/l10n/zh_CN.json1
-rw-r--r--apps/dav/lib/Connector/Sabre/Auth.php1
-rw-r--r--apps/dav/lib/Connector/Sabre/BearerAuth.php80
-rw-r--r--apps/dav/lib/Connector/Sabre/File.php1
-rw-r--r--apps/dav/lib/Connector/Sabre/ServerFactory.php7
-rw-r--r--apps/dav/lib/Server.php8
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/BearerAuthTest.php88
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/RequestTest/RequestTestCase.php3
-rw-r--r--apps/encryption/l10n/id.js1
-rw-r--r--apps/encryption/l10n/id.json1
-rw-r--r--apps/federatedfilesharing/l10n/fr.js1
-rw-r--r--apps/federatedfilesharing/l10n/fr.json1
-rw-r--r--apps/federatedfilesharing/l10n/is.js4
-rw-r--r--apps/federatedfilesharing/l10n/is.json4
-rw-r--r--apps/federatedfilesharing/l10n/nl.js1
-rw-r--r--apps/federatedfilesharing/l10n/nl.json1
-rw-r--r--apps/federatedfilesharing/l10n/pl.js1
-rw-r--r--apps/federatedfilesharing/l10n/pl.json1
-rw-r--r--apps/federatedfilesharing/l10n/tr.js4
-rw-r--r--apps/federatedfilesharing/l10n/tr.json4
-rw-r--r--apps/federatedfilesharing/l10n/zh_CN.js6
-rw-r--r--apps/federatedfilesharing/l10n/zh_CN.json6
-rw-r--r--apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php3
-rw-r--r--apps/federation/l10n/ast.js3
-rw-r--r--apps/federation/l10n/ast.json3
-rw-r--r--apps/federation/l10n/el.js2
-rw-r--r--apps/federation/l10n/el.json2
-rw-r--r--apps/files/css/files.scss1
-rw-r--r--apps/files/js/newfilemenu.js4
-rw-r--r--apps/files/js/search.js30
-rw-r--r--apps/files/l10n/ast.js61
-rw-r--r--apps/files/l10n/ast.json61
-rw-r--r--apps/files/l10n/bg.js4
-rw-r--r--apps/files/l10n/bg.json4
-rw-r--r--apps/files/l10n/ca.js4
-rw-r--r--apps/files/l10n/ca.json4
-rw-r--r--apps/files/l10n/cs.js5
-rw-r--r--apps/files/l10n/cs.json5
-rw-r--r--apps/files/l10n/da.js4
-rw-r--r--apps/files/l10n/da.json4
-rw-r--r--apps/files/l10n/de.js5
-rw-r--r--apps/files/l10n/de.json5
-rw-r--r--apps/files/l10n/de_DE.js5
-rw-r--r--apps/files/l10n/de_DE.json5
-rw-r--r--apps/files/l10n/el.js4
-rw-r--r--apps/files/l10n/el.json4
-rw-r--r--apps/files/l10n/es.js4
-rw-r--r--apps/files/l10n/es.json4
-rw-r--r--apps/files/l10n/es_MX.js5
-rw-r--r--apps/files/l10n/es_MX.json5
-rw-r--r--apps/files/l10n/eu.js4
-rw-r--r--apps/files/l10n/eu.json4
-rw-r--r--apps/files/l10n/fi.js5
-rw-r--r--apps/files/l10n/fi.json5
-rw-r--r--apps/files/l10n/fr.js5
-rw-r--r--apps/files/l10n/fr.json5
-rw-r--r--apps/files/l10n/hu.js4
-rw-r--r--apps/files/l10n/hu.json4
-rw-r--r--apps/files/l10n/ia.js4
-rw-r--r--apps/files/l10n/ia.json4
-rw-r--r--apps/files/l10n/is.js4
-rw-r--r--apps/files/l10n/is.json4
-rw-r--r--apps/files/l10n/it.js4
-rw-r--r--apps/files/l10n/it.json4
-rw-r--r--apps/files/l10n/ja.js4
-rw-r--r--apps/files/l10n/ja.json4
-rw-r--r--apps/files/l10n/ko.js4
-rw-r--r--apps/files/l10n/ko.json4
-rw-r--r--apps/files/l10n/lb.js4
-rw-r--r--apps/files/l10n/lb.json4
-rw-r--r--apps/files/l10n/lt_LT.js4
-rw-r--r--apps/files/l10n/lt_LT.json4
-rw-r--r--apps/files/l10n/lv.js4
-rw-r--r--apps/files/l10n/lv.json4
-rw-r--r--apps/files/l10n/nb.js5
-rw-r--r--apps/files/l10n/nb.json5
-rw-r--r--apps/files/l10n/nl.js5
-rw-r--r--apps/files/l10n/nl.json5
-rw-r--r--apps/files/l10n/pl.js5
-rw-r--r--apps/files/l10n/pl.json5
-rw-r--r--apps/files/l10n/pt_BR.js5
-rw-r--r--apps/files/l10n/pt_BR.json5
-rw-r--r--apps/files/l10n/ru.js4
-rw-r--r--apps/files/l10n/ru.json4
-rw-r--r--apps/files/l10n/sk.js4
-rw-r--r--apps/files/l10n/sk.json4
-rw-r--r--apps/files/l10n/sl.js87
-rw-r--r--apps/files/l10n/sl.json87
-rw-r--r--apps/files/l10n/sq.js4
-rw-r--r--apps/files/l10n/sq.json4
-rw-r--r--apps/files/l10n/sv.js4
-rw-r--r--apps/files/l10n/sv.json4
-rw-r--r--apps/files/l10n/tr.js4
-rw-r--r--apps/files/l10n/tr.json4
-rw-r--r--apps/files/l10n/vi.js4
-rw-r--r--apps/files/l10n/vi.json4
-rw-r--r--apps/files/l10n/zh_CN.js6
-rw-r--r--apps/files/l10n/zh_CN.json6
-rw-r--r--apps/files_external/l10n/el.js2
-rw-r--r--apps/files_external/l10n/el.json2
-rw-r--r--apps/files_external/l10n/fr.js1
-rw-r--r--apps/files_external/l10n/fr.json1
-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/nl.js1
-rw-r--r--apps/files_external/l10n/nl.json1
-rw-r--r--apps/files_external/l10n/pl.js1
-rw-r--r--apps/files_external/l10n/pl.json1
-rw-r--r--apps/files_external/l10n/zh_CN.js3
-rw-r--r--apps/files_external/l10n/zh_CN.json3
-rw-r--r--apps/files_sharing/appinfo/info.xml7
-rw-r--r--apps/files_sharing/appinfo/update.php30
-rw-r--r--apps/files_sharing/l10n/el.js1
-rw-r--r--apps/files_sharing/l10n/el.json1
-rw-r--r--apps/files_sharing/l10n/fr.js1
-rw-r--r--apps/files_sharing/l10n/fr.json1
-rw-r--r--apps/files_sharing/l10n/is.js1
-rw-r--r--apps/files_sharing/l10n/is.json1
-rw-r--r--apps/files_sharing/l10n/nb.js1
-rw-r--r--apps/files_sharing/l10n/nb.json1
-rw-r--r--apps/files_sharing/l10n/nl.js1
-rw-r--r--apps/files_sharing/l10n/nl.json1
-rw-r--r--apps/files_sharing/l10n/pl.js1
-rw-r--r--apps/files_sharing/l10n/pl.json1
-rw-r--r--apps/files_sharing/l10n/tr.js8
-rw-r--r--apps/files_sharing/l10n/tr.json8
-rw-r--r--apps/files_sharing/l10n/zh_CN.js1
-rw-r--r--apps/files_sharing/l10n/zh_CN.json1
-rw-r--r--apps/files_sharing/lib/Migration.php308
-rw-r--r--apps/files_sharing/lib/Migration/OwncloudGuestShareType.php82
-rw-r--r--apps/files_sharing/lib/Migration/SetPasswordColumn.php97
-rw-r--r--apps/files_sharing/templates/public.php2
-rw-r--r--apps/files_sharing/tests/Migration/SetPasswordColumnTest.php124
-rw-r--r--apps/files_sharing/tests/MigrationTest.php188
-rw-r--r--apps/files_versions/l10n/ast.js7
-rw-r--r--apps/files_versions/l10n/ast.json7
-rw-r--r--apps/files_versions/l10n/lt_LT.js1
-rw-r--r--apps/files_versions/l10n/lt_LT.json1
-rw-r--r--apps/files_versions/l10n/sq.js1
-rw-r--r--apps/files_versions/l10n/sq.json1
-rw-r--r--apps/lookup_server_connector/appinfo/app.php26
-rw-r--r--apps/lookup_server_connector/lib/UpdateLookupServer.php12
-rw-r--r--apps/oauth2/appinfo/database.xml100
-rw-r--r--apps/oauth2/appinfo/info.xml18
-rw-r--r--apps/oauth2/appinfo/routes.php45
-rw-r--r--apps/oauth2/css/setting-admin.css5
-rw-r--r--apps/oauth2/js/setting-admin.js15
-rw-r--r--apps/oauth2/lib/Controller/LoginRedirectorController.php79
-rw-r--r--apps/oauth2/lib/Controller/OauthApiController.php88
-rw-r--r--apps/oauth2/lib/Controller/SettingsController.php100
-rw-r--r--apps/oauth2/lib/Db/AccessToken.php53
-rw-r--r--apps/oauth2/lib/Db/AccessTokenMapper.php70
-rw-r--r--apps/oauth2/lib/Db/Client.php53
-rw-r--r--apps/oauth2/lib/Db/ClientMapper.php89
-rw-r--r--apps/oauth2/lib/Exceptions/AccessTokenNotFoundException.php24
-rw-r--r--apps/oauth2/lib/Exceptions/ClientNotFoundException.php24
-rw-r--r--apps/oauth2/lib/Settings/Admin.php66
-rw-r--r--apps/oauth2/templates/admin.php76
-rw-r--r--apps/oauth2/tests/Controller/LoginRedirectorControllerTest.php91
-rw-r--r--apps/oauth2/tests/Controller/OauthApiControllerTest.php106
-rw-r--r--apps/oauth2/tests/Controller/SettingsControllerTest.php139
-rw-r--r--apps/oauth2/tests/Db/AccessTokenMapperTest.php70
-rw-r--r--apps/oauth2/tests/Db/ClientMapperTest.php79
-rw-r--r--apps/oauth2/tests/Settings/AdminTest.php66
-rw-r--r--apps/sharebymail/l10n/ast.js38
-rw-r--r--apps/sharebymail/l10n/ast.json36
-rw-r--r--apps/sharebymail/l10n/el.js3
-rw-r--r--apps/sharebymail/l10n/el.json3
-rw-r--r--apps/sharebymail/l10n/is.js10
-rw-r--r--apps/sharebymail/l10n/is.json10
-rw-r--r--apps/sharebymail/l10n/zh_CN.js18
-rw-r--r--apps/sharebymail/l10n/zh_CN.json18
-rw-r--r--apps/theming/css/settings-admin.css5
-rw-r--r--apps/theming/js/settings-admin.js8
-rw-r--r--apps/theming/l10n/fi.js5
-rw-r--r--apps/theming/l10n/fi.json5
-rw-r--r--apps/theming/l10n/is.js3
-rw-r--r--apps/theming/l10n/is.json3
-rw-r--r--apps/theming/l10n/nl.js1
-rw-r--r--apps/theming/l10n/nl.json1
-rw-r--r--apps/theming/l10n/pl.js1
-rw-r--r--apps/theming/l10n/pl.json1
-rw-r--r--apps/theming/l10n/zh_CN.js3
-rw-r--r--apps/theming/l10n/zh_CN.json3
-rw-r--r--apps/theming/lib/Capabilities.php15
-rw-r--r--apps/theming/lib/Controller/IconController.php50
-rw-r--r--apps/theming/lib/IconBuilder.php52
-rw-r--r--apps/theming/lib/Util.php27
-rw-r--r--apps/theming/tests/CapabilitiesTest.php61
-rw-r--r--apps/theming/tests/Controller/IconControllerTest.php40
-rw-r--r--apps/theming/tests/Controller/ThemingControllerTest.php7
-rw-r--r--apps/theming/tests/IconBuilderTest.php14
-rw-r--r--apps/theming/tests/UtilTest.php37
-rw-r--r--apps/twofactor_backupcodes/appinfo/app.php10
-rw-r--r--apps/twofactor_backupcodes/appinfo/database.xml4
-rw-r--r--apps/twofactor_backupcodes/appinfo/info.xml8
-rw-r--r--apps/twofactor_backupcodes/css/style.css4
-rw-r--r--apps/twofactor_backupcodes/l10n/de_DE.js2
-rw-r--r--apps/twofactor_backupcodes/l10n/de_DE.json2
-rw-r--r--apps/twofactor_backupcodes/l10n/is.js1
-rw-r--r--apps/twofactor_backupcodes/l10n/is.json1
-rw-r--r--apps/twofactor_backupcodes/l10n/nl.js1
-rw-r--r--apps/twofactor_backupcodes/l10n/nl.json1
-rw-r--r--apps/twofactor_backupcodes/l10n/zh_CN.js1
-rw-r--r--apps/twofactor_backupcodes/l10n/zh_CN.json1
-rw-r--r--apps/twofactor_backupcodes/lib/AppInfo/Application.php62
-rw-r--r--apps/twofactor_backupcodes/lib/Db/BackupCodeMapper.php19
-rw-r--r--apps/twofactor_backupcodes/lib/Migration/CopyEntriesFromOldTable.php108
-rw-r--r--apps/updatenotification/js/admin.js7
-rw-r--r--apps/updatenotification/l10n/el.js6
-rw-r--r--apps/updatenotification/l10n/el.json6
-rw-r--r--apps/updatenotification/l10n/is.js1
-rw-r--r--apps/updatenotification/l10n/is.json1
-rw-r--r--apps/updatenotification/l10n/nl.js1
-rw-r--r--apps/updatenotification/l10n/nl.json1
-rw-r--r--apps/updatenotification/l10n/pl.js1
-rw-r--r--apps/updatenotification/l10n/pl.json1
-rw-r--r--apps/updatenotification/l10n/zh_CN.js2
-rw-r--r--apps/updatenotification/l10n/zh_CN.json2
-rw-r--r--apps/user_ldap/l10n/ast.js17
-rw-r--r--apps/user_ldap/l10n/ast.json17
-rw-r--r--apps/user_ldap/l10n/el.js5
-rw-r--r--apps/user_ldap/l10n/el.json5
-rw-r--r--apps/user_ldap/l10n/sq.js1
-rw-r--r--apps/user_ldap/l10n/sq.json1
-rw-r--r--apps/user_ldap/l10n/tr.js10
-rw-r--r--apps/user_ldap/l10n/tr.json10
-rw-r--r--apps/workflowengine/l10n/fi.js66
-rw-r--r--apps/workflowengine/l10n/fi.json64
-rw-r--r--apps/workflowengine/l10n/fr.js1
-rw-r--r--apps/workflowengine/l10n/fr.json1
-rw-r--r--apps/workflowengine/l10n/is.js1
-rw-r--r--apps/workflowengine/l10n/is.json1
-rw-r--r--apps/workflowengine/l10n/nl.js1
-rw-r--r--apps/workflowengine/l10n/nl.json1
-rw-r--r--apps/workflowengine/l10n/sq.js1
-rw-r--r--apps/workflowengine/l10n/sq.json1
-rw-r--r--apps/workflowengine/l10n/zh_CN.js3
-rw-r--r--apps/workflowengine/l10n/zh_CN.json3
-rwxr-xr-xautotest-checkers.sh43
-rwxr-xr-xautotest.sh4
-rw-r--r--build/integration/features/auth.feature8
-rw-r--r--build/integration/features/bootstrap/Auth.php4
-rw-r--r--build/integration/features/provisioning-v1.feature1
-rw-r--r--build/integration/features/webdav-related.feature4
-rw-r--r--config/config.sample.php34
-rw-r--r--core/Application.php27
-rw-r--r--core/Command/App/CheckCode.php34
-rw-r--r--core/Command/Upgrade.php8
-rw-r--r--core/Controller/ClientFlowLoginController.php101
-rw-r--r--core/Controller/CssController.php7
-rw-r--r--core/Controller/JsController.php7
-rw-r--r--core/Controller/LoginController.php2
-rw-r--r--core/Controller/LostController.php16
-rw-r--r--core/Middleware/TwoFactorMiddleware.php8
-rw-r--r--core/ajax/update.php9
-rw-r--r--core/css/apps.scss6
-rw-r--r--core/css/guest.css33
-rw-r--r--core/css/header.scss8
-rw-r--r--core/css/login/authpicker.css2
-rw-r--r--core/css/styles.scss1
-rw-r--r--core/js/lostpassword.js4
-rw-r--r--core/l10n/bg.js4
-rw-r--r--core/l10n/bg.json4
-rw-r--r--core/l10n/cs.js9
-rw-r--r--core/l10n/cs.json9
-rw-r--r--core/l10n/de.js11
-rw-r--r--core/l10n/de.json11
-rw-r--r--core/l10n/de_DE.js11
-rw-r--r--core/l10n/de_DE.json11
-rw-r--r--core/l10n/el.js8
-rw-r--r--core/l10n/el.json8
-rw-r--r--core/l10n/en_GB.js256
-rw-r--r--core/l10n/en_GB.json254
-rw-r--r--core/l10n/es.js4
-rw-r--r--core/l10n/es.json4
-rw-r--r--core/l10n/es_MX.js11
-rw-r--r--core/l10n/es_MX.json11
-rw-r--r--core/l10n/eu.js15
-rw-r--r--core/l10n/eu.json15
-rw-r--r--core/l10n/fi.js4
-rw-r--r--core/l10n/fi.json4
-rw-r--r--core/l10n/fr.js11
-rw-r--r--core/l10n/fr.json11
-rw-r--r--core/l10n/hu.js4
-rw-r--r--core/l10n/hu.json4
-rw-r--r--core/l10n/id.js4
-rw-r--r--core/l10n/id.json4
-rw-r--r--core/l10n/is.js17
-rw-r--r--core/l10n/is.json17
-rw-r--r--core/l10n/it.js4
-rw-r--r--core/l10n/it.json4
-rw-r--r--core/l10n/ja.js4
-rw-r--r--core/l10n/ja.json4
-rw-r--r--core/l10n/ko.js4
-rw-r--r--core/l10n/ko.json4
-rw-r--r--core/l10n/nb.js10
-rw-r--r--core/l10n/nb.json10
-rw-r--r--core/l10n/nl.js11
-rw-r--r--core/l10n/nl.json11
-rw-r--r--core/l10n/pl.js9
-rw-r--r--core/l10n/pl.json9
-rw-r--r--core/l10n/pt_BR.js11
-rw-r--r--core/l10n/pt_BR.json11
-rw-r--r--core/l10n/pt_PT.js4
-rw-r--r--core/l10n/pt_PT.json4
-rw-r--r--core/l10n/ro.js4
-rw-r--r--core/l10n/ro.json4
-rw-r--r--core/l10n/ru.js11
-rw-r--r--core/l10n/ru.json11
-rw-r--r--core/l10n/sk.js4
-rw-r--r--core/l10n/sk.json4
-rw-r--r--core/l10n/sl.js256
-rw-r--r--core/l10n/sl.json254
-rw-r--r--core/l10n/sq.js12
-rw-r--r--core/l10n/sq.json12
-rw-r--r--core/l10n/sv.js4
-rw-r--r--core/l10n/sv.json4
-rw-r--r--core/l10n/tr.js21
-rw-r--r--core/l10n/tr.json21
-rw-r--r--core/l10n/zh_CN.js18
-rw-r--r--core/l10n/zh_CN.json18
-rw-r--r--core/l10n/zh_TW.js257
-rw-r--r--core/l10n/zh_TW.json255
-rw-r--r--core/shipped.json1
-rw-r--r--core/templates/loginflow/authpicker.php4
-rw-r--r--core/templates/loginflow/redirect.php2
-rw-r--r--core/templates/update.use-cli.php11
-rw-r--r--core/vendor/DOMPurify/.bower.json8
-rw-r--r--core/vendor/DOMPurify/dist/purify.min.js2
-rw-r--r--db_structure.xml8
-rw-r--r--lib/base.php35
-rw-r--r--lib/composer/composer/autoload_classmap.php4
-rw-r--r--lib/composer/composer/autoload_static.php4
-rw-r--r--lib/l10n/ast.js188
-rw-r--r--lib/l10n/ast.json186
-rw-r--r--lib/l10n/cs.js4
-rw-r--r--lib/l10n/cs.json4
-rw-r--r--lib/l10n/de.js8
-rw-r--r--lib/l10n/de.json8
-rw-r--r--lib/l10n/de_DE.js8
-rw-r--r--lib/l10n/de_DE.json8
-rw-r--r--lib/l10n/el.js9
-rw-r--r--lib/l10n/el.json9
-rw-r--r--lib/l10n/es.js4
-rw-r--r--lib/l10n/es.json4
-rw-r--r--lib/l10n/es_MX.js8
-rw-r--r--lib/l10n/es_MX.json8
-rw-r--r--lib/l10n/fi.js4
-rw-r--r--lib/l10n/fi.json4
-rw-r--r--lib/l10n/fr.js10
-rw-r--r--lib/l10n/fr.json10
-rw-r--r--lib/l10n/he.js2
-rw-r--r--lib/l10n/he.json2
-rw-r--r--lib/l10n/hu.js4
-rw-r--r--lib/l10n/hu.json4
-rw-r--r--lib/l10n/is.js15
-rw-r--r--lib/l10n/is.json15
-rw-r--r--lib/l10n/it.js4
-rw-r--r--lib/l10n/it.json4
-rw-r--r--lib/l10n/ja.js4
-rw-r--r--lib/l10n/ja.json4
-rw-r--r--lib/l10n/ko.js4
-rw-r--r--lib/l10n/ko.json4
-rw-r--r--lib/l10n/nb.js6
-rw-r--r--lib/l10n/nb.json6
-rw-r--r--lib/l10n/nl.js14
-rw-r--r--lib/l10n/nl.json14
-rw-r--r--lib/l10n/pl.js5
-rw-r--r--lib/l10n/pl.json5
-rw-r--r--lib/l10n/pt_BR.js8
-rw-r--r--lib/l10n/pt_BR.json8
-rw-r--r--lib/l10n/ru.js38
-rw-r--r--lib/l10n/ru.json38
-rw-r--r--lib/l10n/sk.js4
-rw-r--r--lib/l10n/sk.json4
-rw-r--r--lib/l10n/sq.js4
-rw-r--r--lib/l10n/sq.json4
-rw-r--r--lib/l10n/sv.js4
-rw-r--r--lib/l10n/sv.json4
-rw-r--r--lib/l10n/tr.js12
-rw-r--r--lib/l10n/tr.json12
-rw-r--r--lib/l10n/zh_CN.js12
-rw-r--r--lib/l10n/zh_CN.json12
-rw-r--r--lib/l10n/zh_TW.js4
-rw-r--r--lib/l10n/zh_TW.json4
-rw-r--r--lib/private/Accounts/AccountManager.php13
-rw-r--r--lib/private/App/AppStore/Fetcher/AppFetcher.php18
-rw-r--r--lib/private/App/AppStore/Fetcher/CategoryFetcher.php16
-rw-r--r--lib/private/App/AppStore/Fetcher/Fetcher.php23
-rw-r--r--lib/private/App/CodeChecker/DatabaseSchemaChecker.php105
-rw-r--r--lib/private/App/CodeChecker/LanguageParseChecker.php60
-rw-r--r--lib/private/AppFramework/DependencyInjection/DIContainer.php2
-rw-r--r--lib/private/AppFramework/Http/Request.php2
-rw-r--r--lib/private/AppFramework/Middleware/Security/SecurityMiddleware.php11
-rw-r--r--lib/private/Authentication/Token/DefaultTokenMapper.php12
-rw-r--r--lib/private/Files/Type/Loader.php15
-rw-r--r--lib/private/Installer.php28
-rw-r--r--lib/private/Memcache/Redis.php10
-rw-r--r--lib/private/Repair.php3
-rw-r--r--lib/private/Repair/NC11/MoveAvatarsBackgroundJob.php72
-rw-r--r--lib/private/Repair/Owncloud/SaveAccountsTableData.php176
-rw-r--r--lib/private/Route/Router.php2
-rw-r--r--lib/private/Security/IdentityProof/Manager.php7
-rw-r--r--lib/private/Server.php28
-rw-r--r--lib/private/Share/Share.php2
-rw-r--r--lib/private/Template/JSCombiner.php6
-rw-r--r--lib/private/Updater.php30
-rw-r--r--lib/private/User/Session.php12
-rw-r--r--lib/private/User/User.php5
-rw-r--r--lib/private/legacy/app.php29
-rw-r--r--lib/private/legacy/helper.php2
-rw-r--r--lib/private/legacy/util.php47
-rw-r--r--lib/public/Authentication/Exceptions/PasswordUnavailableException.php34
-rw-r--r--lib/public/Authentication/LoginCredentials/ICredentials.php3
-rw-r--r--lib/public/ILogger.php2
-rw-r--r--settings/Application.php22
-rw-r--r--settings/ajax/installapp.php52
-rw-r--r--settings/css/settings.css6
-rw-r--r--settings/l10n/ar.js4
-rw-r--r--settings/l10n/ar.json4
-rw-r--r--settings/l10n/ast.js143
-rw-r--r--settings/l10n/ast.json143
-rw-r--r--settings/l10n/az.js10
-rw-r--r--settings/l10n/az.json10
-rw-r--r--settings/l10n/bg.js10
-rw-r--r--settings/l10n/bg.json10
-rw-r--r--settings/l10n/bs.js6
-rw-r--r--settings/l10n/bs.json6
-rw-r--r--settings/l10n/ca.js10
-rw-r--r--settings/l10n/ca.json10
-rw-r--r--settings/l10n/cs.js10
-rw-r--r--settings/l10n/cs.json10
-rw-r--r--settings/l10n/da.js10
-rw-r--r--settings/l10n/da.json10
-rw-r--r--settings/l10n/de.js10
-rw-r--r--settings/l10n/de.json10
-rw-r--r--settings/l10n/de_DE.js10
-rw-r--r--settings/l10n/de_DE.json10
-rw-r--r--settings/l10n/el.js18
-rw-r--r--settings/l10n/el.json18
-rw-r--r--settings/l10n/en_GB.js10
-rw-r--r--settings/l10n/en_GB.json10
-rw-r--r--settings/l10n/eo.js2
-rw-r--r--settings/l10n/eo.json2
-rw-r--r--settings/l10n/es.js10
-rw-r--r--settings/l10n/es.json10
-rw-r--r--settings/l10n/es_AR.js2
-rw-r--r--settings/l10n/es_AR.json2
-rw-r--r--settings/l10n/es_MX.js10
-rw-r--r--settings/l10n/es_MX.json10
-rw-r--r--settings/l10n/et_EE.js10
-rw-r--r--settings/l10n/et_EE.json10
-rw-r--r--settings/l10n/eu.js10
-rw-r--r--settings/l10n/eu.json10
-rw-r--r--settings/l10n/fa.js4
-rw-r--r--settings/l10n/fa.json4
-rw-r--r--settings/l10n/fi.js13
-rw-r--r--settings/l10n/fi.json13
-rw-r--r--settings/l10n/fr.js10
-rw-r--r--settings/l10n/fr.json10
-rw-r--r--settings/l10n/gl.js10
-rw-r--r--settings/l10n/gl.json10
-rw-r--r--settings/l10n/he.js10
-rw-r--r--settings/l10n/he.json10
-rw-r--r--settings/l10n/hr.js6
-rw-r--r--settings/l10n/hr.json6
-rw-r--r--settings/l10n/hu.js10
-rw-r--r--settings/l10n/hu.json10
-rw-r--r--settings/l10n/ia.js2
-rw-r--r--settings/l10n/ia.json2
-rw-r--r--settings/l10n/id.js10
-rw-r--r--settings/l10n/id.json10
-rw-r--r--settings/l10n/is.js43
-rw-r--r--settings/l10n/is.json43
-rw-r--r--settings/l10n/it.js10
-rw-r--r--settings/l10n/it.json10
-rw-r--r--settings/l10n/ja.js10
-rw-r--r--settings/l10n/ja.json10
-rw-r--r--settings/l10n/ka_GE.js4
-rw-r--r--settings/l10n/ka_GE.json4
-rw-r--r--settings/l10n/km.js4
-rw-r--r--settings/l10n/km.json4
-rw-r--r--settings/l10n/ko.js10
-rw-r--r--settings/l10n/ko.json10
-rw-r--r--settings/l10n/lb.js2
-rw-r--r--settings/l10n/lb.json2
-rw-r--r--settings/l10n/lt_LT.js25
-rw-r--r--settings/l10n/lt_LT.json25
-rw-r--r--settings/l10n/lv.js2
-rw-r--r--settings/l10n/lv.json2
-rw-r--r--settings/l10n/mk.js2
-rw-r--r--settings/l10n/mk.json2
-rw-r--r--settings/l10n/nb.js16
-rw-r--r--settings/l10n/nb.json16
-rw-r--r--settings/l10n/nl.js12
-rw-r--r--settings/l10n/nl.json12
-rw-r--r--settings/l10n/nn_NO.js4
-rw-r--r--settings/l10n/nn_NO.json4
-rw-r--r--settings/l10n/pl.js13
-rw-r--r--settings/l10n/pl.json13
-rw-r--r--settings/l10n/pt_BR.js10
-rw-r--r--settings/l10n/pt_BR.json10
-rw-r--r--settings/l10n/pt_PT.js10
-rw-r--r--settings/l10n/pt_PT.json10
-rw-r--r--settings/l10n/ro.js2
-rw-r--r--settings/l10n/ro.json2
-rw-r--r--settings/l10n/ru.js10
-rw-r--r--settings/l10n/ru.json10
-rw-r--r--settings/l10n/sk.js10
-rw-r--r--settings/l10n/sk.json10
-rw-r--r--settings/l10n/sl.js10
-rw-r--r--settings/l10n/sl.json10
-rw-r--r--settings/l10n/sq.js13
-rw-r--r--settings/l10n/sq.json13
-rw-r--r--settings/l10n/sr.js10
-rw-r--r--settings/l10n/sr.json10
-rw-r--r--settings/l10n/sv.js10
-rw-r--r--settings/l10n/sv.json10
-rw-r--r--settings/l10n/th.js10
-rw-r--r--settings/l10n/th.json10
-rw-r--r--settings/l10n/tr.js18
-rw-r--r--settings/l10n/tr.json18
-rw-r--r--settings/l10n/uk.js10
-rw-r--r--settings/l10n/uk.json10
-rw-r--r--settings/l10n/vi.js2
-rw-r--r--settings/l10n/vi.json2
-rw-r--r--settings/l10n/zh_CN.js80
-rw-r--r--settings/l10n/zh_CN.json80
-rw-r--r--settings/l10n/zh_TW.js10
-rw-r--r--settings/l10n/zh_TW.json10
-rw-r--r--settings/personal.php2
-rw-r--r--settings/templates/admin/server.php10
-rw-r--r--tests/Core/Controller/ClientFlowLoginControllerTest.php200
-rw-r--r--tests/Core/Controller/CssControllerTest.php13
-rw-r--r--tests/Core/Controller/JsControllerTest.php10
-rw-r--r--tests/Core/Controller/LostControllerTest.php22
-rw-r--r--tests/lib/App/AppStore/Fetcher/AppFetcherTest.php16
-rw-r--r--tests/lib/App/AppStore/Fetcher/CategoryFetcherTest.php7
-rw-r--r--tests/lib/App/AppStore/Fetcher/FetcherBase.php18
-rw-r--r--tests/lib/Authentication/Token/DefaultTokenMapperTest.php15
-rw-r--r--tests/lib/HelperStorageTest.php6
-rw-r--r--tests/lib/Security/IdentityProof/ManagerTest.php17
-rw-r--r--tests/lib/User/SessionTest.php2
-rw-r--r--tests/phpunit-autotest.xml1
-rw-r--r--tests/redis-cluster.config.php20
-rw-r--r--version.php5
568 files changed, 6568 insertions, 3695 deletions
diff --git a/.drone.yml b/.drone.yml
index e5fda39f4ee..11458a30398 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -15,18 +15,7 @@ pipeline:
checkers:
image: nextcloudci/php7.0:php7.0-7
commands:
- - bash ./build/autoloaderchecker.sh
- - bash ./build/mergejschecker.sh
- - php ./build/signed-off-checker.php
- - php ./build/translation-checker.php
- - php ./build/htaccess-checker.php
- - ./occ app:check-code admin_audit
- - ./occ app:check-code comments
- - ./occ app:check-code federation
- - ./occ app:check-code sharebymail
- - ./occ app:check-code systemtags
- - ./occ app:check-code theming
- - ./occ app:check-code workflowengine
+ - ./autotest-checkers.sh
when:
matrix:
TESTS: checkers
@@ -526,6 +515,17 @@ pipeline:
when:
matrix:
TEST: memcache-memcached
+ memcache-redis-cluster:
+ image: nextcloudci/php7.0:php7.0-7
+ commands:
+ - sleep 10
+ - ./autotest.sh sqlite tests/lib/Memcache/RedisTest.php
+ - wget https://codecov.io/bash -O codecov.sh
+ - sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
+ - sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
+ when:
+ matrix:
+ TEST: memcache-redis-cluster
matrix:
include:
- TESTS: checkers
@@ -582,6 +582,8 @@ matrix:
- TESTS: sqlite-php7.0-samba-native
- TESTS: sqlite-php7.0-samba-non-native
- TEST: memcache-memcached
+ - TEST: memcache-redis-cluster
+ ENABLE_REDIS_CLUSTER: true
- TESTS: sqlite-php7.0-webdav-apache
ENABLE_REDIS: true
- DB: NODB
@@ -618,6 +620,11 @@ services:
when:
matrix:
ENABLE_REDIS: true
+ cache-cluster:
+ image: grokzen/redis-cluster
+ when:
+ matrix:
+ ENABLE_REDIS_CLUSTER: true
postgres:
image: postgres
environment:
diff --git a/.gitignore b/.gitignore
index 6a8e6723376..9d9f09c2da9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,6 +24,7 @@
!/apps/files_versions
!/apps/lookup_server_connector
!/apps/user_ldap
+!/apps/oauth2
!/apps/provisioning_api
!/apps/systemtags
!/apps/testing
diff --git a/.mention-bot b/.mention-bot
index 69dbe9b8899..1f4e6f911f7 100644
--- a/.mention-bot
+++ b/.mention-bot
@@ -25,6 +25,10 @@
"PVince81",
"scrutinizer-auto-fixer",
"th3fallen",
- "zander"
- ]
+ "zander",
+ "luckydonald",
+ "jancborchardt"
+ ],
+ "createReviewRequest": true,
+ "createComment": false
}
diff --git a/apps/comments/css/comments.css b/apps/comments/css/comments.css
index 2d794d52708..8423151cac8 100644
--- a/apps/comments/css/comments.css
+++ b/apps/comments/css/comments.css
@@ -114,6 +114,7 @@
#commentsTabView .comments li .message .avatar-name-wrapper,
#commentsTabView .comment .authorRow {
position: relative;
+ cursor: pointer;
}
#commentsTabView .comment .author,
diff --git a/apps/dav/appinfo/v1/publicwebdav.php b/apps/dav/appinfo/v1/publicwebdav.php
index 95fb71032d5..3ef1c2e62a5 100644
--- a/apps/dav/appinfo/v1/publicwebdav.php
+++ b/apps/dav/appinfo/v1/publicwebdav.php
@@ -42,6 +42,7 @@ $authBackend = new OCA\DAV\Connector\PublicAuth(
\OC::$server->getShareManager(),
\OC::$server->getSession()
);
+$authPlugin = new \Sabre\DAV\Auth\Plugin($authBackend);
$serverFactory = new OCA\DAV\Connector\Sabre\ServerFactory(
\OC::$server->getConfig(),
@@ -59,7 +60,7 @@ $requestUri = \OC::$server->getRequest()->getRequestUri();
$linkCheckPlugin = new \OCA\DAV\Files\Sharing\PublicLinkCheckPlugin();
$filesDropPlugin = new \OCA\DAV\Files\Sharing\FilesDropPlugin();
-$server = $serverFactory->createServer($baseuri, $requestUri, $authBackend, function (\Sabre\DAV\Server $server) use ($authBackend, $linkCheckPlugin, $filesDropPlugin) {
+$server = $serverFactory->createServer($baseuri, $requestUri, $authPlugin, function (\Sabre\DAV\Server $server) use ($authBackend, $linkCheckPlugin, $filesDropPlugin) {
$isAjax = (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest');
$federatedSharingApp = new \OCA\FederatedFileSharing\AppInfo\Application();
$federatedShareProvider = $federatedSharingApp->getFederatedShareProvider();
diff --git a/apps/dav/appinfo/v1/webdav.php b/apps/dav/appinfo/v1/webdav.php
index 32f93b27760..a1ad4ab489d 100644
--- a/apps/dav/appinfo/v1/webdav.php
+++ b/apps/dav/appinfo/v1/webdav.php
@@ -52,9 +52,17 @@ $authBackend = new \OCA\DAV\Connector\Sabre\Auth(
\OC::$server->getBruteForceThrottler(),
'principals/'
);
+$authPlugin = new \Sabre\DAV\Auth\Plugin($authBackend);
+$bearerAuthPlugin = new \OCA\DAV\Connector\Sabre\BearerAuth(
+ \OC::$server->getUserSession(),
+ \OC::$server->getSession(),
+ \OC::$server->getRequest()
+);
+$authPlugin->addBackend($bearerAuthPlugin);
+
$requestUri = \OC::$server->getRequest()->getRequestUri();
-$server = $serverFactory->createServer($baseuri, $requestUri, $authBackend, function() {
+$server = $serverFactory->createServer($baseuri, $requestUri, $authPlugin, function() {
// use the view for the logged in user
return \OC\Files\Filesystem::getView();
});
diff --git a/apps/dav/l10n/is.js b/apps/dav/l10n/is.js
index 79b4275068a..b385c6200a5 100644
--- a/apps/dav/l10n/is.js
+++ b/apps/dav/l10n/is.js
@@ -42,6 +42,7 @@ OC.L10N.register(
"Contact birthdays" : "Afmælisdagar tengiliðar",
"Personal" : "Einka",
"Contacts" : "Tengiliðir",
+ "WebDAV" : "WebDAV",
"Technical details" : "Tæknilegar upplýsingar",
"Remote Address: %s" : "Fjartengt vistfang: %s",
"Request ID: %s" : "Beiðni um auðkenni: %s"
diff --git a/apps/dav/l10n/is.json b/apps/dav/l10n/is.json
index aba5a88917f..1433801c085 100644
--- a/apps/dav/l10n/is.json
+++ b/apps/dav/l10n/is.json
@@ -40,6 +40,7 @@
"Contact birthdays" : "Afmælisdagar tengiliðar",
"Personal" : "Einka",
"Contacts" : "Tengiliðir",
+ "WebDAV" : "WebDAV",
"Technical details" : "Tæknilegar upplýsingar",
"Remote Address: %s" : "Fjartengt vistfang: %s",
"Request ID: %s" : "Beiðni um auðkenni: %s"
diff --git a/apps/dav/l10n/lt_LT.js b/apps/dav/l10n/lt_LT.js
index 7fc97309154..7b8d0511aa5 100644
--- a/apps/dav/l10n/lt_LT.js
+++ b/apps/dav/l10n/lt_LT.js
@@ -42,6 +42,7 @@ OC.L10N.register(
"Contact birthdays" : "Kontaktų gimtadieniai",
"Personal" : "Asmeniniai",
"Contacts" : "Kontaktai",
+ "WebDAV" : "WebDAV",
"Technical details" : "Techninė informacija",
"Remote Address: %s" : "Nuotolinis adresas: %s",
"Request ID: %s" : "Užklausos ID: %s"
diff --git a/apps/dav/l10n/lt_LT.json b/apps/dav/l10n/lt_LT.json
index e328eef4362..043768d447a 100644
--- a/apps/dav/l10n/lt_LT.json
+++ b/apps/dav/l10n/lt_LT.json
@@ -40,6 +40,7 @@
"Contact birthdays" : "Kontaktų gimtadieniai",
"Personal" : "Asmeniniai",
"Contacts" : "Kontaktai",
+ "WebDAV" : "WebDAV",
"Technical details" : "Techninė informacija",
"Remote Address: %s" : "Nuotolinis adresas: %s",
"Request ID: %s" : "Užklausos ID: %s"
diff --git a/apps/dav/l10n/nb.js b/apps/dav/l10n/nb.js
index 364f305189d..ae4959ba0df 100644
--- a/apps/dav/l10n/nb.js
+++ b/apps/dav/l10n/nb.js
@@ -24,17 +24,17 @@ OC.L10N.register(
"You created event {event} in calendar {calendar}" : "Du opprettet en hendelse {event} i kalenderen {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} slettet hendelsen {event} fra kalenderen {calendar}",
"You deleted event {event} from calendar {calendar}" : "Du slettet hendelsen {event} fra kalenderen {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} oppdaterte hendelse {event} i kalenderen {calendar}",
- "You updated event {event} in calendar {calendar}" : "Du oppdaterte hendelse {event} i kalenderen {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} opprettet en oppgave {todo} i listen {calendar}",
+ "{actor} updated event {event} in calendar {calendar}" : "{actor} oppdaterte hendelsen {event} i kalenderen {calendar}",
+ "You updated event {event} in calendar {calendar}" : "Du oppdaterte hendelsen {event} i kalenderen {calendar}",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} opprettet en oppgaven {todo} i listen {calendar}",
"You created todo {todo} in list {calendar}" : "Du opprettet en oppgave {todo} i listen {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettet en oppgave {todo} fra listen {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du slettet en oppgave {todo} fra listen {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte en oppgave {todo} i listen {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du oppdaterte en oppgave {todo} i listen {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} ferdigstilte oppgaven {todo} i listen {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du ferdigstilte oppgaven {todo} i listen {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} gjenåpnet oppgaven {todo} i listen {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettet gjøremålet {todo} fra listen {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du slettet gjøremålet {todo} fra listen {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte gjøremålet {todo} i listen {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du oppdaterte gjøremålet {todo} i listen {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} ferdigstilte gjøremålet {todo} i listen {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du ferdigstilte gjøremålet {todo} i listen {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} gjenåpnet gjøremålet {todo} i listen {calendar}",
"You reopened todo {todo} in list {calendar}" : "Du gjenåpnet oppgaven {todo} i listen {calendar}",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> ble endret",
"A calendar <strong>event</strong> was modified" : "En kalender <strong>hendelse</strong> ble endret",
diff --git a/apps/dav/l10n/nb.json b/apps/dav/l10n/nb.json
index 3725ba697fa..81fcad6f830 100644
--- a/apps/dav/l10n/nb.json
+++ b/apps/dav/l10n/nb.json
@@ -22,17 +22,17 @@
"You created event {event} in calendar {calendar}" : "Du opprettet en hendelse {event} i kalenderen {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} slettet hendelsen {event} fra kalenderen {calendar}",
"You deleted event {event} from calendar {calendar}" : "Du slettet hendelsen {event} fra kalenderen {calendar}",
- "{actor} updated event {event} in calendar {calendar}" : "{actor} oppdaterte hendelse {event} i kalenderen {calendar}",
- "You updated event {event} in calendar {calendar}" : "Du oppdaterte hendelse {event} i kalenderen {calendar}",
- "{actor} created todo {todo} in list {calendar}" : "{actor} opprettet en oppgave {todo} i listen {calendar}",
+ "{actor} updated event {event} in calendar {calendar}" : "{actor} oppdaterte hendelsen {event} i kalenderen {calendar}",
+ "You updated event {event} in calendar {calendar}" : "Du oppdaterte hendelsen {event} i kalenderen {calendar}",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} opprettet en oppgaven {todo} i listen {calendar}",
"You created todo {todo} in list {calendar}" : "Du opprettet en oppgave {todo} i listen {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettet en oppgave {todo} fra listen {calendar}",
- "You deleted todo {todo} from list {calendar}" : "Du slettet en oppgave {todo} fra listen {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte en oppgave {todo} i listen {calendar}",
- "You updated todo {todo} in list {calendar}" : "Du oppdaterte en oppgave {todo} i listen {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} ferdigstilte oppgaven {todo} i listen {calendar}",
- "You solved todo {todo} in list {calendar}" : "Du ferdigstilte oppgaven {todo} i listen {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} gjenåpnet oppgaven {todo} i listen {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} slettet gjøremålet {todo} fra listen {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Du slettet gjøremålet {todo} fra listen {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} oppdaterte gjøremålet {todo} i listen {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Du oppdaterte gjøremålet {todo} i listen {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} ferdigstilte gjøremålet {todo} i listen {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Du ferdigstilte gjøremålet {todo} i listen {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} gjenåpnet gjøremålet {todo} i listen {calendar}",
"You reopened todo {todo} in list {calendar}" : "Du gjenåpnet oppgaven {todo} i listen {calendar}",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> ble endret",
"A calendar <strong>event</strong> was modified" : "En kalender <strong>hendelse</strong> ble endret",
diff --git a/apps/dav/l10n/nl.js b/apps/dav/l10n/nl.js
index 15ad9285bd1..253b1ea748e 100644
--- a/apps/dav/l10n/nl.js
+++ b/apps/dav/l10n/nl.js
@@ -42,6 +42,7 @@ OC.L10N.register(
"Contact birthdays" : "Verjaardagen",
"Personal" : "Persoonlijk",
"Contacts" : "Contactpersonen",
+ "WebDAV" : "WebDAV",
"Technical details" : "Technische details",
"Remote Address: %s" : "Extern adres: %s",
"Request ID: %s" : "Aanvraag-ID: %s"
diff --git a/apps/dav/l10n/nl.json b/apps/dav/l10n/nl.json
index e3a4071be02..8efc07f520d 100644
--- a/apps/dav/l10n/nl.json
+++ b/apps/dav/l10n/nl.json
@@ -40,6 +40,7 @@
"Contact birthdays" : "Verjaardagen",
"Personal" : "Persoonlijk",
"Contacts" : "Contactpersonen",
+ "WebDAV" : "WebDAV",
"Technical details" : "Technische details",
"Remote Address: %s" : "Extern adres: %s",
"Request ID: %s" : "Aanvraag-ID: %s"
diff --git a/apps/dav/l10n/pl.js b/apps/dav/l10n/pl.js
index e07afbb5528..f06a95e749b 100644
--- a/apps/dav/l10n/pl.js
+++ b/apps/dav/l10n/pl.js
@@ -42,6 +42,7 @@ OC.L10N.register(
"Contact birthdays" : "Urodziny kontaktu",
"Personal" : "Osobiste",
"Contacts" : "Kontakty",
+ "WebDAV" : "WebDAV",
"Technical details" : "Szczegóły techniczne",
"Remote Address: %s" : "Adres zdalny: %s",
"Request ID: %s" : "ID żądania: %s"
diff --git a/apps/dav/l10n/pl.json b/apps/dav/l10n/pl.json
index 2409315f341..b75bf49b381 100644
--- a/apps/dav/l10n/pl.json
+++ b/apps/dav/l10n/pl.json
@@ -40,6 +40,7 @@
"Contact birthdays" : "Urodziny kontaktu",
"Personal" : "Osobiste",
"Contacts" : "Kontakty",
+ "WebDAV" : "WebDAV",
"Technical details" : "Szczegóły techniczne",
"Remote Address: %s" : "Adres zdalny: %s",
"Request ID: %s" : "ID żądania: %s"
diff --git a/apps/dav/l10n/sk.js b/apps/dav/l10n/sk.js
index aa3cf120eca..1f45f9c65e8 100644
--- a/apps/dav/l10n/sk.js
+++ b/apps/dav/l10n/sk.js
@@ -2,6 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendár",
+ "Todos" : "Úlohy",
"{actor} created calendar {calendar}" : "[actor] vytvoril kalendár [calendar]",
"You created calendar {calendar}" : "Vytvorili ste kalendár [calendar]",
"{actor} deleted calendar {calendar}" : "[actor] zmazal kalendár [calendar]",
@@ -25,12 +26,23 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Zmazali ste udalosť [event] z kalendára [calendar]",
"{actor} updated event {event} in calendar {calendar}" : "{actor} aktualizoval udalosť {event} v kalendári {calendar}",
"You updated event {event} in calendar {calendar}" : "Aktualizovali ste udalosť {event} v kalendári {calendar}",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} vytvoril úlohu {todo} v {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vytvorili ste úlohu {todo} v {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} zmazal úlohu {todo} z {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Zmazali ste úlohu {todo} z {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} upravil úlohu {todo} v {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Upravili ste úlohu {todo} v {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} vyriešil úlohu {todo} v {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vyriešili ste úlohu {todo} v {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otvoril úlohu {todo} v {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Otvorili ste znovu úlohu {todo} v {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>kalendár</strong> bol upravený",
"A calendar <strong>event</strong> was modified" : "<strong>Udalosť</strong> v kalendári bola upravená",
"A calendar <strong>todo</strong> was modified" : "<>",
"Contact birthdays" : "Narodeniny kontaktu",
"Personal" : "Osobné",
"Contacts" : "Kontakty",
+ "WebDAV" : "WebDAV",
"Technical details" : "Technické podrobnosti",
"Remote Address: %s" : "Vzdialená adresa: %s",
"Request ID: %s" : "ID požiadavky: %s"
diff --git a/apps/dav/l10n/sk.json b/apps/dav/l10n/sk.json
index c2cfae27b39..ea0afeec562 100644
--- a/apps/dav/l10n/sk.json
+++ b/apps/dav/l10n/sk.json
@@ -1,5 +1,6 @@
{ "translations": {
"Calendar" : "Kalendár",
+ "Todos" : "Úlohy",
"{actor} created calendar {calendar}" : "[actor] vytvoril kalendár [calendar]",
"You created calendar {calendar}" : "Vytvorili ste kalendár [calendar]",
"{actor} deleted calendar {calendar}" : "[actor] zmazal kalendár [calendar]",
@@ -23,12 +24,23 @@
"You deleted event {event} from calendar {calendar}" : "Zmazali ste udalosť [event] z kalendára [calendar]",
"{actor} updated event {event} in calendar {calendar}" : "{actor} aktualizoval udalosť {event} v kalendári {calendar}",
"You updated event {event} in calendar {calendar}" : "Aktualizovali ste udalosť {event} v kalendári {calendar}",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} vytvoril úlohu {todo} v {calendar}",
+ "You created todo {todo} in list {calendar}" : "Vytvorili ste úlohu {todo} v {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} zmazal úlohu {todo} z {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Zmazali ste úlohu {todo} z {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} upravil úlohu {todo} v {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Upravili ste úlohu {todo} v {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} vyriešil úlohu {todo} v {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Vyriešili ste úlohu {todo} v {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} znovu otvoril úlohu {todo} v {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Otvorili ste znovu úlohu {todo} v {calendar}",
"A <strong>calendar</strong> was modified" : "<strong>kalendár</strong> bol upravený",
"A calendar <strong>event</strong> was modified" : "<strong>Udalosť</strong> v kalendári bola upravená",
"A calendar <strong>todo</strong> was modified" : "<>",
"Contact birthdays" : "Narodeniny kontaktu",
"Personal" : "Osobné",
"Contacts" : "Kontakty",
+ "WebDAV" : "WebDAV",
"Technical details" : "Technické podrobnosti",
"Remote Address: %s" : "Vzdialená adresa: %s",
"Request ID: %s" : "ID požiadavky: %s"
diff --git a/apps/dav/l10n/sq.js b/apps/dav/l10n/sq.js
index 6a683d01712..6138da04169 100644
--- a/apps/dav/l10n/sq.js
+++ b/apps/dav/l10n/sq.js
@@ -2,6 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalendar",
+ "Todos" : "Për tu bërë",
"{actor} created calendar {calendar}" : "{actor} krijoj kalendarin {calendar}",
"You created calendar {calendar}" : "Ju krijuat kalendarin {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} fshiu kalendarin {calendar}",
diff --git a/apps/dav/l10n/sq.json b/apps/dav/l10n/sq.json
index f5a98e8845c..27a36bbff81 100644
--- a/apps/dav/l10n/sq.json
+++ b/apps/dav/l10n/sq.json
@@ -1,5 +1,6 @@
{ "translations": {
"Calendar" : "Kalendar",
+ "Todos" : "Për tu bërë",
"{actor} created calendar {calendar}" : "{actor} krijoj kalendarin {calendar}",
"You created calendar {calendar}" : "Ju krijuat kalendarin {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} fshiu kalendarin {calendar}",
diff --git a/apps/dav/l10n/zh_CN.js b/apps/dav/l10n/zh_CN.js
index ab25f50f4d6..9239d47ab5c 100644
--- a/apps/dav/l10n/zh_CN.js
+++ b/apps/dav/l10n/zh_CN.js
@@ -42,6 +42,7 @@ OC.L10N.register(
"Contact birthdays" : "联系人生日",
"Personal" : "个人",
"Contacts" : "联系人",
+ "WebDAV" : "WebDAV",
"Technical details" : "技术细节",
"Remote Address: %s" : "远程地址: %s",
"Request ID: %s" : "请求 ID: %s"
diff --git a/apps/dav/l10n/zh_CN.json b/apps/dav/l10n/zh_CN.json
index 1dd7fde8c00..10be90a6128 100644
--- a/apps/dav/l10n/zh_CN.json
+++ b/apps/dav/l10n/zh_CN.json
@@ -40,6 +40,7 @@
"Contact birthdays" : "联系人生日",
"Personal" : "个人",
"Contacts" : "联系人",
+ "WebDAV" : "WebDAV",
"Technical details" : "技术细节",
"Remote Address: %s" : "远程地址: %s",
"Request ID: %s" : "请求 ID: %s"
diff --git a/apps/dav/lib/Connector/Sabre/Auth.php b/apps/dav/lib/Connector/Sabre/Auth.php
index bdaf73d46e7..9147e79594c 100644
--- a/apps/dav/lib/Connector/Sabre/Auth.php
+++ b/apps/dav/lib/Connector/Sabre/Auth.php
@@ -210,6 +210,7 @@ class Auth extends AbstractBasic {
*/
private function auth(RequestInterface $request, ResponseInterface $response) {
$forcedLogout = false;
+
if(!$this->request->passesCSRFCheck() &&
$this->requiresCSRFCheck()) {
// In case of a fail with POST we need to recheck the credentials
diff --git a/apps/dav/lib/Connector/Sabre/BearerAuth.php b/apps/dav/lib/Connector/Sabre/BearerAuth.php
new file mode 100644
index 00000000000..f0e0f389c33
--- /dev/null
+++ b/apps/dav/lib/Connector/Sabre/BearerAuth.php
@@ -0,0 +1,80 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\DAV\Connector\Sabre;
+
+use OCP\IRequest;
+use OCP\ISession;
+use OCP\IUserSession;
+use Sabre\DAV\Auth\Backend\AbstractBearer;
+
+class BearerAuth extends AbstractBearer {
+ /** @var IUserSession */
+ private $userSession;
+ /** @var ISession */
+ private $session;
+ /** @var IRequest */
+ private $request;
+ /** @var string */
+ private $principalPrefix;
+
+ /**
+ * @param IUserSession $userSession
+ * @param ISession $session
+ * @param string $principalPrefix
+ * @param IRequest $request
+ */
+ public function __construct(IUserSession $userSession,
+ ISession $session,
+ IRequest $request,
+ $principalPrefix = 'principals/users/') {
+ $this->userSession = $userSession;
+ $this->session = $session;
+ $this->request = $request;
+ $this->principalPrefix = $principalPrefix;
+
+ // setup realm
+ $defaults = new \OCP\Defaults();
+ $this->realm = $defaults->getName();
+ }
+
+ private function setupUserFs($userId) {
+ \OC_Util::setupFS($userId);
+ $this->session->close();
+ return $this->principalPrefix . $userId;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function validateBearerToken($bearerToken) {
+ \OC_Util::setupFS();
+
+ if(!$this->userSession->isLoggedIn()) {
+ $this->userSession->tryTokenLogin($this->request);
+ }
+ if($this->userSession->isLoggedIn()) {
+ return $this->setupUserFs($this->userSession->getUser()->getUID());
+ }
+
+ return false;
+ }
+}
diff --git a/apps/dav/lib/Connector/Sabre/File.php b/apps/dav/lib/Connector/Sabre/File.php
index 25c455a1bb7..7a8bdb1da75 100644
--- a/apps/dav/lib/Connector/Sabre/File.php
+++ b/apps/dav/lib/Connector/Sabre/File.php
@@ -517,7 +517,6 @@ class File extends Node implements IFile {
// TODO: in the future use ChunkHandler provided by storage
return !$storage->instanceOfStorage('OCA\Files_Sharing\External\Storage') &&
!$storage->instanceOfStorage('OC\Files\Storage\OwnCloud') &&
- !$storage->instanceOfStorage('OC\Files\ObjectStore\ObjectStoreStorage') &&
$storage->needsPartFile();
}
diff --git a/apps/dav/lib/Connector/Sabre/ServerFactory.php b/apps/dav/lib/Connector/Sabre/ServerFactory.php
index f04362dfc08..329aa335ea4 100644
--- a/apps/dav/lib/Connector/Sabre/ServerFactory.php
+++ b/apps/dav/lib/Connector/Sabre/ServerFactory.php
@@ -40,6 +40,7 @@ use OCP\IRequest;
use OCP\ITagManager;
use OCP\IUserSession;
use Sabre\DAV\Auth\Backend\BackendInterface;
+use Sabre\DAV\Auth\Plugin;
class ServerFactory {
/** @var IConfig */
@@ -92,13 +93,13 @@ class ServerFactory {
/**
* @param string $baseUri
* @param string $requestUri
- * @param BackendInterface $authBackend
+ * @param Plugin $authPlugin
* @param callable $viewCallBack callback that should return the view for the dav endpoint
* @return Server
*/
public function createServer($baseUri,
$requestUri,
- BackendInterface $authBackend,
+ Plugin $authPlugin,
callable $viewCallBack) {
// Fire up server
$objectTree = new \OCA\DAV\Connector\Sabre\ObjectTree();
@@ -110,7 +111,7 @@ class ServerFactory {
// Load plugins
$server->addPlugin(new \OCA\DAV\Connector\Sabre\MaintenancePlugin($this->config));
$server->addPlugin(new \OCA\DAV\Connector\Sabre\BlockLegacyClientPlugin($this->config));
- $server->addPlugin(new \Sabre\DAV\Auth\Plugin($authBackend));
+ $server->addPlugin($authPlugin);
// FIXME: The following line is a workaround for legacy components relying on being able to send a GET to /
$server->addPlugin(new \OCA\DAV\Connector\Sabre\DummyGetResponsePlugin());
$server->addPlugin(new \OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin('webdav', $this->logger));
diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php
index df5b0ea05b6..994ac04033a 100644
--- a/apps/dav/lib/Server.php
+++ b/apps/dav/lib/Server.php
@@ -33,6 +33,7 @@ use OCA\DAV\CardDAV\ImageExportPlugin;
use OCA\DAV\CardDAV\PhotoCache;
use OCA\DAV\Comments\CommentsPlugin;
use OCA\DAV\Connector\Sabre\Auth;
+use OCA\DAV\Connector\Sabre\BearerAuth;
use OCA\DAV\Connector\Sabre\BlockLegacyClientPlugin;
use OCA\DAV\Connector\Sabre\CommentPropertiesPlugin;
use OCA\DAV\Connector\Sabre\CopyEtagHeaderPlugin;
@@ -52,6 +53,7 @@ use OCP\SabrePluginEvent;
use Sabre\CardDAV\VCFExportPlugin;
use Sabre\DAV\Auth\Plugin;
use OCA\DAV\Connector\Sabre\TagsPlugin;
+use Sabre\HTTP\Auth\Bearer;
use SearchDAV\DAV\SearchPlugin;
class Server {
@@ -100,6 +102,12 @@ class Server {
$event = new SabrePluginEvent($this->server);
$dispatcher->dispatch('OCA\DAV\Connector\Sabre::authInit', $event);
+ $bearerAuthBackend = new BearerAuth(
+ \OC::$server->getUserSession(),
+ \OC::$server->getSession(),
+ \OC::$server->getRequest()
+ );
+ $authPlugin->addBackend($bearerAuthBackend);
// because we are throwing exceptions this plugin has to be the last one
$authPlugin->addBackend($authBackend);
diff --git a/apps/dav/tests/unit/Connector/Sabre/BearerAuthTest.php b/apps/dav/tests/unit/Connector/Sabre/BearerAuthTest.php
new file mode 100644
index 00000000000..5eae75eb8e9
--- /dev/null
+++ b/apps/dav/tests/unit/Connector/Sabre/BearerAuthTest.php
@@ -0,0 +1,88 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\DAV\Tests\unit\Connector\Sabre;
+
+use OC\Authentication\TwoFactorAuth\Manager;
+use OC\Security\Bruteforce\Throttler;
+use OC\User\Session;
+use OCA\DAV\Connector\Sabre\BearerAuth;
+use OCP\IRequest;
+use OCP\ISession;
+use OCP\IUser;
+use OCP\IUserSession;
+use Sabre\HTTP\RequestInterface;
+use Sabre\HTTP\ResponseInterface;
+use Test\TestCase;
+
+/**
+ * @group DB
+ */
+class BearerAuthTest extends TestCase {
+ /** @var IUserSession|\PHPUnit_Framework_MockObject_MockObject */
+ private $userSession;
+ /** @var ISession|\PHPUnit_Framework_MockObject_MockObject */
+ private $session;
+ /** @var IRequest|\PHPUnit_Framework_MockObject_MockObject */
+ private $request;
+ /** @var BearerAuth */
+ private $bearerAuth;
+
+ public function setUp() {
+ parent::setUp();
+
+ $this->userSession = $this->createMock(\OC\User\Session::class);
+ $this->session = $this->createMock(ISession::class);
+ $this->request = $this->createMock(IRequest::class);
+
+ $this->bearerAuth = new BearerAuth(
+ $this->userSession,
+ $this->session,
+ $this->request
+ );
+ }
+
+ public function testValidateBearerTokenNotLoggedIn() {
+ $this->assertFalse($this->bearerAuth->validateBearerToken('Token'));
+ }
+
+ public function testValidateBearerToken() {
+ $this->userSession
+ ->expects($this->at(0))
+ ->method('isLoggedIn')
+ ->willReturn(false);
+ $this->userSession
+ ->expects($this->at(2))
+ ->method('isLoggedIn')
+ ->willReturn(true);
+ $user = $this->createMock(IUser::class);
+ $user
+ ->expects($this->once())
+ ->method('getUID')
+ ->willReturn('admin');
+ $this->userSession
+ ->expects($this->once())
+ ->method('getUser')
+ ->willReturn($user);
+
+ $this->assertSame('principals/users/admin', $this->bearerAuth->validateBearerToken('Token'));
+ }
+}
diff --git a/apps/dav/tests/unit/Connector/Sabre/RequestTest/RequestTestCase.php b/apps/dav/tests/unit/Connector/Sabre/RequestTest/RequestTestCase.php
index 50e228b7e84..58a729e18ec 100644
--- a/apps/dav/tests/unit/Connector/Sabre/RequestTest/RequestTestCase.php
+++ b/apps/dav/tests/unit/Connector/Sabre/RequestTest/RequestTestCase.php
@@ -138,8 +138,9 @@ abstract class RequestTestCase extends TestCase {
*/
protected function getSabreServer(View $view, $user, $password, ExceptionPlugin $exceptionPlugin) {
$authBackend = new Auth($user, $password);
+ $authPlugin = new \Sabre\DAV\Auth\Plugin($authBackend);
- $server = $this->serverFactory->createServer('/', 'dummy', $authBackend, function () use ($view) {
+ $server = $this->serverFactory->createServer('/', 'dummy', $authPlugin, function () use ($view) {
return $view;
});
$server->addPlugin($exceptionPlugin);
diff --git a/apps/encryption/l10n/id.js b/apps/encryption/l10n/id.js
index b8b6a77193e..bffb92a4dcd 100644
--- a/apps/encryption/l10n/id.js
+++ b/apps/encryption/l10n/id.js
@@ -23,6 +23,7 @@ OC.L10N.register(
"Private key password successfully updated." : "Sandi kunci privat berhasil diperbarui.",
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Anda perlu mengganti kunci enkripsi Anda dari enkripsi lama (ownCloud <= 8.0) ke yang baru. Mohon jalankan 'occ encryption:migrate' atau hubungi administrator Anda",
"Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Kunci privat tidak sah untuk aplikasi enkripsi. Silakan perbarui sandi kunci privat anda pada pengaturan pribadi untuk memulihkan akses ke berkas anda yang dienkripsi.",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Apl Enkripsi telah aktif, tapi kunci anda tidak diinisialisasikan. Harap keluar-log dan masuk-log kembali.",
"Encryption app is enabled and ready" : "Apl enkripsi aktif dan siap",
"Bad Signature" : "Tanda salah",
"Missing Signature" : "Tanda hilang",
diff --git a/apps/encryption/l10n/id.json b/apps/encryption/l10n/id.json
index ad4636bbaa4..e0600c7afa0 100644
--- a/apps/encryption/l10n/id.json
+++ b/apps/encryption/l10n/id.json
@@ -21,6 +21,7 @@
"Private key password successfully updated." : "Sandi kunci privat berhasil diperbarui.",
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Anda perlu mengganti kunci enkripsi Anda dari enkripsi lama (ownCloud <= 8.0) ke yang baru. Mohon jalankan 'occ encryption:migrate' atau hubungi administrator Anda",
"Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Kunci privat tidak sah untuk aplikasi enkripsi. Silakan perbarui sandi kunci privat anda pada pengaturan pribadi untuk memulihkan akses ke berkas anda yang dienkripsi.",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Apl Enkripsi telah aktif, tapi kunci anda tidak diinisialisasikan. Harap keluar-log dan masuk-log kembali.",
"Encryption app is enabled and ready" : "Apl enkripsi aktif dan siap",
"Bad Signature" : "Tanda salah",
"Missing Signature" : "Tanda hilang",
diff --git a/apps/federatedfilesharing/l10n/fr.js b/apps/federatedfilesharing/l10n/fr.js
index a47eda0868b..35c65b84fae 100644
--- a/apps/federatedfilesharing/l10n/fr.js
+++ b/apps/federatedfilesharing/l10n/fr.js
@@ -37,6 +37,7 @@ OC.L10N.register(
"Decline" : "Refuser",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Partagez avec moi grâce à mon identifiant Federated Cloud #Nextcloud %s",
"Share with me through my #Nextcloud Federated Cloud ID" : "Partagez avec moi grâce à mon identifiant Federated Cloud #Nextcloud",
+ "Federated file sharing" : "Partage de fichiers fédérés",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"Open documentation" : "Voir la documentation",
"Adjust how people can share between servers." : "Réglez comment les personnes peuvent partager entre les serveurs.",
diff --git a/apps/federatedfilesharing/l10n/fr.json b/apps/federatedfilesharing/l10n/fr.json
index de47af67626..eecd8ae00f4 100644
--- a/apps/federatedfilesharing/l10n/fr.json
+++ b/apps/federatedfilesharing/l10n/fr.json
@@ -35,6 +35,7 @@
"Decline" : "Refuser",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Partagez avec moi grâce à mon identifiant Federated Cloud #Nextcloud %s",
"Share with me through my #Nextcloud Federated Cloud ID" : "Partagez avec moi grâce à mon identifiant Federated Cloud #Nextcloud",
+ "Federated file sharing" : "Partage de fichiers fédérés",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"Open documentation" : "Voir la documentation",
"Adjust how people can share between servers." : "Réglez comment les personnes peuvent partager entre les serveurs.",
diff --git a/apps/federatedfilesharing/l10n/is.js b/apps/federatedfilesharing/l10n/is.js
index 6f064ae34c3..5191af33c50 100644
--- a/apps/federatedfilesharing/l10n/is.js
+++ b/apps/federatedfilesharing/l10n/is.js
@@ -37,14 +37,18 @@ OC.L10N.register(
"Decline" : "Hafna",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Deila með mér í gegnum víðværa skýjasambandsauðkennið mitt #Nextcloud Federated Cloud ID, sjá %s",
"Share with me through my #Nextcloud Federated Cloud ID" : "Deila með mér í gegnum víðværa skýjasambandsauðkennið mitt #Nextcloud Federated Cloud ID",
+ "Federated file sharing" : "Deiling skráa milli þjóna",
"Federated Cloud Sharing" : "Deiling með skýjasambandi",
"Open documentation" : "Opna hjálparskjöl",
+ "Adjust how people can share between servers." : "Stilltu hvernig fólk getur deilt á milli þjóna.",
"Allow users on this server to send shares to other servers" : "Leyfa notendum á þessum þjóni að senda sameignir til annarra þjóna",
"Allow users on this server to receive shares from other servers" : "Leyfa notendum á þessum þjóni að taka á móti sameignum frá öðrum þjónum",
"Search global and public address book for users and let local users publish their data" : "Leita að notendum í víðværri og opinberri vistfangaskrá og leyfa staðværum notendum að birta gögnin sín",
"Allow users to publish their data to a global and public address book" : "Leifa notendum að birta gögnin sín í víðværri og opinberri vistfangaskrá",
"Federated Cloud" : "Skýjasamband (federated)",
+ "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Þú getur deilt með hverjum þeim sem notar Nextcloud, ownCloud eða Pydio! Settu bara skýjasambandsauðkennið þeirra (Federated Cloud ID) inn í deilingargluggann. Það lítur út svipað og einstaklingur@tölvuský.dæmi.is",
"Your Federated Cloud ID:" : "Skýjasambandsauðkennið þitt (Federated Cloud ID):",
+ "Share it so your friends can share files with you:" : "Deildu þessu svo að vinir þínir geti deilt skrám með þér:",
"Add to your website" : "Bæta við vefsvæðið þitt",
"Share with me via Nextcloud" : "Deila með mér í gegnum Nextcloud",
"HTML Code:" : "HTML-kóði:",
diff --git a/apps/federatedfilesharing/l10n/is.json b/apps/federatedfilesharing/l10n/is.json
index 6c8b449f007..3049e14cb05 100644
--- a/apps/federatedfilesharing/l10n/is.json
+++ b/apps/federatedfilesharing/l10n/is.json
@@ -35,14 +35,18 @@
"Decline" : "Hafna",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Deila með mér í gegnum víðværa skýjasambandsauðkennið mitt #Nextcloud Federated Cloud ID, sjá %s",
"Share with me through my #Nextcloud Federated Cloud ID" : "Deila með mér í gegnum víðværa skýjasambandsauðkennið mitt #Nextcloud Federated Cloud ID",
+ "Federated file sharing" : "Deiling skráa milli þjóna",
"Federated Cloud Sharing" : "Deiling með skýjasambandi",
"Open documentation" : "Opna hjálparskjöl",
+ "Adjust how people can share between servers." : "Stilltu hvernig fólk getur deilt á milli þjóna.",
"Allow users on this server to send shares to other servers" : "Leyfa notendum á þessum þjóni að senda sameignir til annarra þjóna",
"Allow users on this server to receive shares from other servers" : "Leyfa notendum á þessum þjóni að taka á móti sameignum frá öðrum þjónum",
"Search global and public address book for users and let local users publish their data" : "Leita að notendum í víðværri og opinberri vistfangaskrá og leyfa staðværum notendum að birta gögnin sín",
"Allow users to publish their data to a global and public address book" : "Leifa notendum að birta gögnin sín í víðværri og opinberri vistfangaskrá",
"Federated Cloud" : "Skýjasamband (federated)",
+ "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Þú getur deilt með hverjum þeim sem notar Nextcloud, ownCloud eða Pydio! Settu bara skýjasambandsauðkennið þeirra (Federated Cloud ID) inn í deilingargluggann. Það lítur út svipað og einstaklingur@tölvuský.dæmi.is",
"Your Federated Cloud ID:" : "Skýjasambandsauðkennið þitt (Federated Cloud ID):",
+ "Share it so your friends can share files with you:" : "Deildu þessu svo að vinir þínir geti deilt skrám með þér:",
"Add to your website" : "Bæta við vefsvæðið þitt",
"Share with me via Nextcloud" : "Deila með mér í gegnum Nextcloud",
"HTML Code:" : "HTML-kóði:",
diff --git a/apps/federatedfilesharing/l10n/nl.js b/apps/federatedfilesharing/l10n/nl.js
index 71c6adaf6f5..80a8da5dd05 100644
--- a/apps/federatedfilesharing/l10n/nl.js
+++ b/apps/federatedfilesharing/l10n/nl.js
@@ -37,6 +37,7 @@ OC.L10N.register(
"Decline" : "Afwijzen",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Deel met mij via mijn #Nextcloud federated Cloud ID, zie %s",
"Share with me through my #Nextcloud Federated Cloud ID" : "Deel met mij via mijn #Nextcloud federated Cloud ID",
+ "Federated file sharing" : "Gefedereerd bestand delen",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"Open documentation" : "Open documentatie",
"Adjust how people can share between servers." : "Aanpassen hoe mensen tussen servers kunnen delen.",
diff --git a/apps/federatedfilesharing/l10n/nl.json b/apps/federatedfilesharing/l10n/nl.json
index aee02702266..7cfc42629dc 100644
--- a/apps/federatedfilesharing/l10n/nl.json
+++ b/apps/federatedfilesharing/l10n/nl.json
@@ -35,6 +35,7 @@
"Decline" : "Afwijzen",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Deel met mij via mijn #Nextcloud federated Cloud ID, zie %s",
"Share with me through my #Nextcloud Federated Cloud ID" : "Deel met mij via mijn #Nextcloud federated Cloud ID",
+ "Federated file sharing" : "Gefedereerd bestand delen",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"Open documentation" : "Open documentatie",
"Adjust how people can share between servers." : "Aanpassen hoe mensen tussen servers kunnen delen.",
diff --git a/apps/federatedfilesharing/l10n/pl.js b/apps/federatedfilesharing/l10n/pl.js
index 634c72f1895..b618a18d28d 100644
--- a/apps/federatedfilesharing/l10n/pl.js
+++ b/apps/federatedfilesharing/l10n/pl.js
@@ -37,6 +37,7 @@ OC.L10N.register(
"Decline" : "Utrata",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Podziel się ze mną przez mój ID #Nextcloud Stowarzyszonej Chmury, zobacz %s",
"Share with me through my #Nextcloud Federated Cloud ID" : "Podziel się ze mną przez mój ID #Nextcloud Stowarzyszonej Chmury",
+ "Federated file sharing" : "Udostępnianie plików chmury stowarzyszonej",
"Federated Cloud Sharing" : "Dzielenie się ze Stowarzyszoną Chmurą",
"Open documentation" : "Otwórz dokumentację",
"Adjust how people can share between servers." : "Dostosuj ustawienia współdzielenia między serwerami.",
diff --git a/apps/federatedfilesharing/l10n/pl.json b/apps/federatedfilesharing/l10n/pl.json
index 6178a539f09..b4be22c2f44 100644
--- a/apps/federatedfilesharing/l10n/pl.json
+++ b/apps/federatedfilesharing/l10n/pl.json
@@ -35,6 +35,7 @@
"Decline" : "Utrata",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Podziel się ze mną przez mój ID #Nextcloud Stowarzyszonej Chmury, zobacz %s",
"Share with me through my #Nextcloud Federated Cloud ID" : "Podziel się ze mną przez mój ID #Nextcloud Stowarzyszonej Chmury",
+ "Federated file sharing" : "Udostępnianie plików chmury stowarzyszonej",
"Federated Cloud Sharing" : "Dzielenie się ze Stowarzyszoną Chmurą",
"Open documentation" : "Otwórz dokumentację",
"Adjust how people can share between servers." : "Dostosuj ustawienia współdzielenia między serwerami.",
diff --git a/apps/federatedfilesharing/l10n/tr.js b/apps/federatedfilesharing/l10n/tr.js
index 830f1faeba1..2c134afb928 100644
--- a/apps/federatedfilesharing/l10n/tr.js
+++ b/apps/federatedfilesharing/l10n/tr.js
@@ -15,12 +15,12 @@ OC.L10N.register(
"Invalid Federated Cloud ID" : "Birleşmiş Bulut Kimliği Geçersiz",
"Server to server sharing is not enabled on this server" : "Bu sunucuda sunucudan sunucuya paylaşım etkin değil",
"Couldn't establish a federated share." : "Birleşmiş bir paylaşım oluşturulamadı.",
- "Couldn't establish a federated share, maybe the password was wrong." : "Birleşmiş bir paylaşım oluşturulamadı. Parola hatalı olabilir.",
+ "Couldn't establish a federated share, maybe the password was wrong." : "Birleşmiş bir paylaşım oluşturulamadı. Parola yanlış olabilir.",
"Federated Share request was successful, you will receive a invitation. Check your notifications." : "Birleşmiş paylaşım oluşturuldu. Bir çağrı alacaksınız. Bildirimlerinizi denetleyin.",
"The mountpoint name contains invalid characters." : "Bağlama noktası adında geçersiz karakterler var.",
"Not allowed to create a federated share with the owner." : "Sahip ile birleşmiş bir paylaşım oluşturmanıza izin verilmiyor.",
"Invalid or untrusted SSL certificate" : "Geçersiz ya da güvenilmez SSL sertifikası",
- "Could not authenticate to remote share, password might be wrong" : "Uzak paylaşım kimliği doğrulanamadı. Parola hatalı olabilir",
+ "Could not authenticate to remote share, password might be wrong" : "Uzak paylaşım kimliği doğrulanamadı. Parola yanlış olabilir",
"Storage not valid" : "Depolama geçerli değil",
"Federated Share successfully added" : "Birleşmiş Paylaşım eklendi",
"Couldn't add remote share" : "Uzak paylaşım eklenemedi",
diff --git a/apps/federatedfilesharing/l10n/tr.json b/apps/federatedfilesharing/l10n/tr.json
index 6eb0738cf6e..ea9c3a91095 100644
--- a/apps/federatedfilesharing/l10n/tr.json
+++ b/apps/federatedfilesharing/l10n/tr.json
@@ -13,12 +13,12 @@
"Invalid Federated Cloud ID" : "Birleşmiş Bulut Kimliği Geçersiz",
"Server to server sharing is not enabled on this server" : "Bu sunucuda sunucudan sunucuya paylaşım etkin değil",
"Couldn't establish a federated share." : "Birleşmiş bir paylaşım oluşturulamadı.",
- "Couldn't establish a federated share, maybe the password was wrong." : "Birleşmiş bir paylaşım oluşturulamadı. Parola hatalı olabilir.",
+ "Couldn't establish a federated share, maybe the password was wrong." : "Birleşmiş bir paylaşım oluşturulamadı. Parola yanlış olabilir.",
"Federated Share request was successful, you will receive a invitation. Check your notifications." : "Birleşmiş paylaşım oluşturuldu. Bir çağrı alacaksınız. Bildirimlerinizi denetleyin.",
"The mountpoint name contains invalid characters." : "Bağlama noktası adında geçersiz karakterler var.",
"Not allowed to create a federated share with the owner." : "Sahip ile birleşmiş bir paylaşım oluşturmanıza izin verilmiyor.",
"Invalid or untrusted SSL certificate" : "Geçersiz ya da güvenilmez SSL sertifikası",
- "Could not authenticate to remote share, password might be wrong" : "Uzak paylaşım kimliği doğrulanamadı. Parola hatalı olabilir",
+ "Could not authenticate to remote share, password might be wrong" : "Uzak paylaşım kimliği doğrulanamadı. Parola yanlış olabilir",
"Storage not valid" : "Depolama geçerli değil",
"Federated Share successfully added" : "Birleşmiş Paylaşım eklendi",
"Couldn't add remote share" : "Uzak paylaşım eklenemedi",
diff --git a/apps/federatedfilesharing/l10n/zh_CN.js b/apps/federatedfilesharing/l10n/zh_CN.js
index aafe0322188..4eabd0cdbfa 100644
--- a/apps/federatedfilesharing/l10n/zh_CN.js
+++ b/apps/federatedfilesharing/l10n/zh_CN.js
@@ -37,12 +37,18 @@ OC.L10N.register(
"Decline" : "拒绝",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "通过我的联合云ID,分享给我,看%s",
"Share with me through my #Nextcloud Federated Cloud ID" : "通过我的#Nextcloud联合云ID与我共享",
+ "Federated file sharing" : "联合文件共享",
"Federated Cloud Sharing" : "联合云共享",
"Open documentation" : "打开文档",
+ "Adjust how people can share between servers." : "调整人们如何在服务器之间共享。",
"Allow users on this server to send shares to other servers" : "允许用户分享文件给其他服务器上的用户",
"Allow users on this server to receive shares from other servers" : "允许用户从其他服务器接收分享",
+ "Search global and public address book for users and let local users publish their data" : "搜索用户的全球和公共通讯录,并让本地用户发布其数据",
+ "Allow users to publish their data to a global and public address book" : "允许用户将其数据发布到全球和公共通讯录",
"Federated Cloud" : "联合云",
+ "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "您可以与任何使用Nextcloud,ownCloud或Pydio的人分享! 只需将它们的联合云ID放在共享对话框中。 看起来像person@cloud.example.com",
"Your Federated Cloud ID:" : "你的联合云ID:",
+ "Share it so your friends can share files with you:" : "使用分享,以便您的朋友可以与您共享文件:",
"Add to your website" : "添加到您的网站",
"Share with me via Nextcloud" : "通过联合云与我共享",
"HTML Code:" : "HTML 代码:",
diff --git a/apps/federatedfilesharing/l10n/zh_CN.json b/apps/federatedfilesharing/l10n/zh_CN.json
index 2c51760c964..14508ed998d 100644
--- a/apps/federatedfilesharing/l10n/zh_CN.json
+++ b/apps/federatedfilesharing/l10n/zh_CN.json
@@ -35,12 +35,18 @@
"Decline" : "拒绝",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "通过我的联合云ID,分享给我,看%s",
"Share with me through my #Nextcloud Federated Cloud ID" : "通过我的#Nextcloud联合云ID与我共享",
+ "Federated file sharing" : "联合文件共享",
"Federated Cloud Sharing" : "联合云共享",
"Open documentation" : "打开文档",
+ "Adjust how people can share between servers." : "调整人们如何在服务器之间共享。",
"Allow users on this server to send shares to other servers" : "允许用户分享文件给其他服务器上的用户",
"Allow users on this server to receive shares from other servers" : "允许用户从其他服务器接收分享",
+ "Search global and public address book for users and let local users publish their data" : "搜索用户的全球和公共通讯录,并让本地用户发布其数据",
+ "Allow users to publish their data to a global and public address book" : "允许用户将其数据发布到全球和公共通讯录",
"Federated Cloud" : "联合云",
+ "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "您可以与任何使用Nextcloud,ownCloud或Pydio的人分享! 只需将它们的联合云ID放在共享对话框中。 看起来像person@cloud.example.com",
"Your Federated Cloud ID:" : "你的联合云ID:",
+ "Share it so your friends can share files with you:" : "使用分享,以便您的朋友可以与您共享文件:",
"Add to your website" : "添加到您的网站",
"Share with me via Nextcloud" : "通过联合云与我共享",
"HTML Code:" : "HTML 代码:",
diff --git a/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php b/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php
index 512000181c1..aa3411ecb16 100644
--- a/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php
+++ b/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php
@@ -381,7 +381,8 @@ class RequestHandlerControllerTest extends TestCase {
'accepted' => '0',
'expiration' => null,
'password' => null,
- 'mail_send' => '0'
+ 'mail_send' => '0',
+ 'share_name' => null,
];
$searchToken = $correctToken ? 'token' : 'wrongToken';
diff --git a/apps/federation/l10n/ast.js b/apps/federation/l10n/ast.js
index d2d20dc9adf..feb4e215825 100644
--- a/apps/federation/l10n/ast.js
+++ b/apps/federation/l10n/ast.js
@@ -7,7 +7,8 @@ OC.L10N.register(
"Could not add server" : "Nun pudo amestase'l sirvidor",
"Federation" : "Federación",
"Trusted servers" : "Sirvidores d'enfotu",
- "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "La federación permite coneutate con otros sirvidores d'enfotu pa intercambiar el direutoriu d'usuarios. Por exemplu, esto usaráse p'auto-completar usuarios esternos y compatir de mou federáu.",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "La federación permítete coneutar con otros sirvidores d'enfotu pa intercambiar el direutoriu d'usuarios. Por exemplu, esto usaráse p'auto-completar usuarios esternos y compatir de mou federáu.",
+ "+ Add trusted server" : "+ Amestar sirvidor d'enfotu",
"Trusted server" : "Sirvidor d'enfotu",
"Add" : "Amestar"
},
diff --git a/apps/federation/l10n/ast.json b/apps/federation/l10n/ast.json
index cff8e325709..5758c29e00f 100644
--- a/apps/federation/l10n/ast.json
+++ b/apps/federation/l10n/ast.json
@@ -5,7 +5,8 @@
"Could not add server" : "Nun pudo amestase'l sirvidor",
"Federation" : "Federación",
"Trusted servers" : "Sirvidores d'enfotu",
- "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "La federación permite coneutate con otros sirvidores d'enfotu pa intercambiar el direutoriu d'usuarios. Por exemplu, esto usaráse p'auto-completar usuarios esternos y compatir de mou federáu.",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "La federación permítete coneutar con otros sirvidores d'enfotu pa intercambiar el direutoriu d'usuarios. Por exemplu, esto usaráse p'auto-completar usuarios esternos y compatir de mou federáu.",
+ "+ Add trusted server" : "+ Amestar sirvidor d'enfotu",
"Trusted server" : "Sirvidor d'enfotu",
"Add" : "Amestar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/federation/l10n/el.js b/apps/federation/l10n/el.js
index 895039f5f78..2f1a5a6178e 100644
--- a/apps/federation/l10n/el.js
+++ b/apps/federation/l10n/el.js
@@ -7,6 +7,8 @@ OC.L10N.register(
"Could not add server" : "Αδυναμία προσθήκης διακομιστή",
"Federation" : "Federation",
"Trusted servers" : "Έμπιστοι διακομιστές",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Η Ομοσπονδία σας επιτρέπει να συνδεθείτε με άλλους αξιόπιστους διακομιστές για να ανταλλάξετε τον κατάλογο χρηστών. Για παράδειγμα, αυτό θα χρησιμοποιηθεί για την αυτόματη συμπλήρωση εξωτερικών χρηστών για ομαδική κοινή χρήση.",
+ "Add server automatically once a federated share was created successfully" : "Προσθέστε αυτόματα το διακομιστή μόλις δημιουργηθεί με επιτυχία μια ενοποιημένη κοινή χρήση",
"+ Add trusted server" : "+Προσθήκη έμπιστων διακομιστών",
"Trusted server" : "Έμπιστοι διακομιστές",
"Add" : "Προσθήκη"
diff --git a/apps/federation/l10n/el.json b/apps/federation/l10n/el.json
index fe2050d1b15..5de95089e47 100644
--- a/apps/federation/l10n/el.json
+++ b/apps/federation/l10n/el.json
@@ -5,6 +5,8 @@
"Could not add server" : "Αδυναμία προσθήκης διακομιστή",
"Federation" : "Federation",
"Trusted servers" : "Έμπιστοι διακομιστές",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Η Ομοσπονδία σας επιτρέπει να συνδεθείτε με άλλους αξιόπιστους διακομιστές για να ανταλλάξετε τον κατάλογο χρηστών. Για παράδειγμα, αυτό θα χρησιμοποιηθεί για την αυτόματη συμπλήρωση εξωτερικών χρηστών για ομαδική κοινή χρήση.",
+ "Add server automatically once a federated share was created successfully" : "Προσθέστε αυτόματα το διακομιστή μόλις δημιουργηθεί με επιτυχία μια ενοποιημένη κοινή χρήση",
"+ Add trusted server" : "+Προσθήκη έμπιστων διακομιστών",
"Trusted server" : "Έμπιστοι διακομιστές",
"Add" : "Προσθήκη"
diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss
index 5e1f15c1cc1..579cf36e15b 100644
--- a/apps/files/css/files.scss
+++ b/apps/files/css/files.scss
@@ -342,6 +342,7 @@ table td.filename .nametext {
padding: 0;
overflow: hidden;
text-overflow: ellipsis;
+ width: 70%;
max-width: 800px;
height: 100%;
}
diff --git a/apps/files/js/newfilemenu.js b/apps/files/js/newfilemenu.js
index e4023c62342..9f3b7eb7332 100644
--- a/apps/files/js/newfilemenu.js
+++ b/apps/files/js/newfilemenu.js
@@ -65,7 +65,7 @@
this._menuItems = [{
id: 'folder',
- displayName: t('files', 'Folder'),
+ displayName: t('files', 'New folder'),
templateName: t('files', 'New folder'),
iconClass: 'icon-folder',
fileType: 'folder',
@@ -223,7 +223,7 @@
render: function() {
this.$el.html(this.template({
uploadMaxHumanFileSize: 'TODO',
- uploadLabel: t('files', 'Upload'),
+ uploadLabel: t('files', 'Upload file'),
items: this._menuItems
}));
OC.Util.scaleFixForIE8(this.$('.svg'));
diff --git a/apps/files/js/search.js b/apps/files/js/search.js
index 140a66e346d..aca6d42850e 100644
--- a/apps/files/js/search.js
+++ b/apps/files/js/search.js
@@ -67,7 +67,7 @@
$row.find('td.info div.name').after($pathDiv).text(result.name);
$row.find('td.result a').attr('href', result.link);
- $row.find('td.icon').css('background-image', 'url(' + OC.imagePath('core', 'filetypes/folder') + ')');
+ $row.find('td.icon').css('background-image', 'url(' + OC.MimeType.getIconUrl(result.mime) + ')');
return $row;
};
@@ -96,7 +96,7 @@
} else {
// FIXME how to get mime icon if not in files app
var mimeicon = result.mime.replace('/', '-');
- $row.find('td.icon').css('background-image', 'url(' + OC.imagePath('core', 'filetypes/' + mimeicon) + ')');
+ $row.find('td.icon').css('background-image', 'url(' + OC.MimeType.getIconUrl(result.mime) + ')');
var dir = OC.dirname(result.path);
if (dir === '') {
dir = '/';
@@ -108,28 +108,6 @@
return $row;
};
- this.renderAudioResult = function($row, result) {
- /*render preview icon, show path beneath filename,
- show size and last modified date on the right
- show Artist and Album */
- $row = this.renderFileResult($row, result);
- if ($row) {
- $row.find('td.icon').css('background-image', 'url(' + OC.imagePath('core', 'filetypes/audio') + ')');
- }
- return $row;
- };
-
- this.renderImageResult = function($row, result) {
- /*render preview icon, show path beneath filename,
- show size and last modified date on the right
- show width and height */
- $row = this.renderFileResult($row, result);
- if ($row && !self.fileAppLoaded()) {
- $row.find('td.icon').css('background-image', 'url(' + OC.imagePath('core', 'filetypes/image') + ')');
- }
- return $row;
- };
-
this.handleFolderClick = function($row, result, event) {
// open folder
@@ -179,8 +157,8 @@
search.setRenderer('folder', this.renderFolderResult.bind(this));
search.setRenderer('file', this.renderFileResult.bind(this));
- search.setRenderer('audio', this.renderAudioResult.bind(this));
- search.setRenderer('image', this.renderImageResult.bind(this));
+ search.setRenderer('image', this.renderFileResult.bind(this));
+ search.setRenderer('audio', this.renderFileResult.bind(this));
search.setHandler('folder', this.handleFolderClick.bind(this));
search.setHandler(['file', 'audio', 'image'], this.handleFileClick.bind(this));
diff --git a/apps/files/l10n/ast.js b/apps/files/l10n/ast.js
index 917701fe440..cd2649ebf0a 100644
--- a/apps/files/l10n/ast.js
+++ b/apps/files/l10n/ast.js
@@ -1,10 +1,11 @@
OC.L10N.register(
"files",
{
- "Storage invalid" : "Almacenamientu inválidu",
+ "Storage is temporarily not available" : "L'almacenamientu nun ta disponible temporalmente",
+ "Storage invalid" : "Almacenamientu non válidu",
"Unknown error" : "Fallu desconocíu",
- "Files" : "Ficheros",
"All files" : "Tolos ficheros",
+ "Recent" : "Reciente",
"File could not be found" : "Nun s'atopó el ficheru",
"Home" : "Casa",
"Close" : "Zarrar",
@@ -13,15 +14,20 @@ OC.L10N.register(
"Upload cancelled." : "Xuba encaboxada.",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Nun pudo xubise {filename}, paez que ye un directoriu o tien 0 bytes",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nun hai abondu espaciu llibre, tas xubiendo {size1} pero namái falta {size2}",
+ "Not enough free space" : "Nun hai espaciu llibre abondo",
"Uploading..." : "Xubiendo...",
"..." : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Actions" : "Aiciones",
"Download" : "Descargar",
"Rename" : "Renomar",
+ "Move" : "Mover",
+ "Target folder" : "Carpeta oxetivu",
"Delete" : "Desaniciar",
"Disconnect storage" : "Desconeutar almacenamientu",
"Unshare" : "Dexar de compartir",
+ "Could not load info for file \"{file}\"" : "Nun pudo cargase la información del ficheru «{file}»",
+ "Files" : "Ficheros",
"Details" : "Detalles",
"Select" : "Esbillar",
"Pending" : "Pendiente",
@@ -54,6 +60,7 @@ OC.L10N.register(
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "L'almacenamientu de {owner} ta casi completu ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "L'almacenamientu ta casi completu ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["concasa '{filter}'","concasa '{filter}'"],
+ "View in folder" : "Ver na carpeta",
"Path" : "Camín",
"_%n byte_::_%n bytes_" : ["%n bytes","%n bytes"],
"Favorited" : "Favoritos",
@@ -62,6 +69,10 @@ OC.L10N.register(
"New folder" : "Nueva carpeta",
"Upload" : "Xubir",
"An error occurred while trying to update the tags" : "Hebo un fallu mientres s'intentaba actualizar les etiquetes",
+ "Added to favorites" : "Amestóse a favoritos",
+ "You deleted {file}" : "Desaniciesti {file}",
+ "You restored {file}" : "Restauresti {file}",
+ "{user} restored {file}" : "{user} restauró {file}",
"A new file or folder has been <strong>created</strong>" : "<strong>Creóse</strong> un ficheru o carpeta nuevos",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Llendar les notificaciones tocantes a creación y cambeos a tos <strong>ficheros favoritos</strong <em>(namás Stream)</em>",
"Upload (max. %s)" : "Xuba (máx. %s)",
@@ -81,55 +92,19 @@ OC.L10N.register(
"Select all" : "Esbillar too",
"Upload too large" : "La xuba ye abondo grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los ficheros que tas intentando xubir perpasen el tamañu máximu pa les xubíes de ficheros nesti servidor.",
- "No favorites" : "Nengún favoritu",
+ "No favorites yet" : "Entá nun hai favoritos",
"Files and folders you mark as favorite will show up here" : "Los ficheros y carpetes que marque como favoritos apaecerán equí",
+ "Tags" : "Etiquetes",
+ "Deleted files" : "Ficheros desaniciaos",
"Text file" : "Ficheru de testu",
"New text file.txt" : "Nuevu testu ficheru.txt",
- "Storage not available" : "Almacenamientu non disponible",
- "Unable to set upload directory." : "Nun pue afitase la carpeta de xubida.",
- "Invalid Token" : "Token inválidu",
- "No file was uploaded. Unknown error" : "Nun se xubió dengún ficheru. Fallu desconocíu",
- "There is no error, the file uploaded with success" : "Nun hai dengún fallu, el ficheru xubióse ensin problemes",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "El ficheru xubíu perpasa la direutiva \"upload_max_filesize\" del ficheru php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El ficheru xubíu perpasa la direutiva \"MAX_FILE_SIZE\" especificada nel formulariu HTML",
- "The uploaded file was only partially uploaded" : "El ficheru xubióse de mou parcial",
- "No file was uploaded" : "Nun se xubió dengún ficheru",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "Failed to write to disk" : "Fallu al escribir al discu",
- "Not enough storage available" : "Nun hai abondu espaciu disponible",
- "The target folder has been moved or deleted." : "La carpeta oxetivu movióse o desanicióse.",
- "Upload failed. Could not find uploaded file" : "Xubida fallida. Nun pudo atopase'l ficheru xubíu.",
- "Upload failed. Could not get file info." : "Falló la xubida. Nun se pudo obtener la información del ficheru.",
- "Invalid directory." : "Direutoriu non válidu.",
- "Total file size {size1} exceeds upload limit {size2}" : "El tamañu de ficheru total {size1} perpasa la llende de xuba {size2}",
- "Error uploading file \"{fileName}\": {message}" : "Fallu xubiendo'l ficheru \"{fileName}\": {message}",
- "Could not get result from server." : "Nun pudo obtenese'l resultáu del sirvidor.",
- "{hours}:{minutes}:{seconds} hour{plural_s} left" : "Falten {hours}:{minutes}:{seconds} hour{plural_s}",
"{hours}:{minutes}h" : "{hours}:{minutes}h",
- "{minutes}:{seconds} minute{plural_s} left" : "Falten {minutes}:{seconds} minute{plural_s} ",
"{minutes}:{seconds}m" : "{minutes}:{seconds}m",
- "{seconds} second{plural_s} left" : "Falten {seconds} second{plural_s}",
"{seconds}s" : "{seconds}s",
"Any moment now..." : "En cualquier momentu...",
"Soon..." : "Pronto...",
"File upload is in progress. Leaving the page now will cancel the upload." : "La xuba del ficheru ta en progresu. Si dexes agora la páxina, va encaboxase la xuba.",
- "No entries in this folder match '{filter}'" : "Nun concasa nenguna entrada nesta carpeta '{filter}'",
- "Local link" : "Enllaz llocal",
- "{newname} already exists" : "{newname} yá existe",
- "A file or folder has been <strong>changed</strong>" : "<strong>Camudóse</strong> un ficheru o carpeta",
- "A file or folder has been <strong>deleted</strong>" : "<strong>Desanicióse</strong> un ficheru o carpeta",
- "A file or folder has been <strong>restored</strong>" : "<strong>Restauróse</strong> un ficheru o carpeta",
- "You created %1$s" : "Creasti %1$s",
- "%2$s created %1$s" : "%2$s creó %1$s",
- "%1$s was created in a public folder" : "Creóse %1$s nuna carpeta pública",
- "You changed %1$s" : "Modificasti %1$s",
- "%2$s changed %1$s" : "%2$s modificó %1$s",
- "You deleted %1$s" : "Desaniciasti %1$s",
- "%2$s deleted %1$s" : "%2$s desanició %1$s",
- "You restored %1$s" : "Recuperóse %1$s",
- "%2$s restored %1$s" : "%2$s recuperó %1$s",
- "Changed by %2$s" : "Modificáu por %2$s",
- "Deleted by %2$s" : "Desaniciáu por %2$s",
- "Restored by %2$s" : "Recuperáu por %2$s"
+ "Copy local link" : "Copiar enllaz llocal",
+ "No favorites" : "Nengún favoritu"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ast.json b/apps/files/l10n/ast.json
index fd9636fc4e0..e185f680dca 100644
--- a/apps/files/l10n/ast.json
+++ b/apps/files/l10n/ast.json
@@ -1,8 +1,9 @@
{ "translations": {
- "Storage invalid" : "Almacenamientu inválidu",
+ "Storage is temporarily not available" : "L'almacenamientu nun ta disponible temporalmente",
+ "Storage invalid" : "Almacenamientu non válidu",
"Unknown error" : "Fallu desconocíu",
- "Files" : "Ficheros",
"All files" : "Tolos ficheros",
+ "Recent" : "Reciente",
"File could not be found" : "Nun s'atopó el ficheru",
"Home" : "Casa",
"Close" : "Zarrar",
@@ -11,15 +12,20 @@
"Upload cancelled." : "Xuba encaboxada.",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Nun pudo xubise {filename}, paez que ye un directoriu o tien 0 bytes",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nun hai abondu espaciu llibre, tas xubiendo {size1} pero namái falta {size2}",
+ "Not enough free space" : "Nun hai espaciu llibre abondo",
"Uploading..." : "Xubiendo...",
"..." : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Actions" : "Aiciones",
"Download" : "Descargar",
"Rename" : "Renomar",
+ "Move" : "Mover",
+ "Target folder" : "Carpeta oxetivu",
"Delete" : "Desaniciar",
"Disconnect storage" : "Desconeutar almacenamientu",
"Unshare" : "Dexar de compartir",
+ "Could not load info for file \"{file}\"" : "Nun pudo cargase la información del ficheru «{file}»",
+ "Files" : "Ficheros",
"Details" : "Detalles",
"Select" : "Esbillar",
"Pending" : "Pendiente",
@@ -52,6 +58,7 @@
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "L'almacenamientu de {owner} ta casi completu ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "L'almacenamientu ta casi completu ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["concasa '{filter}'","concasa '{filter}'"],
+ "View in folder" : "Ver na carpeta",
"Path" : "Camín",
"_%n byte_::_%n bytes_" : ["%n bytes","%n bytes"],
"Favorited" : "Favoritos",
@@ -60,6 +67,10 @@
"New folder" : "Nueva carpeta",
"Upload" : "Xubir",
"An error occurred while trying to update the tags" : "Hebo un fallu mientres s'intentaba actualizar les etiquetes",
+ "Added to favorites" : "Amestóse a favoritos",
+ "You deleted {file}" : "Desaniciesti {file}",
+ "You restored {file}" : "Restauresti {file}",
+ "{user} restored {file}" : "{user} restauró {file}",
"A new file or folder has been <strong>created</strong>" : "<strong>Creóse</strong> un ficheru o carpeta nuevos",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Llendar les notificaciones tocantes a creación y cambeos a tos <strong>ficheros favoritos</strong <em>(namás Stream)</em>",
"Upload (max. %s)" : "Xuba (máx. %s)",
@@ -79,55 +90,19 @@
"Select all" : "Esbillar too",
"Upload too large" : "La xuba ye abondo grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los ficheros que tas intentando xubir perpasen el tamañu máximu pa les xubíes de ficheros nesti servidor.",
- "No favorites" : "Nengún favoritu",
+ "No favorites yet" : "Entá nun hai favoritos",
"Files and folders you mark as favorite will show up here" : "Los ficheros y carpetes que marque como favoritos apaecerán equí",
+ "Tags" : "Etiquetes",
+ "Deleted files" : "Ficheros desaniciaos",
"Text file" : "Ficheru de testu",
"New text file.txt" : "Nuevu testu ficheru.txt",
- "Storage not available" : "Almacenamientu non disponible",
- "Unable to set upload directory." : "Nun pue afitase la carpeta de xubida.",
- "Invalid Token" : "Token inválidu",
- "No file was uploaded. Unknown error" : "Nun se xubió dengún ficheru. Fallu desconocíu",
- "There is no error, the file uploaded with success" : "Nun hai dengún fallu, el ficheru xubióse ensin problemes",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "El ficheru xubíu perpasa la direutiva \"upload_max_filesize\" del ficheru php.ini",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El ficheru xubíu perpasa la direutiva \"MAX_FILE_SIZE\" especificada nel formulariu HTML",
- "The uploaded file was only partially uploaded" : "El ficheru xubióse de mou parcial",
- "No file was uploaded" : "Nun se xubió dengún ficheru",
- "Missing a temporary folder" : "Falta una carpeta temporal",
- "Failed to write to disk" : "Fallu al escribir al discu",
- "Not enough storage available" : "Nun hai abondu espaciu disponible",
- "The target folder has been moved or deleted." : "La carpeta oxetivu movióse o desanicióse.",
- "Upload failed. Could not find uploaded file" : "Xubida fallida. Nun pudo atopase'l ficheru xubíu.",
- "Upload failed. Could not get file info." : "Falló la xubida. Nun se pudo obtener la información del ficheru.",
- "Invalid directory." : "Direutoriu non válidu.",
- "Total file size {size1} exceeds upload limit {size2}" : "El tamañu de ficheru total {size1} perpasa la llende de xuba {size2}",
- "Error uploading file \"{fileName}\": {message}" : "Fallu xubiendo'l ficheru \"{fileName}\": {message}",
- "Could not get result from server." : "Nun pudo obtenese'l resultáu del sirvidor.",
- "{hours}:{minutes}:{seconds} hour{plural_s} left" : "Falten {hours}:{minutes}:{seconds} hour{plural_s}",
"{hours}:{minutes}h" : "{hours}:{minutes}h",
- "{minutes}:{seconds} minute{plural_s} left" : "Falten {minutes}:{seconds} minute{plural_s} ",
"{minutes}:{seconds}m" : "{minutes}:{seconds}m",
- "{seconds} second{plural_s} left" : "Falten {seconds} second{plural_s}",
"{seconds}s" : "{seconds}s",
"Any moment now..." : "En cualquier momentu...",
"Soon..." : "Pronto...",
"File upload is in progress. Leaving the page now will cancel the upload." : "La xuba del ficheru ta en progresu. Si dexes agora la páxina, va encaboxase la xuba.",
- "No entries in this folder match '{filter}'" : "Nun concasa nenguna entrada nesta carpeta '{filter}'",
- "Local link" : "Enllaz llocal",
- "{newname} already exists" : "{newname} yá existe",
- "A file or folder has been <strong>changed</strong>" : "<strong>Camudóse</strong> un ficheru o carpeta",
- "A file or folder has been <strong>deleted</strong>" : "<strong>Desanicióse</strong> un ficheru o carpeta",
- "A file or folder has been <strong>restored</strong>" : "<strong>Restauróse</strong> un ficheru o carpeta",
- "You created %1$s" : "Creasti %1$s",
- "%2$s created %1$s" : "%2$s creó %1$s",
- "%1$s was created in a public folder" : "Creóse %1$s nuna carpeta pública",
- "You changed %1$s" : "Modificasti %1$s",
- "%2$s changed %1$s" : "%2$s modificó %1$s",
- "You deleted %1$s" : "Desaniciasti %1$s",
- "%2$s deleted %1$s" : "%2$s desanició %1$s",
- "You restored %1$s" : "Recuperóse %1$s",
- "%2$s restored %1$s" : "%2$s recuperó %1$s",
- "Changed by %2$s" : "Modificáu por %2$s",
- "Deleted by %2$s" : "Desaniciáu por %2$s",
- "Restored by %2$s" : "Recuperáu por %2$s"
+ "Copy local link" : "Copiar enllaz llocal",
+ "No favorites" : "Nengún favoritu"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/bg.js b/apps/files/l10n/bg.js
index eee97ab3d5d..dd98da272b8 100644
--- a/apps/files/l10n/bg.js
+++ b/apps/files/l10n/bg.js
@@ -66,9 +66,7 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n байт","%n байта"],
"Favorited" : "Отбелязано в любими",
"Favorite" : "Любими",
- "Folder" : "Папка",
"New folder" : "Нова папка",
- "Upload" : "Качване",
"An error occurred while trying to update the tags" : "Възникна грешка при опита за промяна на тагове",
"Added to favorites" : "Добавено към предпочитани",
"Removed from favorites" : "Премахнато от предпочитани",
@@ -132,6 +130,8 @@ OC.L10N.register(
"Soon..." : "Скоро...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Извършва се качване на файлове. Затварянето на тази страница ще прекъсне качването.",
"Copy local link" : "Копиране на локална връзка",
+ "Folder" : "Папка",
+ "Upload" : "Качване",
"No favorites" : "Няма любими"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/bg.json b/apps/files/l10n/bg.json
index cf2e3c83272..ad974585339 100644
--- a/apps/files/l10n/bg.json
+++ b/apps/files/l10n/bg.json
@@ -64,9 +64,7 @@
"_%n byte_::_%n bytes_" : ["%n байт","%n байта"],
"Favorited" : "Отбелязано в любими",
"Favorite" : "Любими",
- "Folder" : "Папка",
"New folder" : "Нова папка",
- "Upload" : "Качване",
"An error occurred while trying to update the tags" : "Възникна грешка при опита за промяна на тагове",
"Added to favorites" : "Добавено към предпочитани",
"Removed from favorites" : "Премахнато от предпочитани",
@@ -130,6 +128,8 @@
"Soon..." : "Скоро...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Извършва се качване на файлове. Затварянето на тази страница ще прекъсне качването.",
"Copy local link" : "Копиране на локална връзка",
+ "Folder" : "Папка",
+ "Upload" : "Качване",
"No favorites" : "Няма любими"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js
index 5f348e971c6..9eae7abfb8b 100644
--- a/apps/files/l10n/ca.js
+++ b/apps/files/l10n/ca.js
@@ -63,9 +63,7 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Agregat a favorits",
"Favorite" : "Preferits",
- "Folder" : "Carpeta",
"New folder" : "Carpeta nova",
- "Upload" : "Puja",
"An error occurred while trying to update the tags" : "S'ha produït un error en tractar d'actualitzar les etiquetes",
"Added to favorites" : "Afegit a favorits",
"Removed from favorites" : "Esborra de preferits",
@@ -115,6 +113,8 @@ OC.L10N.register(
"Soon..." : "Aviat...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà.",
"Copy local link" : "C",
+ "Folder" : "Carpeta",
+ "Upload" : "Puja",
"No favorites" : "No hi ha favorits"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json
index 580a6445c36..672958b1ecf 100644
--- a/apps/files/l10n/ca.json
+++ b/apps/files/l10n/ca.json
@@ -61,9 +61,7 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Agregat a favorits",
"Favorite" : "Preferits",
- "Folder" : "Carpeta",
"New folder" : "Carpeta nova",
- "Upload" : "Puja",
"An error occurred while trying to update the tags" : "S'ha produït un error en tractar d'actualitzar les etiquetes",
"Added to favorites" : "Afegit a favorits",
"Removed from favorites" : "Esborra de preferits",
@@ -113,6 +111,8 @@
"Soon..." : "Aviat...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà.",
"Copy local link" : "C",
+ "Folder" : "Carpeta",
+ "Upload" : "Puja",
"No favorites" : "No hi ha favorits"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/cs.js b/apps/files/l10n/cs.js
index 42b34bb1ab5..34b51eed176 100644
--- a/apps/files/l10n/cs.js
+++ b/apps/files/l10n/cs.js
@@ -69,9 +69,7 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů"],
"Favorited" : "Přidáno k oblíbeným",
"Favorite" : "Oblíbené",
- "Folder" : "Adresář",
"New folder" : "Nový adresář",
- "Upload" : "Odeslat",
"An error occurred while trying to update the tags" : "Při pokusu o úpravu tagů nastala chyba",
"Added to favorites" : "Přidán k oblíbeným",
"Removed from favorites" : "Odebráno z oblíbených",
@@ -120,6 +118,7 @@ OC.L10N.register(
"Select all" : "Vybrat vše",
"Upload too large" : "Odesílaný soubor je příliš velký",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Soubory, které se snažíte odeslat, překračují limit velikosti odesílání na tomto serveru.",
+ "No favorites yet" : "Zatím nic oblíbeného",
"Files and folders you mark as favorite will show up here" : "Zde budou zobrazeny soubory a adresáře označené jako oblíbené",
"Shared with you" : "Sdíleno s vámi",
"Shared with others" : "Sdíleno s ostatními",
@@ -138,6 +137,8 @@ OC.L10N.register(
"Soon..." : "Brzy...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Probíhá odesílání souboru. Opuštění stránky způsobí zrušení nahrávání.",
"Copy local link" : "Kopírovat místní odkaz",
+ "Folder" : "Adresář",
+ "Upload" : "Odeslat",
"No favorites" : "Žádné oblíbené"
},
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/files/l10n/cs.json b/apps/files/l10n/cs.json
index 6905ee87060..f9085b658ea 100644
--- a/apps/files/l10n/cs.json
+++ b/apps/files/l10n/cs.json
@@ -67,9 +67,7 @@
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů"],
"Favorited" : "Přidáno k oblíbeným",
"Favorite" : "Oblíbené",
- "Folder" : "Adresář",
"New folder" : "Nový adresář",
- "Upload" : "Odeslat",
"An error occurred while trying to update the tags" : "Při pokusu o úpravu tagů nastala chyba",
"Added to favorites" : "Přidán k oblíbeným",
"Removed from favorites" : "Odebráno z oblíbených",
@@ -118,6 +116,7 @@
"Select all" : "Vybrat vše",
"Upload too large" : "Odesílaný soubor je příliš velký",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Soubory, které se snažíte odeslat, překračují limit velikosti odesílání na tomto serveru.",
+ "No favorites yet" : "Zatím nic oblíbeného",
"Files and folders you mark as favorite will show up here" : "Zde budou zobrazeny soubory a adresáře označené jako oblíbené",
"Shared with you" : "Sdíleno s vámi",
"Shared with others" : "Sdíleno s ostatními",
@@ -136,6 +135,8 @@
"Soon..." : "Brzy...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Probíhá odesílání souboru. Opuštění stránky způsobí zrušení nahrávání.",
"Copy local link" : "Kopírovat místní odkaz",
+ "Folder" : "Adresář",
+ "Upload" : "Odeslat",
"No favorites" : "Žádné oblíbené"
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js
index 3b46f7a4e6c..f8e3a1c68e6 100644
--- a/apps/files/l10n/da.js
+++ b/apps/files/l10n/da.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"Favorited" : "Gjort til foretrukken",
"Favorite" : "Foretrukken",
"Copy direct link (only works for users who have access to this file/folder)" : "Kopier direkte link (virker kun for brugere der har adgang til denne fil/mappe)",
- "Folder" : "Mappe",
"New folder" : "Ny Mappe",
- "Upload" : "Upload",
"An error occurred while trying to update the tags" : "Der opstod en fejl under forsøg på at opdatere mærkerne",
"Added to favorites" : "Tilføjet til favoritter",
"Removed from favorites" : "Fjernet fra favoritter",
@@ -140,6 +138,8 @@ OC.L10N.register(
"Soon..." : "Snart...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret.",
"Copy local link" : "Kopier lokalt link",
+ "Folder" : "Mappe",
+ "Upload" : "Upload",
"No favorites" : "Ingen foretrukne"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json
index e7a93be7897..58f4b7a7f57 100644
--- a/apps/files/l10n/da.json
+++ b/apps/files/l10n/da.json
@@ -68,9 +68,7 @@
"Favorited" : "Gjort til foretrukken",
"Favorite" : "Foretrukken",
"Copy direct link (only works for users who have access to this file/folder)" : "Kopier direkte link (virker kun for brugere der har adgang til denne fil/mappe)",
- "Folder" : "Mappe",
"New folder" : "Ny Mappe",
- "Upload" : "Upload",
"An error occurred while trying to update the tags" : "Der opstod en fejl under forsøg på at opdatere mærkerne",
"Added to favorites" : "Tilføjet til favoritter",
"Removed from favorites" : "Fjernet fra favoritter",
@@ -138,6 +136,8 @@
"Soon..." : "Snart...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret.",
"Copy local link" : "Kopier lokalt link",
+ "Folder" : "Mappe",
+ "Upload" : "Upload",
"No favorites" : "Ingen foretrukne"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js
index 11eab0afdfa..e3016812b25 100644
--- a/apps/files/l10n/de.js
+++ b/apps/files/l10n/de.js
@@ -70,9 +70,8 @@ OC.L10N.register(
"Favorited" : "Favorisiert",
"Favorite" : "Favorit",
"Copy direct link (only works for users who have access to this file/folder)" : "Direkten Link kopieren (funktioniert nur für Nutzer, die Zugriff auf diese(n) Datei/Ordner haben)",
- "Folder" : "Ordner",
"New folder" : "Neuer Ordner",
- "Upload" : "Hochladen",
+ "Upload file" : "Datei hochladen",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
"Added to favorites" : "Zu den Favoriten hinzugefügt",
"Removed from favorites" : "Aus den Favoriten entfernt",
@@ -140,6 +139,8 @@ OC.L10N.register(
"Soon..." : "Bald...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Dateiupload läuft. Wenn die Seite jetzt verlassen wird, bricht der Upload ab.",
"Copy local link" : "Kopiere lokale Verknüpfung",
+ "Folder" : "Ordner",
+ "Upload" : "Hochladen",
"No favorites" : "Keine Favoriten"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json
index d6a03ee530d..289d851b83e 100644
--- a/apps/files/l10n/de.json
+++ b/apps/files/l10n/de.json
@@ -68,9 +68,8 @@
"Favorited" : "Favorisiert",
"Favorite" : "Favorit",
"Copy direct link (only works for users who have access to this file/folder)" : "Direkten Link kopieren (funktioniert nur für Nutzer, die Zugriff auf diese(n) Datei/Ordner haben)",
- "Folder" : "Ordner",
"New folder" : "Neuer Ordner",
- "Upload" : "Hochladen",
+ "Upload file" : "Datei hochladen",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
"Added to favorites" : "Zu den Favoriten hinzugefügt",
"Removed from favorites" : "Aus den Favoriten entfernt",
@@ -138,6 +137,8 @@
"Soon..." : "Bald...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Dateiupload läuft. Wenn die Seite jetzt verlassen wird, bricht der Upload ab.",
"Copy local link" : "Kopiere lokale Verknüpfung",
+ "Folder" : "Ordner",
+ "Upload" : "Hochladen",
"No favorites" : "Keine Favoriten"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js
index 6ecd8d7907f..2d9978adf80 100644
--- a/apps/files/l10n/de_DE.js
+++ b/apps/files/l10n/de_DE.js
@@ -70,9 +70,8 @@ OC.L10N.register(
"Favorited" : "Favorisiert",
"Favorite" : "Favorit",
"Copy direct link (only works for users who have access to this file/folder)" : "Direkten Link kopieren (funktioniert nur für Nutzer, die Zugriff auf diese(n) Datei/Ordner haben)",
- "Folder" : "Ordner",
"New folder" : "Neuer Ordner",
- "Upload" : "Hochladen",
+ "Upload file" : "Datei hochladen",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
"Added to favorites" : "Zu den Favoriten hinzugefügt",
"Removed from favorites" : "Aus den Favoriten entfernt",
@@ -140,6 +139,8 @@ OC.L10N.register(
"Soon..." : "Bald...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.",
"Copy local link" : "Lokalen Link kopieren",
+ "Folder" : "Ordner",
+ "Upload" : "Hochladen",
"No favorites" : "Keine Favoriten"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json
index 151897f86f5..33306068d4b 100644
--- a/apps/files/l10n/de_DE.json
+++ b/apps/files/l10n/de_DE.json
@@ -68,9 +68,8 @@
"Favorited" : "Favorisiert",
"Favorite" : "Favorit",
"Copy direct link (only works for users who have access to this file/folder)" : "Direkten Link kopieren (funktioniert nur für Nutzer, die Zugriff auf diese(n) Datei/Ordner haben)",
- "Folder" : "Ordner",
"New folder" : "Neuer Ordner",
- "Upload" : "Hochladen",
+ "Upload file" : "Datei hochladen",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
"Added to favorites" : "Zu den Favoriten hinzugefügt",
"Removed from favorites" : "Aus den Favoriten entfernt",
@@ -138,6 +137,8 @@
"Soon..." : "Bald...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.",
"Copy local link" : "Lokalen Link kopieren",
+ "Folder" : "Ordner",
+ "Upload" : "Hochladen",
"No favorites" : "Keine Favoriten"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js
index 76ec93558c0..1b83f733fdb 100644
--- a/apps/files/l10n/el.js
+++ b/apps/files/l10n/el.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"Favorited" : "Προτιμώμενα",
"Favorite" : "Αγαπημένο",
"Copy direct link (only works for users who have access to this file/folder)" : "Αντιγραφή άμεσου συνδέσμου (λειτουργεί μόνο για χρήστες που έχουν πρόσβαση στο αρχείο/φάκελο)",
- "Folder" : "Φάκελος",
"New folder" : "Νέος φάκελος",
- "Upload" : "Μεταφόρτωση",
"An error occurred while trying to update the tags" : "Ένα σφάλμα προέκυψε κατά τη διάρκεια ενημέρωσης των ετικετών",
"Added to favorites" : "Προσθήκη στα αγαπημένα",
"Removed from favorites" : "Αφαίρεση από τα αγαπημένα",
@@ -140,6 +138,8 @@ OC.L10N.register(
"Soon..." : "Σύντομα...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Η αποστολή του αρχείου βρίσκεται σε εξέλιξη. Το κλείσιμο της σελίδας θα ακυρώσει την αποστολή.",
"Copy local link" : "Αντιγραφή τοπικού συνδέσμου",
+ "Folder" : "Φάκελος",
+ "Upload" : "Μεταφόρτωση",
"No favorites" : "Δεν υπάρχουν αγαπημένα"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json
index a3bf7dc15d5..63f0ad14b6a 100644
--- a/apps/files/l10n/el.json
+++ b/apps/files/l10n/el.json
@@ -68,9 +68,7 @@
"Favorited" : "Προτιμώμενα",
"Favorite" : "Αγαπημένο",
"Copy direct link (only works for users who have access to this file/folder)" : "Αντιγραφή άμεσου συνδέσμου (λειτουργεί μόνο για χρήστες που έχουν πρόσβαση στο αρχείο/φάκελο)",
- "Folder" : "Φάκελος",
"New folder" : "Νέος φάκελος",
- "Upload" : "Μεταφόρτωση",
"An error occurred while trying to update the tags" : "Ένα σφάλμα προέκυψε κατά τη διάρκεια ενημέρωσης των ετικετών",
"Added to favorites" : "Προσθήκη στα αγαπημένα",
"Removed from favorites" : "Αφαίρεση από τα αγαπημένα",
@@ -138,6 +136,8 @@
"Soon..." : "Σύντομα...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Η αποστολή του αρχείου βρίσκεται σε εξέλιξη. Το κλείσιμο της σελίδας θα ακυρώσει την αποστολή.",
"Copy local link" : "Αντιγραφή τοπικού συνδέσμου",
+ "Folder" : "Φάκελος",
+ "Upload" : "Μεταφόρτωση",
"No favorites" : "Δεν υπάρχουν αγαπημένα"
},"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 cb5b7b95c33..3742ba57e91 100644
--- a/apps/files/l10n/es.js
+++ b/apps/files/l10n/es.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"Favorited" : "Agregado a Favoritos",
"Favorite" : "Favorito",
"Copy direct link (only works for users who have access to this file/folder)" : "Copiae enlace directo (solo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "Folder" : "Carpeta",
"New folder" : "Nueva carpeta",
- "Upload" : "Subir",
"An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas",
"Added to favorites" : "Agregado a favoritos",
"Removed from favorites" : "Borrado de favoritos",
@@ -140,6 +138,8 @@ OC.L10N.register(
"Soon..." : "Dentro de poco...",
"File upload is in progress. Leaving the page now will cancel the upload." : "La subida del archivo está en proceso. Si sale de la página ahora, la subida será cancelada.",
"Copy local link" : "Copiar enlace local",
+ "Folder" : "Carpeta",
+ "Upload" : "Subir",
"No favorites" : "No hay favoritos"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json
index 718a74b08a8..eca337bcc4e 100644
--- a/apps/files/l10n/es.json
+++ b/apps/files/l10n/es.json
@@ -68,9 +68,7 @@
"Favorited" : "Agregado a Favoritos",
"Favorite" : "Favorito",
"Copy direct link (only works for users who have access to this file/folder)" : "Copiae enlace directo (solo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "Folder" : "Carpeta",
"New folder" : "Nueva carpeta",
- "Upload" : "Subir",
"An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas",
"Added to favorites" : "Agregado a favoritos",
"Removed from favorites" : "Borrado de favoritos",
@@ -138,6 +136,8 @@
"Soon..." : "Dentro de poco...",
"File upload is in progress. Leaving the page now will cancel the upload." : "La subida del archivo está en proceso. Si sale de la página ahora, la subida será cancelada.",
"Copy local link" : "Copiar enlace local",
+ "Folder" : "Carpeta",
+ "Upload" : "Subir",
"No favorites" : "No hay favoritos"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/es_MX.js b/apps/files/l10n/es_MX.js
index 2b241a5e4bf..0959615638c 100644
--- a/apps/files/l10n/es_MX.js
+++ b/apps/files/l10n/es_MX.js
@@ -70,9 +70,8 @@ OC.L10N.register(
"Favorited" : "Marcado como favorito",
"Favorite" : "Favorito",
"Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "Folder" : "Carpeta",
"New folder" : "Carpeta nueva",
- "Upload" : "Cargar",
+ "Upload file" : "Cargar archivo",
"An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
"Added to favorites" : "Agregado a los favoritos",
"Removed from favorites" : "Eliminado de los favoritos",
@@ -140,6 +139,8 @@ OC.L10N.register(
"Soon..." : "Pronto...",
"File upload is in progress. Leaving the page now will cancel the upload." : "La carga del archivo está en curso. El salir de la página ahora, la cancelará. ",
"Copy local link" : "Copiar liga local",
+ "Folder" : "Carpeta",
+ "Upload" : "Cargar",
"No favorites" : "No hay favoritos"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json
index b68e2e3f096..98746289bb5 100644
--- a/apps/files/l10n/es_MX.json
+++ b/apps/files/l10n/es_MX.json
@@ -68,9 +68,8 @@
"Favorited" : "Marcado como favorito",
"Favorite" : "Favorito",
"Copy direct link (only works for users who have access to this file/folder)" : "Copiar liga directa (sólo funciona para usuarios que tienen acceso a este archivo/carpeta)",
- "Folder" : "Carpeta",
"New folder" : "Carpeta nueva",
- "Upload" : "Cargar",
+ "Upload file" : "Cargar archivo",
"An error occurred while trying to update the tags" : "Se presentó un error al intentar actualizar la etiqueta",
"Added to favorites" : "Agregado a los favoritos",
"Removed from favorites" : "Eliminado de los favoritos",
@@ -138,6 +137,8 @@
"Soon..." : "Pronto...",
"File upload is in progress. Leaving the page now will cancel the upload." : "La carga del archivo está en curso. El salir de la página ahora, la cancelará. ",
"Copy local link" : "Copiar liga local",
+ "Folder" : "Carpeta",
+ "Upload" : "Cargar",
"No favorites" : "No hay favoritos"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js
index 2afe2de612a..6b5e84b480a 100644
--- a/apps/files/l10n/eu.js
+++ b/apps/files/l10n/eu.js
@@ -67,9 +67,7 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Gogokoa",
"Favorite" : "Gogokoa",
- "Folder" : "Karpeta",
"New folder" : "Karpeta berria",
- "Upload" : "Igo",
"An error occurred while trying to update the tags" : "Errore bat gertatu da etiketak eguneratzerakoan",
"Added to favorites" : "Gogokoetan gehitu da",
"Removed from favorites" : "Gogokoetatik kendu da",
@@ -136,6 +134,8 @@ OC.L10N.register(
"Soon..." : "Laster...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fitxategien igoera martxan da. Orria orain uzteak igoera ezeztatutko du.",
"Copy local link" : "Kopiatu tokiko esteka",
+ "Folder" : "Karpeta",
+ "Upload" : "Igo",
"No favorites" : "Gogokorik ez"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json
index f16b2d5c41e..4bfb4ebf2fb 100644
--- a/apps/files/l10n/eu.json
+++ b/apps/files/l10n/eu.json
@@ -65,9 +65,7 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Gogokoa",
"Favorite" : "Gogokoa",
- "Folder" : "Karpeta",
"New folder" : "Karpeta berria",
- "Upload" : "Igo",
"An error occurred while trying to update the tags" : "Errore bat gertatu da etiketak eguneratzerakoan",
"Added to favorites" : "Gogokoetan gehitu da",
"Removed from favorites" : "Gogokoetatik kendu da",
@@ -134,6 +132,8 @@
"Soon..." : "Laster...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fitxategien igoera martxan da. Orria orain uzteak igoera ezeztatutko du.",
"Copy local link" : "Kopiatu tokiko esteka",
+ "Folder" : "Karpeta",
+ "Upload" : "Igo",
"No favorites" : "Gogokorik ez"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/fi.js b/apps/files/l10n/fi.js
index 4c91b3f94de..7a75627d646 100644
--- a/apps/files/l10n/fi.js
+++ b/apps/files/l10n/fi.js
@@ -70,9 +70,8 @@ OC.L10N.register(
"Favorited" : "Lisätty suosikkeihin",
"Favorite" : "Suosikki",
"Copy direct link (only works for users who have access to this file/folder)" : "Kopioi suora linkki (toimii vain käyttäjillä, joilla on pääsyoikeus tähän tiedostoon/kansioon)",
- "Folder" : "Kansio",
"New folder" : "Uusi kansio",
- "Upload" : "Lähetä",
+ "Upload file" : "Lähetä tiedosto",
"An error occurred while trying to update the tags" : "Tunnisteiden päivitystä yrittäessä tapahtui virhe",
"Added to favorites" : "Lisätty suosikkeihin",
"Removed from favorites" : "Poistettu suosikeista",
@@ -140,6 +139,8 @@ OC.L10N.register(
"Soon..." : "Pian...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Tiedoston lähetys on meneillään. Sivulta poistuminen nyt peruu tiedoston lähetyksen.",
"Copy local link" : "Kopioi paikallinen linkki",
+ "Folder" : "Kansio",
+ "Upload" : "Lähetä",
"No favorites" : "Ei suosikkeja"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/fi.json b/apps/files/l10n/fi.json
index 33fdbe9fb17..7baa284955a 100644
--- a/apps/files/l10n/fi.json
+++ b/apps/files/l10n/fi.json
@@ -68,9 +68,8 @@
"Favorited" : "Lisätty suosikkeihin",
"Favorite" : "Suosikki",
"Copy direct link (only works for users who have access to this file/folder)" : "Kopioi suora linkki (toimii vain käyttäjillä, joilla on pääsyoikeus tähän tiedostoon/kansioon)",
- "Folder" : "Kansio",
"New folder" : "Uusi kansio",
- "Upload" : "Lähetä",
+ "Upload file" : "Lähetä tiedosto",
"An error occurred while trying to update the tags" : "Tunnisteiden päivitystä yrittäessä tapahtui virhe",
"Added to favorites" : "Lisätty suosikkeihin",
"Removed from favorites" : "Poistettu suosikeista",
@@ -138,6 +137,8 @@
"Soon..." : "Pian...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Tiedoston lähetys on meneillään. Sivulta poistuminen nyt peruu tiedoston lähetyksen.",
"Copy local link" : "Kopioi paikallinen linkki",
+ "Folder" : "Kansio",
+ "Upload" : "Lähetä",
"No favorites" : "Ei suosikkeja"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js
index 03701448be1..9fd2e3bce1e 100644
--- a/apps/files/l10n/fr.js
+++ b/apps/files/l10n/fr.js
@@ -70,9 +70,8 @@ OC.L10N.register(
"Favorited" : "Marqué comme favori",
"Favorite" : "Favoris",
"Copy direct link (only works for users who have access to this file/folder)" : "Copier lien direct (fonctionne seulement pour les utilisateurs qui ont accès a ce fichier/dossier)",
- "Folder" : "Dossier",
"New folder" : "Nouveau dossier",
- "Upload" : "Téléverser",
+ "Upload file" : "Téléverser un fichier",
"An error occurred while trying to update the tags" : "Une erreur est survenue lors de la mise à jour des étiquettes",
"Added to favorites" : "Ajouté aux favoris",
"Removed from favorites" : "Retiré des favoris",
@@ -140,6 +139,8 @@ OC.L10N.register(
"Soon..." : "Bientôt…",
"File upload is in progress. Leaving the page now will cancel the upload." : "L'envoi du fichier est en cours. Quitter cette page maintenant annulera l'envoi du fichier.",
"Copy local link" : "Copier le dossier local",
+ "Folder" : "Dossier",
+ "Upload" : "Téléverser",
"No favorites" : "Aucun favori"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json
index 1b1157bc055..98c6dea8c74 100644
--- a/apps/files/l10n/fr.json
+++ b/apps/files/l10n/fr.json
@@ -68,9 +68,8 @@
"Favorited" : "Marqué comme favori",
"Favorite" : "Favoris",
"Copy direct link (only works for users who have access to this file/folder)" : "Copier lien direct (fonctionne seulement pour les utilisateurs qui ont accès a ce fichier/dossier)",
- "Folder" : "Dossier",
"New folder" : "Nouveau dossier",
- "Upload" : "Téléverser",
+ "Upload file" : "Téléverser un fichier",
"An error occurred while trying to update the tags" : "Une erreur est survenue lors de la mise à jour des étiquettes",
"Added to favorites" : "Ajouté aux favoris",
"Removed from favorites" : "Retiré des favoris",
@@ -138,6 +137,8 @@
"Soon..." : "Bientôt…",
"File upload is in progress. Leaving the page now will cancel the upload." : "L'envoi du fichier est en cours. Quitter cette page maintenant annulera l'envoi du fichier.",
"Copy local link" : "Copier le dossier local",
+ "Folder" : "Dossier",
+ "Upload" : "Téléverser",
"No favorites" : "Aucun favori"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/hu.js b/apps/files/l10n/hu.js
index 924a755a491..81975df962b 100644
--- a/apps/files/l10n/hu.js
+++ b/apps/files/l10n/hu.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"Favorited" : "Kedvenc",
"Favorite" : "Kedvenc",
"Copy direct link (only works for users who have access to this file/folder)" : "Közvetlen hivatkozás másolása (csak azoknál a felhasználóknál működik akiknek hozzáférése van a fájlhoz/mappához)",
- "Folder" : "Mappa",
"New folder" : "Új mappa",
- "Upload" : "Feltöltés",
"An error occurred while trying to update the tags" : "Hiba történt, miközben megpróbálta frissíteni a címkéket",
"Added to favorites" : "Hozzáadva a kedvencekhez",
"Removed from favorites" : "Eltávolítva a kedvencekből",
@@ -140,6 +138,8 @@ OC.L10N.register(
"Soon..." : "Hamarosan...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fájlfeltöltés van folyamatban. Az oldal elhagyása megszakítja a feltöltést.",
"Copy local link" : "Helyi hivatkozás másolása",
+ "Folder" : "Mappa",
+ "Upload" : "Feltöltés",
"No favorites" : "Nincsenek kedvencek"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/hu.json b/apps/files/l10n/hu.json
index 6d76536ce47..1f55b5e8397 100644
--- a/apps/files/l10n/hu.json
+++ b/apps/files/l10n/hu.json
@@ -68,9 +68,7 @@
"Favorited" : "Kedvenc",
"Favorite" : "Kedvenc",
"Copy direct link (only works for users who have access to this file/folder)" : "Közvetlen hivatkozás másolása (csak azoknál a felhasználóknál működik akiknek hozzáférése van a fájlhoz/mappához)",
- "Folder" : "Mappa",
"New folder" : "Új mappa",
- "Upload" : "Feltöltés",
"An error occurred while trying to update the tags" : "Hiba történt, miközben megpróbálta frissíteni a címkéket",
"Added to favorites" : "Hozzáadva a kedvencekhez",
"Removed from favorites" : "Eltávolítva a kedvencekből",
@@ -138,6 +136,8 @@
"Soon..." : "Hamarosan...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fájlfeltöltés van folyamatban. Az oldal elhagyása megszakítja a feltöltést.",
"Copy local link" : "Helyi hivatkozás másolása",
+ "Folder" : "Mappa",
+ "Upload" : "Feltöltés",
"No favorites" : "Nincsenek kedvencek"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/ia.js b/apps/files/l10n/ia.js
index bf4340a24c5..b73afd543dc 100644
--- a/apps/files/l10n/ia.js
+++ b/apps/files/l10n/ia.js
@@ -69,9 +69,7 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Favorite",
"Favorite" : "Favorite",
- "Folder" : "Dossier",
"New folder" : "Nove dossier",
- "Upload" : "Incargar",
"An error occurred while trying to update the tags" : "Un error occurreva durante le actualisation del etiquettas",
"Added to favorites" : "Addite al favoritos",
"Removed from favorites" : "Removite del favoritos",
@@ -138,6 +136,8 @@ OC.L10N.register(
"Soon..." : "Proximemente...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Incarga de un file es in progresso. Quitar le pagina ora cancellara le incarga.",
"Copy local link" : "Copiar ligamine local",
+ "Folder" : "Dossier",
+ "Upload" : "Incargar",
"No favorites" : "Nulle favoritos"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ia.json b/apps/files/l10n/ia.json
index 95318e3dd42..468996a079d 100644
--- a/apps/files/l10n/ia.json
+++ b/apps/files/l10n/ia.json
@@ -67,9 +67,7 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Favorite",
"Favorite" : "Favorite",
- "Folder" : "Dossier",
"New folder" : "Nove dossier",
- "Upload" : "Incargar",
"An error occurred while trying to update the tags" : "Un error occurreva durante le actualisation del etiquettas",
"Added to favorites" : "Addite al favoritos",
"Removed from favorites" : "Removite del favoritos",
@@ -136,6 +134,8 @@
"Soon..." : "Proximemente...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Incarga de un file es in progresso. Quitar le pagina ora cancellara le incarga.",
"Copy local link" : "Copiar ligamine local",
+ "Folder" : "Dossier",
+ "Upload" : "Incargar",
"No favorites" : "Nulle favoritos"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js
index 7431287a389..db4e2e89687 100644
--- a/apps/files/l10n/is.js
+++ b/apps/files/l10n/is.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"Favorited" : "Sett í eftirlæti",
"Favorite" : "Eftirlæti",
"Copy direct link (only works for users who have access to this file/folder)" : "Afrita beinan tengil (virkar bara fyrir notendur sem eiga aðgang að þessari skrá/möppu)",
- "Folder" : "Mappa",
"New folder" : "Ný mappa",
- "Upload" : "Senda inn",
"An error occurred while trying to update the tags" : "Villa kom upp við að reyna að uppfæra merkin",
"Added to favorites" : "Bætt í eftirlæti",
"Removed from favorites" : "Fjarlægt úr eftirlætum",
@@ -140,6 +138,8 @@ OC.L10N.register(
"Soon..." : "Bráðum...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending hætta.",
"Copy local link" : "Afrita staðværan tengil",
+ "Folder" : "Mappa",
+ "Upload" : "Senda inn",
"No favorites" : "Engin eftirlæti"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json
index 6ef9d3e8656..3c1d5fdcab9 100644
--- a/apps/files/l10n/is.json
+++ b/apps/files/l10n/is.json
@@ -68,9 +68,7 @@
"Favorited" : "Sett í eftirlæti",
"Favorite" : "Eftirlæti",
"Copy direct link (only works for users who have access to this file/folder)" : "Afrita beinan tengil (virkar bara fyrir notendur sem eiga aðgang að þessari skrá/möppu)",
- "Folder" : "Mappa",
"New folder" : "Ný mappa",
- "Upload" : "Senda inn",
"An error occurred while trying to update the tags" : "Villa kom upp við að reyna að uppfæra merkin",
"Added to favorites" : "Bætt í eftirlæti",
"Removed from favorites" : "Fjarlægt úr eftirlætum",
@@ -138,6 +136,8 @@
"Soon..." : "Bráðum...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending hætta.",
"Copy local link" : "Afrita staðværan tengil",
+ "Folder" : "Mappa",
+ "Upload" : "Senda inn",
"No favorites" : "Engin eftirlæti"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js
index aea171dbf8b..0dba546e76d 100644
--- a/apps/files/l10n/it.js
+++ b/apps/files/l10n/it.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"Favorited" : "Preferiti",
"Favorite" : "Preferito",
"Copy direct link (only works for users who have access to this file/folder)" : "Copia link diretto (funziona solo per utenti che hanno accesso a questo file / cartella)",
- "Folder" : "Cartella",
"New folder" : "Nuova cartella",
- "Upload" : "Carica",
"An error occurred while trying to update the tags" : "Si è verificato un errore durante il tentativo di aggiornare le etichette",
"Added to favorites" : "Aggiunto ai preferiti",
"Removed from favorites" : "Rimosso dai preferiti",
@@ -140,6 +138,8 @@ OC.L10N.register(
"Soon..." : "Presto...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Caricamento del file in corso. La chiusura della pagina annullerà il caricamento.",
"Copy local link" : "Copia collegamento locale",
+ "Folder" : "Cartella",
+ "Upload" : "Carica",
"No favorites" : "Nessun preferito"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json
index b328763425d..019e831f7d7 100644
--- a/apps/files/l10n/it.json
+++ b/apps/files/l10n/it.json
@@ -68,9 +68,7 @@
"Favorited" : "Preferiti",
"Favorite" : "Preferito",
"Copy direct link (only works for users who have access to this file/folder)" : "Copia link diretto (funziona solo per utenti che hanno accesso a questo file / cartella)",
- "Folder" : "Cartella",
"New folder" : "Nuova cartella",
- "Upload" : "Carica",
"An error occurred while trying to update the tags" : "Si è verificato un errore durante il tentativo di aggiornare le etichette",
"Added to favorites" : "Aggiunto ai preferiti",
"Removed from favorites" : "Rimosso dai preferiti",
@@ -138,6 +136,8 @@
"Soon..." : "Presto...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Caricamento del file in corso. La chiusura della pagina annullerà il caricamento.",
"Copy local link" : "Copia collegamento locale",
+ "Folder" : "Cartella",
+ "Upload" : "Carica",
"No favorites" : "Nessun preferito"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js
index 893912f7ef8..4787c338e31 100644
--- a/apps/files/l10n/ja.js
+++ b/apps/files/l10n/ja.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"Favorited" : "お気に入り済",
"Favorite" : "お気に入り",
"Copy direct link (only works for users who have access to this file/folder)" : "ダイレクトリンクをコピー (このファイル/フォルダにアクセスできるユーザーのみ)",
- "Folder" : "フォルダー",
"New folder" : "新しいフォルダー",
- "Upload" : "アップロード",
"An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました",
"Added to favorites" : "お気に入りに追加",
"Removed from favorites" : "お気に入りから削除",
@@ -140,6 +138,8 @@ OC.L10N.register(
"Soon..." : "まもなく…",
"File upload is in progress. Leaving the page now will cancel the upload." : "ファイル転送を実行中です。今このページから移動するとアップロードが中止されます。",
"Copy local link" : "ローカルリンクをコピー",
+ "Folder" : "フォルダー",
+ "Upload" : "アップロード",
"No favorites" : "お気に入りなし"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json
index 8dafe735c23..2b5f1e61b31 100644
--- a/apps/files/l10n/ja.json
+++ b/apps/files/l10n/ja.json
@@ -68,9 +68,7 @@
"Favorited" : "お気に入り済",
"Favorite" : "お気に入り",
"Copy direct link (only works for users who have access to this file/folder)" : "ダイレクトリンクをコピー (このファイル/フォルダにアクセスできるユーザーのみ)",
- "Folder" : "フォルダー",
"New folder" : "新しいフォルダー",
- "Upload" : "アップロード",
"An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました",
"Added to favorites" : "お気に入りに追加",
"Removed from favorites" : "お気に入りから削除",
@@ -138,6 +136,8 @@
"Soon..." : "まもなく…",
"File upload is in progress. Leaving the page now will cancel the upload." : "ファイル転送を実行中です。今このページから移動するとアップロードが中止されます。",
"Copy local link" : "ローカルリンクをコピー",
+ "Folder" : "フォルダー",
+ "Upload" : "アップロード",
"No favorites" : "お気に入りなし"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js
index ca86b8ff624..8bc18ab6ae8 100644
--- a/apps/files/l10n/ko.js
+++ b/apps/files/l10n/ko.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"Favorited" : "즐겨찾기에 추가됨",
"Favorite" : "즐겨찾기",
"Copy direct link (only works for users who have access to this file/folder)" : "직접 링크 복사(이 파일/폴더에 접근 권한이 있는 사람만)",
- "Folder" : "폴더",
"New folder" : "새 폴더",
- "Upload" : "업로드",
"An error occurred while trying to update the tags" : "태그를 업데이트하는 중 오류 발생",
"Added to favorites" : "즐겨찾기에 추가됨",
"Removed from favorites" : "즐겨찾기에서 삭제됨",
@@ -140,6 +138,8 @@ OC.L10N.register(
"Soon..." : "곧...",
"File upload is in progress. Leaving the page now will cancel the upload." : "파일 업로드가 진행 중입니다. 이 페이지를 벗어나면 업로드가 취소됩니다.",
"Copy local link" : "로컬 링크 복사",
+ "Folder" : "폴더",
+ "Upload" : "업로드",
"No favorites" : "즐겨찾는 항목 없음"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json
index 45c24ecee1b..7066981aea5 100644
--- a/apps/files/l10n/ko.json
+++ b/apps/files/l10n/ko.json
@@ -68,9 +68,7 @@
"Favorited" : "즐겨찾기에 추가됨",
"Favorite" : "즐겨찾기",
"Copy direct link (only works for users who have access to this file/folder)" : "직접 링크 복사(이 파일/폴더에 접근 권한이 있는 사람만)",
- "Folder" : "폴더",
"New folder" : "새 폴더",
- "Upload" : "업로드",
"An error occurred while trying to update the tags" : "태그를 업데이트하는 중 오류 발생",
"Added to favorites" : "즐겨찾기에 추가됨",
"Removed from favorites" : "즐겨찾기에서 삭제됨",
@@ -138,6 +136,8 @@
"Soon..." : "곧...",
"File upload is in progress. Leaving the page now will cancel the upload." : "파일 업로드가 진행 중입니다. 이 페이지를 벗어나면 업로드가 취소됩니다.",
"Copy local link" : "로컬 링크 복사",
+ "Folder" : "폴더",
+ "Upload" : "업로드",
"No favorites" : "즐겨찾는 항목 없음"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/lb.js b/apps/files/l10n/lb.js
index 8cc0c59a856..64de0ceea63 100644
--- a/apps/files/l10n/lb.js
+++ b/apps/files/l10n/lb.js
@@ -69,9 +69,7 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["¦%n Byte","¦%n Byte"],
"Favorited" : "Favoriséiert",
"Favorite" : "Favorit",
- "Folder" : "Dossier",
"New folder" : "Neien Dossier",
- "Upload" : "Eroplueden",
"An error occurred while trying to update the tags" : "Beim Updaten vun den Tags ass e Fehler entstaanen",
"Added to favorites" : "Zu den Favoriten dobaigesat",
"Removed from favorites" : "Vun den Favoriten eweggeholl",
@@ -138,6 +136,8 @@ OC.L10N.register(
"Soon..." : "Geschwënn",
"File upload is in progress. Leaving the page now will cancel the upload." : "File Upload am gaang. Wann's de des Säit verléiss gëtt den Upload ofgebrach.",
"Copy local link" : "Lokale Link kopéiert",
+ "Folder" : "Dossier",
+ "Upload" : "Eroplueden",
"No favorites" : "Keng Favoriten"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/lb.json b/apps/files/l10n/lb.json
index 6e7014c2429..3fc39ab0b50 100644
--- a/apps/files/l10n/lb.json
+++ b/apps/files/l10n/lb.json
@@ -67,9 +67,7 @@
"_%n byte_::_%n bytes_" : ["¦%n Byte","¦%n Byte"],
"Favorited" : "Favoriséiert",
"Favorite" : "Favorit",
- "Folder" : "Dossier",
"New folder" : "Neien Dossier",
- "Upload" : "Eroplueden",
"An error occurred while trying to update the tags" : "Beim Updaten vun den Tags ass e Fehler entstaanen",
"Added to favorites" : "Zu den Favoriten dobaigesat",
"Removed from favorites" : "Vun den Favoriten eweggeholl",
@@ -136,6 +134,8 @@
"Soon..." : "Geschwënn",
"File upload is in progress. Leaving the page now will cancel the upload." : "File Upload am gaang. Wann's de des Säit verléiss gëtt den Upload ofgebrach.",
"Copy local link" : "Lokale Link kopéiert",
+ "Folder" : "Dossier",
+ "Upload" : "Eroplueden",
"No favorites" : "Keng Favoriten"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js
index 59b953957e1..9d8dbe6b395 100644
--- a/apps/files/l10n/lt_LT.js
+++ b/apps/files/l10n/lt_LT.js
@@ -69,9 +69,7 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n baitas","%n baitai","%n baitų"],
"Favorited" : "Pažymėta mėgstamu",
"Favorite" : "Mėgiamas",
- "Folder" : "Aplankas",
"New folder" : "Naujas aplankas",
- "Upload" : "Įkelti",
"An error occurred while trying to update the tags" : "Bandant atnaujinti žymes įvyko klaida",
"Added to favorites" : "Pridėta prie mėgstamųjų",
"Removed from favorites" : "Pašalinta iš mėgstamųjų",
@@ -138,6 +136,8 @@ OC.L10N.register(
"Soon..." : "Netrukus...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Failo įkėlimas yra eigoje. Jei išeisite iš šio puslapio, įkėlimo bus atsisakyta.",
"Copy local link" : "Kopijuoti vietinę nuorodą",
+ "Folder" : "Aplankas",
+ "Upload" : "Įkelti",
"No favorites" : "Nėra mėgstamiausių"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json
index d70f4cf08d0..2972a1805ec 100644
--- a/apps/files/l10n/lt_LT.json
+++ b/apps/files/l10n/lt_LT.json
@@ -67,9 +67,7 @@
"_%n byte_::_%n bytes_" : ["%n baitas","%n baitai","%n baitų"],
"Favorited" : "Pažymėta mėgstamu",
"Favorite" : "Mėgiamas",
- "Folder" : "Aplankas",
"New folder" : "Naujas aplankas",
- "Upload" : "Įkelti",
"An error occurred while trying to update the tags" : "Bandant atnaujinti žymes įvyko klaida",
"Added to favorites" : "Pridėta prie mėgstamųjų",
"Removed from favorites" : "Pašalinta iš mėgstamųjų",
@@ -136,6 +134,8 @@
"Soon..." : "Netrukus...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Failo įkėlimas yra eigoje. Jei išeisite iš šio puslapio, įkėlimo bus atsisakyta.",
"Copy local link" : "Kopijuoti vietinę nuorodą",
+ "Folder" : "Aplankas",
+ "Upload" : "Įkelti",
"No favorites" : "Nėra mėgstamiausių"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/files/l10n/lv.js b/apps/files/l10n/lv.js
index c4d5906b847..6ced3c7fe60 100644
--- a/apps/files/l10n/lv.js
+++ b/apps/files/l10n/lv.js
@@ -67,9 +67,7 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n baiti","%n baits","%n baiti"],
"Favorited" : "Favorīti",
"Favorite" : "Iecienītais",
- "Folder" : "Mape",
"New folder" : "Jauna mape",
- "Upload" : "Augšupielādēt",
"An error occurred while trying to update the tags" : "Notika kļūda atjaunojot atzīmi",
"Added to favorites" : "Pievienot izlasei",
"Removed from favorites" : "Noņemt no izlases",
@@ -136,6 +134,8 @@ OC.L10N.register(
"Soon..." : "Drīz...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Notiek augšupielāde. Pametot lapu tagad, tiks atcelta augšupielāde.",
"Copy local link" : "Kopēt lokālo saiti",
+ "Folder" : "Mape",
+ "Upload" : "Augšupielādēt",
"No favorites" : "Nav favorītu"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/files/l10n/lv.json b/apps/files/l10n/lv.json
index 76e1290cc48..84217870a7e 100644
--- a/apps/files/l10n/lv.json
+++ b/apps/files/l10n/lv.json
@@ -65,9 +65,7 @@
"_%n byte_::_%n bytes_" : ["%n baiti","%n baits","%n baiti"],
"Favorited" : "Favorīti",
"Favorite" : "Iecienītais",
- "Folder" : "Mape",
"New folder" : "Jauna mape",
- "Upload" : "Augšupielādēt",
"An error occurred while trying to update the tags" : "Notika kļūda atjaunojot atzīmi",
"Added to favorites" : "Pievienot izlasei",
"Removed from favorites" : "Noņemt no izlases",
@@ -134,6 +132,8 @@
"Soon..." : "Drīz...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Notiek augšupielāde. Pametot lapu tagad, tiks atcelta augšupielāde.",
"Copy local link" : "Kopēt lokālo saiti",
+ "Folder" : "Mape",
+ "Upload" : "Augšupielādēt",
"No favorites" : "Nav favorītu"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/files/l10n/nb.js b/apps/files/l10n/nb.js
index 0ed0a39e018..52ce6eb6960 100644
--- a/apps/files/l10n/nb.js
+++ b/apps/files/l10n/nb.js
@@ -70,9 +70,8 @@ OC.L10N.register(
"Favorited" : "Er favoritt",
"Favorite" : "Gjør til favoritt",
"Copy direct link (only works for users who have access to this file/folder)" : "Kopier direkte lenke (virker bare for brukere som har tilgang til denne fila/mappa)",
- "Folder" : "Mappe",
"New folder" : "Ny mappe",
- "Upload" : "Last opp",
+ "Upload file" : "Last opp fil",
"An error occurred while trying to update the tags" : "En feil oppstod under oppdatering av merkelappene",
"Added to favorites" : "Lagt til i favoritter",
"Removed from favorites" : "Fjernet fra favoritter",
@@ -140,6 +139,8 @@ OC.L10N.register(
"Soon..." : "Snart...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Filopplasting pågår. Forlater du siden nå avbrytes opplastingen.",
"Copy local link" : "Kopier lokal lenke",
+ "Folder" : "Mappe",
+ "Upload" : "Last opp",
"No favorites" : "Ingen favoritter"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/nb.json b/apps/files/l10n/nb.json
index 2c5686e659e..9304f59f8da 100644
--- a/apps/files/l10n/nb.json
+++ b/apps/files/l10n/nb.json
@@ -68,9 +68,8 @@
"Favorited" : "Er favoritt",
"Favorite" : "Gjør til favoritt",
"Copy direct link (only works for users who have access to this file/folder)" : "Kopier direkte lenke (virker bare for brukere som har tilgang til denne fila/mappa)",
- "Folder" : "Mappe",
"New folder" : "Ny mappe",
- "Upload" : "Last opp",
+ "Upload file" : "Last opp fil",
"An error occurred while trying to update the tags" : "En feil oppstod under oppdatering av merkelappene",
"Added to favorites" : "Lagt til i favoritter",
"Removed from favorites" : "Fjernet fra favoritter",
@@ -138,6 +137,8 @@
"Soon..." : "Snart...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Filopplasting pågår. Forlater du siden nå avbrytes opplastingen.",
"Copy local link" : "Kopier lokal lenke",
+ "Folder" : "Mappe",
+ "Upload" : "Last opp",
"No favorites" : "Ingen favoritter"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index b0635b2e9d4..62e87dedcce 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -70,9 +70,8 @@ OC.L10N.register(
"Favorited" : "Favoriet",
"Favorite" : "Favoriet",
"Copy direct link (only works for users who have access to this file/folder)" : "Kopieer de link direct (werkt alleen voor gebruikers met toegang tot map/bestand)",
- "Folder" : "Map",
"New folder" : "Nieuwe map",
- "Upload" : "Uploaden",
+ "Upload file" : "Bestand uploaden",
"An error occurred while trying to update the tags" : "Er trad een fout op bij jouw poging om de markeringen bij te werken",
"Added to favorites" : "Toevoegen aan favorieten",
"Removed from favorites" : "Verwijderen uit favorieten",
@@ -140,6 +139,8 @@ OC.L10N.register(
"Soon..." : "Binnenkort...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Bestandsupload is bezig. Wanneer de pagina nu verlaten wordt, stopt de upload.",
"Copy local link" : "Kopiëren lokale link",
+ "Folder" : "Map",
+ "Upload" : "Uploaden",
"No favorites" : "Geen favorieten"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index 9ba31c7b35c..9d4b4547c5b 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -68,9 +68,8 @@
"Favorited" : "Favoriet",
"Favorite" : "Favoriet",
"Copy direct link (only works for users who have access to this file/folder)" : "Kopieer de link direct (werkt alleen voor gebruikers met toegang tot map/bestand)",
- "Folder" : "Map",
"New folder" : "Nieuwe map",
- "Upload" : "Uploaden",
+ "Upload file" : "Bestand uploaden",
"An error occurred while trying to update the tags" : "Er trad een fout op bij jouw poging om de markeringen bij te werken",
"Added to favorites" : "Toevoegen aan favorieten",
"Removed from favorites" : "Verwijderen uit favorieten",
@@ -138,6 +137,8 @@
"Soon..." : "Binnenkort...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Bestandsupload is bezig. Wanneer de pagina nu verlaten wordt, stopt de upload.",
"Copy local link" : "Kopiëren lokale link",
+ "Folder" : "Map",
+ "Upload" : "Uploaden",
"No favorites" : "Geen favorieten"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js
index 62860215eca..89d5cb476e7 100644
--- a/apps/files/l10n/pl.js
+++ b/apps/files/l10n/pl.js
@@ -70,9 +70,8 @@ OC.L10N.register(
"Favorited" : "Ulubiony",
"Favorite" : "Ulubione",
"Copy direct link (only works for users who have access to this file/folder)" : "Skopiuj link bezpośredni (działa tylko dla użytkowników, którzy mają dostęp do pliku/folderu)",
- "Folder" : "Folder",
"New folder" : "Nowy folder",
- "Upload" : "Wyślij",
+ "Upload file" : "Załaduj plik",
"An error occurred while trying to update the tags" : "Wystąpił błąd podczas aktualizacji tagów",
"Added to favorites" : "Dodano do ulubionych",
"Removed from favorites" : "Usunięto z ulubionych",
@@ -140,6 +139,8 @@ OC.L10N.register(
"Soon..." : "Wkrótce...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Wysyłanie pliku jest w toku. Jeśli opuścisz tę stronę, wysyłanie zostanie przerwane.",
"Copy local link" : "Kopiowanie lokalnego linku",
+ "Folder" : "Folder",
+ "Upload" : "Wyślij",
"No favorites" : "Brak ulubionych"
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json
index ab3d703873e..e346fcda6bc 100644
--- a/apps/files/l10n/pl.json
+++ b/apps/files/l10n/pl.json
@@ -68,9 +68,8 @@
"Favorited" : "Ulubiony",
"Favorite" : "Ulubione",
"Copy direct link (only works for users who have access to this file/folder)" : "Skopiuj link bezpośredni (działa tylko dla użytkowników, którzy mają dostęp do pliku/folderu)",
- "Folder" : "Folder",
"New folder" : "Nowy folder",
- "Upload" : "Wyślij",
+ "Upload file" : "Załaduj plik",
"An error occurred while trying to update the tags" : "Wystąpił błąd podczas aktualizacji tagów",
"Added to favorites" : "Dodano do ulubionych",
"Removed from favorites" : "Usunięto z ulubionych",
@@ -138,6 +137,8 @@
"Soon..." : "Wkrótce...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Wysyłanie pliku jest w toku. Jeśli opuścisz tę stronę, wysyłanie zostanie przerwane.",
"Copy local link" : "Kopiowanie lokalnego linku",
+ "Folder" : "Folder",
+ "Upload" : "Wyślij",
"No favorites" : "Brak ulubionych"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js
index 9efb56cec1e..f9fe8828458 100644
--- a/apps/files/l10n/pt_BR.js
+++ b/apps/files/l10n/pt_BR.js
@@ -70,9 +70,8 @@ OC.L10N.register(
"Favorited" : "Favoritado",
"Favorite" : "Favorito",
"Copy direct link (only works for users who have access to this file/folder)" : "Copiar link direto (somente funciona para usuários que tem acesso a este arquivo/pasta)",
- "Folder" : "Pasta",
"New folder" : "Nova pasta",
- "Upload" : "Enviar",
+ "Upload file" : "Enviar arquivo",
"An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas",
"Added to favorites" : "Adicionado aos favoritos",
"Removed from favorites" : "Excluído dos favoritos",
@@ -140,6 +139,8 @@ OC.L10N.register(
"Soon..." : "Logo...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Envio de arquivo em andamento. Sair da página agora cancelará o envio.",
"Copy local link" : "Copiar link local",
+ "Folder" : "Pasta",
+ "Upload" : "Enviar",
"No favorites" : "Sem favoritos"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json
index f185237235c..62e0fcb7af4 100644
--- a/apps/files/l10n/pt_BR.json
+++ b/apps/files/l10n/pt_BR.json
@@ -68,9 +68,8 @@
"Favorited" : "Favoritado",
"Favorite" : "Favorito",
"Copy direct link (only works for users who have access to this file/folder)" : "Copiar link direto (somente funciona para usuários que tem acesso a este arquivo/pasta)",
- "Folder" : "Pasta",
"New folder" : "Nova pasta",
- "Upload" : "Enviar",
+ "Upload file" : "Enviar arquivo",
"An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas",
"Added to favorites" : "Adicionado aos favoritos",
"Removed from favorites" : "Excluído dos favoritos",
@@ -138,6 +137,8 @@
"Soon..." : "Logo...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Envio de arquivo em andamento. Sair da página agora cancelará o envio.",
"Copy local link" : "Copiar link local",
+ "Folder" : "Pasta",
+ "Upload" : "Enviar",
"No favorites" : "Sem favoritos"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js
index 9b0091bd0f5..b15983d5202 100644
--- a/apps/files/l10n/ru.js
+++ b/apps/files/l10n/ru.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"Favorited" : "Избранное",
"Favorite" : "Избранное",
"Copy direct link (only works for users who have access to this file/folder)" : "Копировать прямую ссылку (работает только для пользователей с правами доступа к этому файлу или каталогу)",
- "Folder" : "Каталог",
"New folder" : "Новый каталог",
- "Upload" : "Загрузить",
"An error occurred while trying to update the tags" : "Во время обновления тегов возникла ошибка",
"Added to favorites" : "Добавлено в избранное",
"Removed from favorites" : "Удалено из избранного",
@@ -140,6 +138,8 @@ OC.L10N.register(
"Soon..." : "Скоро...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Идёт загрузка файла. Покинув страницу, вы прервёте загрузку.",
"Copy local link" : "Копировать локальную ссылку",
+ "Folder" : "Каталог",
+ "Upload" : "Загрузить",
"No favorites" : "Нет избранного"
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json
index fb06395bce1..6ff50abc639 100644
--- a/apps/files/l10n/ru.json
+++ b/apps/files/l10n/ru.json
@@ -68,9 +68,7 @@
"Favorited" : "Избранное",
"Favorite" : "Избранное",
"Copy direct link (only works for users who have access to this file/folder)" : "Копировать прямую ссылку (работает только для пользователей с правами доступа к этому файлу или каталогу)",
- "Folder" : "Каталог",
"New folder" : "Новый каталог",
- "Upload" : "Загрузить",
"An error occurred while trying to update the tags" : "Во время обновления тегов возникла ошибка",
"Added to favorites" : "Добавлено в избранное",
"Removed from favorites" : "Удалено из избранного",
@@ -138,6 +136,8 @@
"Soon..." : "Скоро...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Идёт загрузка файла. Покинув страницу, вы прервёте загрузку.",
"Copy local link" : "Копировать локальную ссылку",
+ "Folder" : "Каталог",
+ "Upload" : "Загрузить",
"No favorites" : "Нет избранного"
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/files/l10n/sk.js b/apps/files/l10n/sk.js
index 12cd618635b..8fc5fc24a88 100644
--- a/apps/files/l10n/sk.js
+++ b/apps/files/l10n/sk.js
@@ -69,9 +69,7 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtov"],
"Favorited" : "Pridané k obľúbeným",
"Favorite" : "Obľúbené",
- "Folder" : "Priečinok",
"New folder" : "Nový priečinok",
- "Upload" : "Nahrať",
"An error occurred while trying to update the tags" : "Pri pokuse o aktualizáciu štítkov došlo k chybe",
"Added to favorites" : "Pridané do obľúbených",
"Removed from favorites" : "Odstránené z obľúbených",
@@ -138,6 +136,8 @@ OC.L10N.register(
"Soon..." : "Čoskoro…",
"File upload is in progress. Leaving the page now will cancel the upload." : "Opustenie stránky zruší práve prebiehajúce odosielanie súboru.",
"Copy local link" : "Kopíruj lokálny odkaz",
+ "Folder" : "Priečinok",
+ "Upload" : "Nahrať",
"No favorites" : "Žiadne obľúbené"
},
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/files/l10n/sk.json b/apps/files/l10n/sk.json
index 0f58f21a9af..18408ac9f01 100644
--- a/apps/files/l10n/sk.json
+++ b/apps/files/l10n/sk.json
@@ -67,9 +67,7 @@
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtov"],
"Favorited" : "Pridané k obľúbeným",
"Favorite" : "Obľúbené",
- "Folder" : "Priečinok",
"New folder" : "Nový priečinok",
- "Upload" : "Nahrať",
"An error occurred while trying to update the tags" : "Pri pokuse o aktualizáciu štítkov došlo k chybe",
"Added to favorites" : "Pridané do obľúbených",
"Removed from favorites" : "Odstránené z obľúbených",
@@ -136,6 +134,8 @@
"Soon..." : "Čoskoro…",
"File upload is in progress. Leaving the page now will cancel the upload." : "Opustenie stránky zruší práve prebiehajúce odosielanie súboru.",
"Copy local link" : "Kopíruj lokálny odkaz",
+ "Folder" : "Priečinok",
+ "Upload" : "Nahrať",
"No favorites" : "Žiadne obľúbené"
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js
index eb4df5a6ef2..9fd1cbe1eae 100644
--- a/apps/files/l10n/sl.js
+++ b/apps/files/l10n/sl.js
@@ -14,6 +14,7 @@ OC.L10N.register(
"Upload cancelled." : "Pošiljanje je preklicano.",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Ni mogoče poslati datoteke {filename}, saj je to ali mapa ali pa je velikost datoteke 0 bajtov.",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Na voljo ni dovolj prostora. Velikost poslane datoteke je {size1}, na voljo pa je je {size2}.",
+ "Target folder \"{dir}\" does not exist any more" : "Ciljna mapa \"{dir}\" ne obstaja več",
"Not enough free space" : "Ni dovolj prostora",
"Uploading..." : "Poteka pošiljanje ...",
"..." : "...",
@@ -21,9 +22,12 @@ OC.L10N.register(
"Actions" : "Dejanja",
"Download" : "Prejmi",
"Rename" : "Preimenuj",
+ "Move" : "Premakni",
+ "Target folder" : "Ciljna mapa",
"Delete" : "Izbriši",
"Disconnect storage" : "Odklopi shrambo",
"Unshare" : "Prekini souporabo",
+ "Could not load info for file \"{file}\"" : "Ni bilo mogoče naložiti podatke za datoteko \"{file}\"",
"Files" : "Datoteke",
"Details" : "Podrobnosti",
"Select" : "Izberi",
@@ -41,11 +45,12 @@ OC.L10N.register(
"Could not create file \"{file}\" because it already exists" : "Ni mogoče ustvariti datoteke \"{file}\", ker že obstaja",
"Could not create folder \"{dir}\" because it already exists" : "Ni mogoče ustvariti mape \"{dir}\", ker že obstaja",
"Error deleting file \"{fileName}\"." : "Napaka brisanja datoteke \"{fileName}\".",
+ "No search results in other folders for {tag}{filter}{endtag}" : "Ni rezultatov iskanja v drugih mapah {tag}{filter}{endtag}",
"Name" : "Ime",
"Size" : "Velikost",
"Modified" : "Spremenjeno",
- "_%n folder_::_%n folders_" : ["%n mapa","%n mapi","%n mape","%n map"],
- "_%n file_::_%n files_" : ["%n datoteka","%n datoteki","%n datoteke","%n datotek"],
+ "_%n folder_::_%n folders_" : ["%n mapa","%n mapi","%n mape","%n mape"],
+ "_%n file_::_%n files_" : ["%n datoteka","%n datoteki","%n datoteke","%n datoteke"],
"{dirs} and {files}" : "{dirs} in {files}",
"_including %n hidden_::_including %n hidden_" : ["Vključujoč %n skrit","Vključujoč %n skrita","Vključujoč %n skritih","Vključujoč %n skritih"],
"You don’t have permission to upload or create files here" : "Ni ustreznih dovoljenj za pošiljanje ali ustvarjanje datotek na tem mestu.",
@@ -53,6 +58,7 @@ OC.L10N.register(
"New" : "Novo",
"\"{name}\" is an invalid file name." : "\"{name}\" je neveljavno ime datoteke.",
"File name cannot be empty." : "Ime datoteke ne sme biti prazno polje.",
+ "\"{name}\" is not an allowed filetype" : "\"{name}\" ni dovoljena vrsta datoteke",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Shramba uporabnika {owner} je polna, zato datotek ni več mogoče posodabljati in usklajevati!",
"Your storage is full, files can not be updated or synced anymore!" : "Shramba je povsem napolnjena. Datotek ni več mogoče posodabljati in usklajevati!",
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "Shramba uporabnika {owner} je polna ({usedSpacePercent}%).",
@@ -63,10 +69,33 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajta","%n bajti","%n bajtov"],
"Favorited" : "Označeno kot priljubljeno",
"Favorite" : "Priljubljene",
- "Folder" : "Mapa",
+ "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)",
"New folder" : "Nova mapa",
- "Upload" : "Pošlji",
"An error occurred while trying to update the tags" : "Prišlo je do napake med posodabljanjem oznak",
+ "Added to favorites" : "Dodano med priljubljene",
+ "Removed from favorites" : "Odstranjeno iz priljubljenih",
+ "You added {file} to your favorites" : "Dodali ste {file} med priljubljene",
+ "You removed {file} from your favorites" : "Odstranili ste {file} od priljubljenih",
+ "File changes" : "Sprememba datoteke",
+ "Created by {user}" : "Ustvarjeno od {user}",
+ "Changed by {user}" : "Spremenjeno od {user}",
+ "Deleted by {user}" : "Izbrisano od {user}",
+ "Restored by {user}" : "Obnovljeno od {user}",
+ "Renamed by {user}" : "Preimenovano od {user}",
+ "Moved by {user}" : "Premaknjeno od {user}",
+ "You created {file}" : "Ustvarili ste {file}",
+ "{user} created {file}" : "{user} ustvarili {file}",
+ "{file} was created in a public folder" : "{file} usrvarjena je bila javna mapa",
+ "You changed {file}" : "Spremenili ste {file}",
+ "{user} changed {file}" : "{user} spremenil {file}",
+ "You deleted {file}" : "Izbrisali ste {file}",
+ "{user} deleted {file}" : "{user} izbrisal {file}",
+ "You restored {file}" : "Obnovili ste {file}",
+ "{user} restored {file}" : "{user} obnovil {file}",
+ "You renamed {oldfile} to {newfile}" : "Preimenovali ste {oldfile} v {newfile}",
+ "{user} renamed {oldfile} to {newfile}" : "{user} preimenoval {oldfile} v {newfile}",
+ "You moved {oldfile} to {newfile}" : "Premaknili ste {oldfile} v {newfile}",
+ "{user} moved {oldfile} to {newfile}" : "{user} premaknil {oldfile} v {newfile}",
"A new file or folder has been <strong>created</strong>" : "Nova datoteka ali mapa je <strong>ustvarjena</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Omeji obvestila o ustvarjanju in spreminjanju <strong>najpogosteje uporabljenih </strong> datotek <em>(omogoči pretok)</em>",
"Upload (max. %s)" : "Pošiljanje (omejitev %s)",
@@ -86,55 +115,23 @@ OC.L10N.register(
"Select all" : "izberi vse",
"Upload too large" : "Prekoračenje omejitve velikosti",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Datoteke, ki jih želite poslati, presegajo največjo dovoljeno velikost na strežniku.",
- "No favorites" : "Ni priljubljenih predmetov",
+ "No favorites yet" : "Še ni priljubljena",
"Files and folders you mark as favorite will show up here" : "Datoteke ali mape, ki so označene kot priljubljene, bodo zbrane na tem mestu.",
+ "Shared with you" : "V skupni rabi z vami",
+ "Shared with others" : "V skupni rabi z ostalimi",
+ "Shared by link" : "Deljeno s povezavo",
+ "Deleted files" : "Izbrisane datoteke",
"Text file" : "Besedilna datoteka",
"New text file.txt" : "Nova datoteka.txt",
- "Storage not available" : "Na voljo ni dovolj prostora",
- "Unable to set upload directory." : "Mapo, v katero boste prenašali dokumente, ni mogoče določiti",
- "Invalid Token" : "Neveljaven žeton",
- "No file was uploaded. Unknown error" : "Ni poslane datoteke. Neznana napaka.",
- "There is no error, the file uploaded with success" : "Datoteka je uspešno naložena.",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Poslana datoteka presega dovoljeno velikost, ki je določena z možnostjo upload_max_filesize v datoteki php.ini:",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Poslana datoteka presega velikost, ki jo določa parameter največje dovoljene velikosti v obrazcu HTML.",
- "The uploaded file was only partially uploaded" : "Poslan je le del datoteke.",
- "No file was uploaded" : "Ni poslane datoteke",
- "Missing a temporary folder" : "Manjka začasna mapa",
- "Failed to write to disk" : "Pisanje na disk je spodletelo",
- "Not enough storage available" : "Na voljo ni dovolj prostora",
- "The target folder has been moved or deleted." : "Ciljna mapa je premaknjena ali izbrisana.",
- "Upload failed. Could not find uploaded file" : "Pošiljanje je spodletelo. Ni mogoče najti poslane datoteke.",
- "Upload failed. Could not get file info." : "Pošiljanje je spodletelo. Ni mogoče pridobiti podrobnosti datoteke.",
- "Invalid directory." : "Neveljavna mapa.",
- "Total file size {size1} exceeds upload limit {size2}" : "Skupna velikost {size1} presega omejitev velikosti {size2}",
- "Error uploading file \"{fileName}\": {message}" : "Napaka pošiljanja datoteke \"{fileName}\": {message}",
- "Could not get result from server." : "Ni mogoče pridobiti podatkov s strežnika.",
- "{hours}:{minutes}:{seconds} hour{plural_s} left" : "še {hours}:{minutes}:{seconds} ur{plural_s}",
"{hours}:{minutes}h" : "{hours}:{minutes}h",
- "{minutes}:{seconds} minute{plural_s} left" : "še {minutes}:{seconds} minut{plural_s}",
"{minutes}:{seconds}m" : "{minutes}:{seconds}min",
- "{seconds} second{plural_s} left" : "še {seconds} sekund{plural_s}",
"{seconds}s" : "{seconds}s",
"Any moment now..." : "Vsak trenutek ...",
"Soon..." : "Kmalu",
"File upload is in progress. Leaving the page now will cancel the upload." : "V teku je pošiljanje datoteke. Če zapustite to stran zdaj, bo pošiljanje preklicano.",
- "No entries in this folder match '{filter}'" : "Ni zadetkov, ki bi bili skladni z nizom '{filter}'",
- "Local link" : "Krajevna povezava",
- "{newname} already exists" : "{newname} že obstaja",
- "A file or folder has been <strong>changed</strong>" : "Datoteka ali mapa je <strong>spremenjena</strong>.",
- "A file or folder has been <strong>deleted</strong>" : "Datoteka ali mapa je <strong>izbrisana</strong>.",
- "A file or folder has been <strong>restored</strong>" : "Datoteka ali mapa je <strong>obnovljena</strong>.",
- "You created %1$s" : "Ustvarili ste %1$s",
- "%2$s created %1$s" : "%2$s je ustvaril %1$s",
- "%1$s was created in a public folder" : "Datoteka %1$s je ustvarjena v javni mapi.",
- "You changed %1$s" : "Spremenili ste %1$s",
- "%2$s changed %1$s" : "%2$s je spremenil %1$s",
- "You deleted %1$s" : "Izbrisali ste %1$s",
- "%2$s deleted %1$s" : "%2$s je izbrisal %1$s",
- "You restored %1$s" : "Obnovljen je predmet %1$s",
- "%2$s restored %1$s" : "Uporabnik %2$s je obnovil predmet %1$s.",
- "Changed by %2$s" : "Zadnja sprememba: %2$s",
- "Deleted by %2$s" : "Izbrisano: %2$s",
- "Restored by %2$s" : "Obnovljeno: %2$s"
+ "Copy local link" : "Kopiraj lokalno povezavo",
+ "Folder" : "Mapa",
+ "Upload" : "Pošlji",
+ "No favorites" : "Ni priljubljenih predmetov"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json
index 0297cd72860..b7fb34d4de1 100644
--- a/apps/files/l10n/sl.json
+++ b/apps/files/l10n/sl.json
@@ -12,6 +12,7 @@
"Upload cancelled." : "Pošiljanje je preklicano.",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Ni mogoče poslati datoteke {filename}, saj je to ali mapa ali pa je velikost datoteke 0 bajtov.",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Na voljo ni dovolj prostora. Velikost poslane datoteke je {size1}, na voljo pa je je {size2}.",
+ "Target folder \"{dir}\" does not exist any more" : "Ciljna mapa \"{dir}\" ne obstaja več",
"Not enough free space" : "Ni dovolj prostora",
"Uploading..." : "Poteka pošiljanje ...",
"..." : "...",
@@ -19,9 +20,12 @@
"Actions" : "Dejanja",
"Download" : "Prejmi",
"Rename" : "Preimenuj",
+ "Move" : "Premakni",
+ "Target folder" : "Ciljna mapa",
"Delete" : "Izbriši",
"Disconnect storage" : "Odklopi shrambo",
"Unshare" : "Prekini souporabo",
+ "Could not load info for file \"{file}\"" : "Ni bilo mogoče naložiti podatke za datoteko \"{file}\"",
"Files" : "Datoteke",
"Details" : "Podrobnosti",
"Select" : "Izberi",
@@ -39,11 +43,12 @@
"Could not create file \"{file}\" because it already exists" : "Ni mogoče ustvariti datoteke \"{file}\", ker že obstaja",
"Could not create folder \"{dir}\" because it already exists" : "Ni mogoče ustvariti mape \"{dir}\", ker že obstaja",
"Error deleting file \"{fileName}\"." : "Napaka brisanja datoteke \"{fileName}\".",
+ "No search results in other folders for {tag}{filter}{endtag}" : "Ni rezultatov iskanja v drugih mapah {tag}{filter}{endtag}",
"Name" : "Ime",
"Size" : "Velikost",
"Modified" : "Spremenjeno",
- "_%n folder_::_%n folders_" : ["%n mapa","%n mapi","%n mape","%n map"],
- "_%n file_::_%n files_" : ["%n datoteka","%n datoteki","%n datoteke","%n datotek"],
+ "_%n folder_::_%n folders_" : ["%n mapa","%n mapi","%n mape","%n mape"],
+ "_%n file_::_%n files_" : ["%n datoteka","%n datoteki","%n datoteke","%n datoteke"],
"{dirs} and {files}" : "{dirs} in {files}",
"_including %n hidden_::_including %n hidden_" : ["Vključujoč %n skrit","Vključujoč %n skrita","Vključujoč %n skritih","Vključujoč %n skritih"],
"You don’t have permission to upload or create files here" : "Ni ustreznih dovoljenj za pošiljanje ali ustvarjanje datotek na tem mestu.",
@@ -51,6 +56,7 @@
"New" : "Novo",
"\"{name}\" is an invalid file name." : "\"{name}\" je neveljavno ime datoteke.",
"File name cannot be empty." : "Ime datoteke ne sme biti prazno polje.",
+ "\"{name}\" is not an allowed filetype" : "\"{name}\" ni dovoljena vrsta datoteke",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Shramba uporabnika {owner} je polna, zato datotek ni več mogoče posodabljati in usklajevati!",
"Your storage is full, files can not be updated or synced anymore!" : "Shramba je povsem napolnjena. Datotek ni več mogoče posodabljati in usklajevati!",
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "Shramba uporabnika {owner} je polna ({usedSpacePercent}%).",
@@ -61,10 +67,33 @@
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajta","%n bajti","%n bajtov"],
"Favorited" : "Označeno kot priljubljeno",
"Favorite" : "Priljubljene",
- "Folder" : "Mapa",
+ "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)",
"New folder" : "Nova mapa",
- "Upload" : "Pošlji",
"An error occurred while trying to update the tags" : "Prišlo je do napake med posodabljanjem oznak",
+ "Added to favorites" : "Dodano med priljubljene",
+ "Removed from favorites" : "Odstranjeno iz priljubljenih",
+ "You added {file} to your favorites" : "Dodali ste {file} med priljubljene",
+ "You removed {file} from your favorites" : "Odstranili ste {file} od priljubljenih",
+ "File changes" : "Sprememba datoteke",
+ "Created by {user}" : "Ustvarjeno od {user}",
+ "Changed by {user}" : "Spremenjeno od {user}",
+ "Deleted by {user}" : "Izbrisano od {user}",
+ "Restored by {user}" : "Obnovljeno od {user}",
+ "Renamed by {user}" : "Preimenovano od {user}",
+ "Moved by {user}" : "Premaknjeno od {user}",
+ "You created {file}" : "Ustvarili ste {file}",
+ "{user} created {file}" : "{user} ustvarili {file}",
+ "{file} was created in a public folder" : "{file} usrvarjena je bila javna mapa",
+ "You changed {file}" : "Spremenili ste {file}",
+ "{user} changed {file}" : "{user} spremenil {file}",
+ "You deleted {file}" : "Izbrisali ste {file}",
+ "{user} deleted {file}" : "{user} izbrisal {file}",
+ "You restored {file}" : "Obnovili ste {file}",
+ "{user} restored {file}" : "{user} obnovil {file}",
+ "You renamed {oldfile} to {newfile}" : "Preimenovali ste {oldfile} v {newfile}",
+ "{user} renamed {oldfile} to {newfile}" : "{user} preimenoval {oldfile} v {newfile}",
+ "You moved {oldfile} to {newfile}" : "Premaknili ste {oldfile} v {newfile}",
+ "{user} moved {oldfile} to {newfile}" : "{user} premaknil {oldfile} v {newfile}",
"A new file or folder has been <strong>created</strong>" : "Nova datoteka ali mapa je <strong>ustvarjena</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Omeji obvestila o ustvarjanju in spreminjanju <strong>najpogosteje uporabljenih </strong> datotek <em>(omogoči pretok)</em>",
"Upload (max. %s)" : "Pošiljanje (omejitev %s)",
@@ -84,55 +113,23 @@
"Select all" : "izberi vse",
"Upload too large" : "Prekoračenje omejitve velikosti",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Datoteke, ki jih želite poslati, presegajo največjo dovoljeno velikost na strežniku.",
- "No favorites" : "Ni priljubljenih predmetov",
+ "No favorites yet" : "Še ni priljubljena",
"Files and folders you mark as favorite will show up here" : "Datoteke ali mape, ki so označene kot priljubljene, bodo zbrane na tem mestu.",
+ "Shared with you" : "V skupni rabi z vami",
+ "Shared with others" : "V skupni rabi z ostalimi",
+ "Shared by link" : "Deljeno s povezavo",
+ "Deleted files" : "Izbrisane datoteke",
"Text file" : "Besedilna datoteka",
"New text file.txt" : "Nova datoteka.txt",
- "Storage not available" : "Na voljo ni dovolj prostora",
- "Unable to set upload directory." : "Mapo, v katero boste prenašali dokumente, ni mogoče določiti",
- "Invalid Token" : "Neveljaven žeton",
- "No file was uploaded. Unknown error" : "Ni poslane datoteke. Neznana napaka.",
- "There is no error, the file uploaded with success" : "Datoteka je uspešno naložena.",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Poslana datoteka presega dovoljeno velikost, ki je določena z možnostjo upload_max_filesize v datoteki php.ini:",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Poslana datoteka presega velikost, ki jo določa parameter največje dovoljene velikosti v obrazcu HTML.",
- "The uploaded file was only partially uploaded" : "Poslan je le del datoteke.",
- "No file was uploaded" : "Ni poslane datoteke",
- "Missing a temporary folder" : "Manjka začasna mapa",
- "Failed to write to disk" : "Pisanje na disk je spodletelo",
- "Not enough storage available" : "Na voljo ni dovolj prostora",
- "The target folder has been moved or deleted." : "Ciljna mapa je premaknjena ali izbrisana.",
- "Upload failed. Could not find uploaded file" : "Pošiljanje je spodletelo. Ni mogoče najti poslane datoteke.",
- "Upload failed. Could not get file info." : "Pošiljanje je spodletelo. Ni mogoče pridobiti podrobnosti datoteke.",
- "Invalid directory." : "Neveljavna mapa.",
- "Total file size {size1} exceeds upload limit {size2}" : "Skupna velikost {size1} presega omejitev velikosti {size2}",
- "Error uploading file \"{fileName}\": {message}" : "Napaka pošiljanja datoteke \"{fileName}\": {message}",
- "Could not get result from server." : "Ni mogoče pridobiti podatkov s strežnika.",
- "{hours}:{minutes}:{seconds} hour{plural_s} left" : "še {hours}:{minutes}:{seconds} ur{plural_s}",
"{hours}:{minutes}h" : "{hours}:{minutes}h",
- "{minutes}:{seconds} minute{plural_s} left" : "še {minutes}:{seconds} minut{plural_s}",
"{minutes}:{seconds}m" : "{minutes}:{seconds}min",
- "{seconds} second{plural_s} left" : "še {seconds} sekund{plural_s}",
"{seconds}s" : "{seconds}s",
"Any moment now..." : "Vsak trenutek ...",
"Soon..." : "Kmalu",
"File upload is in progress. Leaving the page now will cancel the upload." : "V teku je pošiljanje datoteke. Če zapustite to stran zdaj, bo pošiljanje preklicano.",
- "No entries in this folder match '{filter}'" : "Ni zadetkov, ki bi bili skladni z nizom '{filter}'",
- "Local link" : "Krajevna povezava",
- "{newname} already exists" : "{newname} že obstaja",
- "A file or folder has been <strong>changed</strong>" : "Datoteka ali mapa je <strong>spremenjena</strong>.",
- "A file or folder has been <strong>deleted</strong>" : "Datoteka ali mapa je <strong>izbrisana</strong>.",
- "A file or folder has been <strong>restored</strong>" : "Datoteka ali mapa je <strong>obnovljena</strong>.",
- "You created %1$s" : "Ustvarili ste %1$s",
- "%2$s created %1$s" : "%2$s je ustvaril %1$s",
- "%1$s was created in a public folder" : "Datoteka %1$s je ustvarjena v javni mapi.",
- "You changed %1$s" : "Spremenili ste %1$s",
- "%2$s changed %1$s" : "%2$s je spremenil %1$s",
- "You deleted %1$s" : "Izbrisali ste %1$s",
- "%2$s deleted %1$s" : "%2$s je izbrisal %1$s",
- "You restored %1$s" : "Obnovljen je predmet %1$s",
- "%2$s restored %1$s" : "Uporabnik %2$s je obnovil predmet %1$s.",
- "Changed by %2$s" : "Zadnja sprememba: %2$s",
- "Deleted by %2$s" : "Izbrisano: %2$s",
- "Restored by %2$s" : "Obnovljeno: %2$s"
+ "Copy local link" : "Kopiraj lokalno povezavo",
+ "Folder" : "Mapa",
+ "Upload" : "Pošlji",
+ "No favorites" : "Ni priljubljenih predmetov"
},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/files/l10n/sq.js b/apps/files/l10n/sq.js
index 9c44bc7b68c..f3d9740a090 100644
--- a/apps/files/l10n/sq.js
+++ b/apps/files/l10n/sq.js
@@ -67,9 +67,7 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajte"],
"Favorited" : "U kalua e parapëlqyer",
"Favorite" : "E parapëlqyer",
- "Folder" : "Dosje",
"New folder" : "Dosje e re",
- "Upload" : "Ngarkoje",
"An error occurred while trying to update the tags" : "Ndodhi një gabim teksa provohej të përditësoheshin etiketat",
"Added to favorites" : "U shtua te të parapëlqyerat",
"Removed from favorites" : "U hoq nga të parapëlqyerat",
@@ -133,6 +131,8 @@ OC.L10N.register(
"Soon..." : "Së shpejti…",
"File upload is in progress. Leaving the page now will cancel the upload." : "Ngarkimi i skedarit është në punë e sipër. Largimi nga faqja do të anulojë ngarkimin.",
"Copy local link" : "Kopjo lidhjen lokale",
+ "Folder" : "Dosje",
+ "Upload" : "Ngarkoje",
"No favorites" : "Pa të parapëlqyera"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/sq.json b/apps/files/l10n/sq.json
index 23fd1363bb8..446d1deedff 100644
--- a/apps/files/l10n/sq.json
+++ b/apps/files/l10n/sq.json
@@ -65,9 +65,7 @@
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajte"],
"Favorited" : "U kalua e parapëlqyer",
"Favorite" : "E parapëlqyer",
- "Folder" : "Dosje",
"New folder" : "Dosje e re",
- "Upload" : "Ngarkoje",
"An error occurred while trying to update the tags" : "Ndodhi një gabim teksa provohej të përditësoheshin etiketat",
"Added to favorites" : "U shtua te të parapëlqyerat",
"Removed from favorites" : "U hoq nga të parapëlqyerat",
@@ -131,6 +129,8 @@
"Soon..." : "Së shpejti…",
"File upload is in progress. Leaving the page now will cancel the upload." : "Ngarkimi i skedarit është në punë e sipër. Largimi nga faqja do të anulojë ngarkimin.",
"Copy local link" : "Kopjo lidhjen lokale",
+ "Folder" : "Dosje",
+ "Upload" : "Ngarkoje",
"No favorites" : "Pa të parapëlqyera"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js
index d5e36728d73..f021315784e 100644
--- a/apps/files/l10n/sv.js
+++ b/apps/files/l10n/sv.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"Favorited" : "Favoriserad",
"Favorite" : "Favorit",
"Copy direct link (only works for users who have access to this file/folder)" : "Kopiera direktlänk (fungerar endast för de användare som har tillgång till denna fil eller mapp)",
- "Folder" : "Mapp",
"New folder" : "Ny mapp",
- "Upload" : "Ladda upp",
"An error occurred while trying to update the tags" : "Ett fel uppstod när uppdatera taggarna",
"Added to favorites" : "Lades till i favoriter",
"Removed from favorites" : "Togs bort från favoriter",
@@ -140,6 +138,8 @@ OC.L10N.register(
"Soon..." : "Snart...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Filuppladdning pågår. Lämnar du sidan så avbryts uppladdningen.",
"Copy local link" : "Kopiera den lokala länken",
+ "Folder" : "Mapp",
+ "Upload" : "Ladda upp",
"No favorites" : "Inga favoriter"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json
index 50ac86a0d85..9d821e56a84 100644
--- a/apps/files/l10n/sv.json
+++ b/apps/files/l10n/sv.json
@@ -68,9 +68,7 @@
"Favorited" : "Favoriserad",
"Favorite" : "Favorit",
"Copy direct link (only works for users who have access to this file/folder)" : "Kopiera direktlänk (fungerar endast för de användare som har tillgång till denna fil eller mapp)",
- "Folder" : "Mapp",
"New folder" : "Ny mapp",
- "Upload" : "Ladda upp",
"An error occurred while trying to update the tags" : "Ett fel uppstod när uppdatera taggarna",
"Added to favorites" : "Lades till i favoriter",
"Removed from favorites" : "Togs bort från favoriter",
@@ -138,6 +136,8 @@
"Soon..." : "Snart...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Filuppladdning pågår. Lämnar du sidan så avbryts uppladdningen.",
"Copy local link" : "Kopiera den lokala länken",
+ "Folder" : "Mapp",
+ "Upload" : "Ladda upp",
"No favorites" : "Inga favoriter"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js
index 3ce8dc0619f..3242dd90a5a 100644
--- a/apps/files/l10n/tr.js
+++ b/apps/files/l10n/tr.js
@@ -70,9 +70,7 @@ OC.L10N.register(
"Favorited" : "Sık kullanılanlara eklendi",
"Favorite" : "Sık kullanılanlara ekle",
"Copy direct link (only works for users who have access to this file/folder)" : "Doğrudan bağlantıyı kopyala (yalnız bu dosya ya da klasöre erişim izni olan kullanıcılar için)",
- "Folder" : "Klasör",
"New folder" : "Yeni klasör",
- "Upload" : "Yükle",
"An error occurred while trying to update the tags" : "Etiketler güncellenirken bir sorun çıktı",
"Added to favorites" : "Sık kullanılanlara eklendi",
"Removed from favorites" : "Sık kullanılanlardan çıkarıldı",
@@ -140,6 +138,8 @@ OC.L10N.register(
"Soon..." : "Yakında...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Dosya yükleme işlemi sürüyor. Sayfadan ayrılırsanız yükleme işlemi iptal edilir.",
"Copy local link" : "Bağlantıyı kopyala",
+ "Folder" : "Klasör",
+ "Upload" : "Yükle",
"No favorites" : "Sık kullanılan bir öge yok"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json
index 0a5792e41fe..5f8db7245ab 100644
--- a/apps/files/l10n/tr.json
+++ b/apps/files/l10n/tr.json
@@ -68,9 +68,7 @@
"Favorited" : "Sık kullanılanlara eklendi",
"Favorite" : "Sık kullanılanlara ekle",
"Copy direct link (only works for users who have access to this file/folder)" : "Doğrudan bağlantıyı kopyala (yalnız bu dosya ya da klasöre erişim izni olan kullanıcılar için)",
- "Folder" : "Klasör",
"New folder" : "Yeni klasör",
- "Upload" : "Yükle",
"An error occurred while trying to update the tags" : "Etiketler güncellenirken bir sorun çıktı",
"Added to favorites" : "Sık kullanılanlara eklendi",
"Removed from favorites" : "Sık kullanılanlardan çıkarıldı",
@@ -138,6 +136,8 @@
"Soon..." : "Yakında...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Dosya yükleme işlemi sürüyor. Sayfadan ayrılırsanız yükleme işlemi iptal edilir.",
"Copy local link" : "Bağlantıyı kopyala",
+ "Folder" : "Klasör",
+ "Upload" : "Yükle",
"No favorites" : "Sık kullanılan bir öge yok"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/vi.js b/apps/files/l10n/vi.js
index b027772d1f9..b84a03068b4 100644
--- a/apps/files/l10n/vi.js
+++ b/apps/files/l10n/vi.js
@@ -67,9 +67,7 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n bytes"],
"Favorited" : "Được ưa thích",
"Favorite" : "Ưu thích",
- "Folder" : "Thư mục",
"New folder" : "Tạo thư mục",
- "Upload" : "Tải lên",
"An error occurred while trying to update the tags" : "Đã xảy ra lỗi khi cố gắng cập nhật tags",
"Added to favorites" : "Đã thêm vào mục yêu thích",
"Removed from favorites" : "Đã xóa khỏi mục ưa thích",
@@ -128,6 +126,8 @@ OC.L10N.register(
"Soon..." : "Sớm thôi...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Tập tin tải lên đang được xử lý. Nếu bạn rời khỏi trang bây giờ sẽ hủy quá trình này.",
"Copy local link" : "Sao chép liên kết cục bộ",
+ "Folder" : "Thư mục",
+ "Upload" : "Tải lên",
"No favorites" : "Không có mục ưa thích nào"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/vi.json b/apps/files/l10n/vi.json
index 1f426694a5c..35512dc6a23 100644
--- a/apps/files/l10n/vi.json
+++ b/apps/files/l10n/vi.json
@@ -65,9 +65,7 @@
"_%n byte_::_%n bytes_" : ["%n bytes"],
"Favorited" : "Được ưa thích",
"Favorite" : "Ưu thích",
- "Folder" : "Thư mục",
"New folder" : "Tạo thư mục",
- "Upload" : "Tải lên",
"An error occurred while trying to update the tags" : "Đã xảy ra lỗi khi cố gắng cập nhật tags",
"Added to favorites" : "Đã thêm vào mục yêu thích",
"Removed from favorites" : "Đã xóa khỏi mục ưa thích",
@@ -126,6 +124,8 @@
"Soon..." : "Sớm thôi...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Tập tin tải lên đang được xử lý. Nếu bạn rời khỏi trang bây giờ sẽ hủy quá trình này.",
"Copy local link" : "Sao chép liên kết cục bộ",
+ "Folder" : "Thư mục",
+ "Upload" : "Tải lên",
"No favorites" : "Không có mục ưa thích nào"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js
index 18022df8800..57fc59d5d87 100644
--- a/apps/files/l10n/zh_CN.js
+++ b/apps/files/l10n/zh_CN.js
@@ -69,9 +69,8 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n 字节"],
"Favorited" : "已收藏",
"Favorite" : "收藏",
- "Folder" : "文件夹",
+ "Copy direct link (only works for users who have access to this file/folder)" : "复制直接链接(仅适用于有权访问此文件/文件夹的用户)",
"New folder" : "新建文件夹",
- "Upload" : "上传",
"An error occurred while trying to update the tags" : "更新标签时出错",
"Added to favorites" : "添加到收藏",
"Removed from favorites" : "取消收藏",
@@ -120,6 +119,7 @@ OC.L10N.register(
"Select all" : "全部选择",
"Upload too large" : "上传文件过大",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "正在上传的文件超过了此服务器允许上传的最大容量限制",
+ "No favorites yet" : "还没有“我喜欢的”",
"Files and folders you mark as favorite will show up here" : "收藏的文件和文件夹会在这里显示",
"Shared with you" : "与您分享",
"Shared with others" : "与他人分享",
@@ -138,6 +138,8 @@ OC.L10N.register(
"Soon..." : "很快...",
"File upload is in progress. Leaving the page now will cancel the upload." : "文件正在上传中. 离开此页将会取消上传.",
"Copy local link" : "复制本地链接",
+ "Folder" : "文件夹",
+ "Upload" : "上传",
"No favorites" : "无收藏"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json
index 98cb6bc8964..b63983bde70 100644
--- a/apps/files/l10n/zh_CN.json
+++ b/apps/files/l10n/zh_CN.json
@@ -67,9 +67,8 @@
"_%n byte_::_%n bytes_" : ["%n 字节"],
"Favorited" : "已收藏",
"Favorite" : "收藏",
- "Folder" : "文件夹",
+ "Copy direct link (only works for users who have access to this file/folder)" : "复制直接链接(仅适用于有权访问此文件/文件夹的用户)",
"New folder" : "新建文件夹",
- "Upload" : "上传",
"An error occurred while trying to update the tags" : "更新标签时出错",
"Added to favorites" : "添加到收藏",
"Removed from favorites" : "取消收藏",
@@ -118,6 +117,7 @@
"Select all" : "全部选择",
"Upload too large" : "上传文件过大",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "正在上传的文件超过了此服务器允许上传的最大容量限制",
+ "No favorites yet" : "还没有“我喜欢的”",
"Files and folders you mark as favorite will show up here" : "收藏的文件和文件夹会在这里显示",
"Shared with you" : "与您分享",
"Shared with others" : "与他人分享",
@@ -136,6 +136,8 @@
"Soon..." : "很快...",
"File upload is in progress. Leaving the page now will cancel the upload." : "文件正在上传中. 离开此页将会取消上传.",
"Copy local link" : "复制本地链接",
+ "Folder" : "文件夹",
+ "Upload" : "上传",
"No favorites" : "无收藏"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_external/l10n/el.js b/apps/files_external/l10n/el.js
index 6ef9f0a233a..b78e01863d5 100644
--- a/apps/files_external/l10n/el.js
+++ b/apps/files_external/l10n/el.js
@@ -63,7 +63,7 @@ OC.L10N.register(
"Tenant name" : "Όνομα \"ένοικου\"",
"Identity endpoint URL" : "URL τελικού σημείου ταυτοποίησης",
"Rackspace" : "Rackspace",
- "API key" : "Κλειδί Google API",
+ "API key" : "Κλειδί API",
"Global credentials" : "Παγκόσμια διαπιστευτήρια",
"Log-in credentials, save in database" : "Διαπιστευτήρια εισόδου, αποθηκεύστε στην βάση δεδομέων",
"Username and password" : "Όνομα χρήστη και κωδικός πρόσβασης",
diff --git a/apps/files_external/l10n/el.json b/apps/files_external/l10n/el.json
index 8855c86eab8..67182e0b653 100644
--- a/apps/files_external/l10n/el.json
+++ b/apps/files_external/l10n/el.json
@@ -61,7 +61,7 @@
"Tenant name" : "Όνομα \"ένοικου\"",
"Identity endpoint URL" : "URL τελικού σημείου ταυτοποίησης",
"Rackspace" : "Rackspace",
- "API key" : "Κλειδί Google API",
+ "API key" : "Κλειδί API",
"Global credentials" : "Παγκόσμια διαπιστευτήρια",
"Log-in credentials, save in database" : "Διαπιστευτήρια εισόδου, αποθηκεύστε στην βάση δεδομέων",
"Username and password" : "Όνομα χρήστη και κωδικός πρόσβασης",
diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js
index 670b1f003bb..2fcea0a7324 100644
--- a/apps/files_external/l10n/fr.js
+++ b/apps/files_external/l10n/fr.js
@@ -105,6 +105,7 @@ OC.L10N.register(
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Le support de cURL dans PHP n'est pas activé ou installé. Le montage de %s n'est pas possible. Veuillez demander à votre administrateur système de l'installer.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Le support du FTP dans PHP n'est pas activé ou installé. Le montage de %s n'est pas possible. Merci de demander à votre administrateur de l'installer.",
"\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" n'est pas installé. Le montage de %s n'est pas possible. Merci de demander à l'administrateur système de l'installer.",
+ "External storage support" : "Prise en charge du stockage externe",
"No external storage configured" : "Aucun stockage externe configuré",
"You can add external storages in the personal settings" : "Vous pouvez ajouter des stockages externes via vos paramètres personnels",
"Name" : "Nom",
diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json
index 6ebce219ae2..dda1877e9e0 100644
--- a/apps/files_external/l10n/fr.json
+++ b/apps/files_external/l10n/fr.json
@@ -103,6 +103,7 @@
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Le support de cURL dans PHP n'est pas activé ou installé. Le montage de %s n'est pas possible. Veuillez demander à votre administrateur système de l'installer.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Le support du FTP dans PHP n'est pas activé ou installé. Le montage de %s n'est pas possible. Merci de demander à votre administrateur de l'installer.",
"\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" n'est pas installé. Le montage de %s n'est pas possible. Merci de demander à l'administrateur système de l'installer.",
+ "External storage support" : "Prise en charge du stockage externe",
"No external storage configured" : "Aucun stockage externe configuré",
"You can add external storages in the personal settings" : "Vous pouvez ajouter des stockages externes via vos paramètres personnels",
"Name" : "Nom",
diff --git a/apps/files_external/l10n/is.js b/apps/files_external/l10n/is.js
index 7136ca8196a..984c3553c26 100644
--- a/apps/files_external/l10n/is.js
+++ b/apps/files_external/l10n/is.js
@@ -105,6 +105,7 @@ OC.L10N.register(
"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.",
"\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" er ekki uppsett. Tenging %s í skráakerfi er ekki möguleg. Biddu kerfisstjórann þinn um að setja þetta upp.",
+ "External storage support" : "Stuðningur við utanáliggjandi gagnageymslur",
"No external storage configured" : "Engin ytri-gagnageymsla stillt",
"You can add external storages in the personal settings" : "Þú getur bætt við ytri gagnageymslum í einkastillingunum þínum",
"Name" : "Nafn",
diff --git a/apps/files_external/l10n/is.json b/apps/files_external/l10n/is.json
index 8ecdf28dcac..848e28145ed 100644
--- a/apps/files_external/l10n/is.json
+++ b/apps/files_external/l10n/is.json
@@ -103,6 +103,7 @@
"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.",
"\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" er ekki uppsett. Tenging %s í skráakerfi er ekki möguleg. Biddu kerfisstjórann þinn um að setja þetta upp.",
+ "External storage support" : "Stuðningur við utanáliggjandi gagnageymslur",
"No external storage configured" : "Engin ytri-gagnageymsla stillt",
"You can add external storages in the personal settings" : "Þú getur bætt við ytri gagnageymslum í einkastillingunum þínum",
"Name" : "Nafn",
diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js
index 31e95aca97e..66b37e57bfc 100644
--- a/apps/files_external/l10n/nl.js
+++ b/apps/files_external/l10n/nl.js
@@ -105,6 +105,7 @@ OC.L10N.register(
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Curl ondersteuning in PHP is niet ingeschakeld of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag je systeembeheerder dit te installeren.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "FTP ondersteuning in PHP is niet ingeschakeld of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag je beheerder dit te installeren.",
"\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" is niet geïnstalleerd. Mounten van %s is niet mogelijk. Vraag je beheerder om dit te installeren.",
+ "External storage support" : "Externe opslag ondersteuning",
"No external storage configured" : "Geen externe opslag geconfigureerd",
"You can add external storages in the personal settings" : "Je kunt externe opslag toevoegen in persoonlijke instellingen",
"Name" : "Naam",
diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json
index 64e98798d03..7067fda56bf 100644
--- a/apps/files_external/l10n/nl.json
+++ b/apps/files_external/l10n/nl.json
@@ -103,6 +103,7 @@
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Curl ondersteuning in PHP is niet ingeschakeld of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag je systeembeheerder dit te installeren.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "FTP ondersteuning in PHP is niet ingeschakeld of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag je beheerder dit te installeren.",
"\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" is niet geïnstalleerd. Mounten van %s is niet mogelijk. Vraag je beheerder om dit te installeren.",
+ "External storage support" : "Externe opslag ondersteuning",
"No external storage configured" : "Geen externe opslag geconfigureerd",
"You can add external storages in the personal settings" : "Je kunt externe opslag toevoegen in persoonlijke instellingen",
"Name" : "Naam",
diff --git a/apps/files_external/l10n/pl.js b/apps/files_external/l10n/pl.js
index 671b40eb557..cb523d31215 100644
--- a/apps/files_external/l10n/pl.js
+++ b/apps/files_external/l10n/pl.js
@@ -105,6 +105,7 @@ OC.L10N.register(
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Obsługa cURL w PHP jest wyłączona lub nie jest zainstalowana. Zamontowanie %s jest niemożliwe. Proszę poprosić swojego administratora systemu, żeby ją zainstalował.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Obsługa FTP w PHP jest wyłączona lub nie jest zainstalowana. Zamontowanie %s jest niemożliwe. Proszę poprosić swojego administratora systemu, żeby ją zainstalował.",
"\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" nie jest zainstalowane. Zamontowanie %s jest niemożliwe. Proszę poprosić swojego administratora systemu, żeby dokonał instalacji.",
+ "External storage support" : "Wsparcie dla zewnętrznego magazynu",
"No external storage configured" : "Nie skonfigurowano żadnego zewnętrznego nośnika",
"You can add external storages in the personal settings" : "W ustawieniach osobistych możesz dodać zewnętrzne magazyny przechowywania",
"Name" : "Nazwa",
diff --git a/apps/files_external/l10n/pl.json b/apps/files_external/l10n/pl.json
index c2be0f41569..e9d45a1e804 100644
--- a/apps/files_external/l10n/pl.json
+++ b/apps/files_external/l10n/pl.json
@@ -103,6 +103,7 @@
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Obsługa cURL w PHP jest wyłączona lub nie jest zainstalowana. Zamontowanie %s jest niemożliwe. Proszę poprosić swojego administratora systemu, żeby ją zainstalował.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Obsługa FTP w PHP jest wyłączona lub nie jest zainstalowana. Zamontowanie %s jest niemożliwe. Proszę poprosić swojego administratora systemu, żeby ją zainstalował.",
"\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" nie jest zainstalowane. Zamontowanie %s jest niemożliwe. Proszę poprosić swojego administratora systemu, żeby dokonał instalacji.",
+ "External storage support" : "Wsparcie dla zewnętrznego magazynu",
"No external storage configured" : "Nie skonfigurowano żadnego zewnętrznego nośnika",
"You can add external storages in the personal settings" : "W ustawieniach osobistych możesz dodać zewnętrzne magazyny przechowywania",
"Name" : "Nazwa",
diff --git a/apps/files_external/l10n/zh_CN.js b/apps/files_external/l10n/zh_CN.js
index 38c02e615f7..f2a6772925f 100644
--- a/apps/files_external/l10n/zh_CN.js
+++ b/apps/files_external/l10n/zh_CN.js
@@ -38,6 +38,7 @@ OC.L10N.register(
"Credentials saved" : "凭据已保存",
"Credentials saving failed" : "凭据保存失败",
"Credentials required" : "需要凭据",
+ "Storage with ID \"%d\" not found" : "ID%d的存储未找到",
"Invalid backend or authentication mechanism class" : "无效的后端或认证类型",
"Invalid mount point" : "无效的挂载点",
"Objectstore forbidden" : "对象存储禁止访问",
@@ -48,6 +49,7 @@ OC.L10N.register(
"Unsatisfied authentication mechanism parameters" : "无法满足认证类型条件",
"Insufficient data: %s" : "数据不足: %s",
"%s" : "%s",
+ "Storage with ID \"%d\" is not user editable" : "ID%d的存储不可编辑",
"Access key" : "Access key",
"Secret key" : "Secret key",
"Builtin" : "内置",
@@ -103,6 +105,7 @@ OC.L10N.register(
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "没有安装或启用 PHP 中的 cURL 支持. 无法挂载 %s. 请联系您的系统管理员安装.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "没有安装或启用 PHP 中的 FTP 支持. 无法挂载 %s. 请联系您的系统管理员安装.",
"\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "没有安装 \"%s\". 无法挂载 %s. 请联系您的系统管理员安装.",
+ "External storage support" : "外部存储支持",
"No external storage configured" : "没有配置外部存储",
"You can add external storages in the personal settings" : "您可以在个人设置中添加外部存储",
"Name" : "名称",
diff --git a/apps/files_external/l10n/zh_CN.json b/apps/files_external/l10n/zh_CN.json
index 0b92a3167ca..5b3e95dfdbe 100644
--- a/apps/files_external/l10n/zh_CN.json
+++ b/apps/files_external/l10n/zh_CN.json
@@ -36,6 +36,7 @@
"Credentials saved" : "凭据已保存",
"Credentials saving failed" : "凭据保存失败",
"Credentials required" : "需要凭据",
+ "Storage with ID \"%d\" not found" : "ID%d的存储未找到",
"Invalid backend or authentication mechanism class" : "无效的后端或认证类型",
"Invalid mount point" : "无效的挂载点",
"Objectstore forbidden" : "对象存储禁止访问",
@@ -46,6 +47,7 @@
"Unsatisfied authentication mechanism parameters" : "无法满足认证类型条件",
"Insufficient data: %s" : "数据不足: %s",
"%s" : "%s",
+ "Storage with ID \"%d\" is not user editable" : "ID%d的存储不可编辑",
"Access key" : "Access key",
"Secret key" : "Secret key",
"Builtin" : "内置",
@@ -101,6 +103,7 @@
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "没有安装或启用 PHP 中的 cURL 支持. 无法挂载 %s. 请联系您的系统管理员安装.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "没有安装或启用 PHP 中的 FTP 支持. 无法挂载 %s. 请联系您的系统管理员安装.",
"\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "没有安装 \"%s\". 无法挂载 %s. 请联系您的系统管理员安装.",
+ "External storage support" : "外部存储支持",
"No external storage configured" : "没有配置外部存储",
"You can add external storages in the personal settings" : "您可以在个人设置中添加外部存储",
"Name" : "名称",
diff --git a/apps/files_sharing/appinfo/info.xml b/apps/files_sharing/appinfo/info.xml
index 29a137fed0b..001c3bbeb50 100644
--- a/apps/files_sharing/appinfo/info.xml
+++ b/apps/files_sharing/appinfo/info.xml
@@ -51,4 +51,11 @@ Turning the feature off removes shared files and folders on the server for all s
<commands>
<command>OCA\Files_Sharing\Command\CleanupRemoteStorages</command>
</commands>
+
+ <repair-steps>
+ <post-migration>
+ <step>OCA\Files_Sharing\Migration\OwncloudGuestShareType</step>
+ <step>OCA\Files_Sharing\Migration\SetPasswordColumn</step>
+ </post-migration>
+ </repair-steps>
</info>
diff --git a/apps/files_sharing/appinfo/update.php b/apps/files_sharing/appinfo/update.php
deleted file mode 100644
index a83a0c7b5b8..00000000000
--- a/apps/files_sharing/appinfo/update.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Björn Schießle <bjoern@schiessle.org>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @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/>
- *
- */
-use OCA\Files_Sharing\Migration;
-
-$installedVersion = \OC::$server->getConfig()->getAppValue('files_sharing', 'installed_version');
-
-if (version_compare($installedVersion, '1.4.0', '<')) {
- $m = new Migration(\OC::$server->getDatabaseConnection(), \OC::$server->getConfig());
- $m->addPasswordColumn();
-}
diff --git a/apps/files_sharing/l10n/el.js b/apps/files_sharing/l10n/el.js
index 9ab8ca10e27..4b4f9e9ecfc 100644
--- a/apps/files_sharing/l10n/el.js
+++ b/apps/files_sharing/l10n/el.js
@@ -89,6 +89,7 @@ OC.L10N.register(
"Cannot increase permissions" : "Δεν μπορούμε να αυξήσουμε δικαιώματα",
"%s is publicly shared" : "%s είναι δημόσια διαμοιρασμένο",
"Share API is disabled" : "API διαμοιρασμού είναι απενεργοποιημένο",
+ "File sharing" : "Διαμοιρασμός αρχείων",
"This share is password-protected" : "Αυτός ο κοινόχρηστος φάκελος προστατεύεται με κωδικό",
"The password is wrong. Try again." : "Εσφαλμένος κωδικός πρόσβασης. Προσπαθήστε ξανά.",
"Password" : "Κωδικός πρόσβασης",
diff --git a/apps/files_sharing/l10n/el.json b/apps/files_sharing/l10n/el.json
index bf12d262230..8cd4acd2d0b 100644
--- a/apps/files_sharing/l10n/el.json
+++ b/apps/files_sharing/l10n/el.json
@@ -87,6 +87,7 @@
"Cannot increase permissions" : "Δεν μπορούμε να αυξήσουμε δικαιώματα",
"%s is publicly shared" : "%s είναι δημόσια διαμοιρασμένο",
"Share API is disabled" : "API διαμοιρασμού είναι απενεργοποιημένο",
+ "File sharing" : "Διαμοιρασμός αρχείων",
"This share is password-protected" : "Αυτός ο κοινόχρηστος φάκελος προστατεύεται με κωδικό",
"The password is wrong. Try again." : "Εσφαλμένος κωδικός πρόσβασης. Προσπαθήστε ξανά.",
"Password" : "Κωδικός πρόσβασης",
diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js
index 12a83043de6..43a90ab04fa 100644
--- a/apps/files_sharing/l10n/fr.js
+++ b/apps/files_sharing/l10n/fr.js
@@ -89,6 +89,7 @@ OC.L10N.register(
"Cannot increase permissions" : "Impossible d'augmenter les permissions",
"%s is publicly shared" : "%s a été partagé publiquement",
"Share API is disabled" : "l'API de partage est désactivée",
+ "File sharing" : "Partage de fichiers",
"This share is password-protected" : "Ce partage est protégé par un mot de passe",
"The password is wrong. Try again." : "Le mot de passe est incorrect. Veuillez réessayer.",
"Password" : "Mot de passe",
diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json
index 3b31113f45a..3c6370873b7 100644
--- a/apps/files_sharing/l10n/fr.json
+++ b/apps/files_sharing/l10n/fr.json
@@ -87,6 +87,7 @@
"Cannot increase permissions" : "Impossible d'augmenter les permissions",
"%s is publicly shared" : "%s a été partagé publiquement",
"Share API is disabled" : "l'API de partage est désactivée",
+ "File sharing" : "Partage de fichiers",
"This share is password-protected" : "Ce partage est protégé par un mot de passe",
"The password is wrong. Try again." : "Le mot de passe est incorrect. Veuillez réessayer.",
"Password" : "Mot de passe",
diff --git a/apps/files_sharing/l10n/is.js b/apps/files_sharing/l10n/is.js
index 58d41c0c1cf..0bfe415807e 100644
--- a/apps/files_sharing/l10n/is.js
+++ b/apps/files_sharing/l10n/is.js
@@ -89,6 +89,7 @@ OC.L10N.register(
"Cannot increase permissions" : "Get ekki aukið aðgangsheimildir",
"%s is publicly shared" : "%s er deilt opinberlega",
"Share API is disabled" : "Deilingar-API er óvirkt",
+ "File sharing" : "Skráadeiling",
"This share is password-protected" : "Þessi sameign er varin með lykilorði",
"The password is wrong. Try again." : "Lykilorðið er rangt. Reyndu aftur.",
"Password" : "Lykilorð",
diff --git a/apps/files_sharing/l10n/is.json b/apps/files_sharing/l10n/is.json
index 558df52aaeb..02d206257df 100644
--- a/apps/files_sharing/l10n/is.json
+++ b/apps/files_sharing/l10n/is.json
@@ -87,6 +87,7 @@
"Cannot increase permissions" : "Get ekki aukið aðgangsheimildir",
"%s is publicly shared" : "%s er deilt opinberlega",
"Share API is disabled" : "Deilingar-API er óvirkt",
+ "File sharing" : "Skráadeiling",
"This share is password-protected" : "Þessi sameign er varin með lykilorði",
"The password is wrong. Try again." : "Lykilorðið er rangt. Reyndu aftur.",
"Password" : "Lykilorð",
diff --git a/apps/files_sharing/l10n/nb.js b/apps/files_sharing/l10n/nb.js
index 64c75b414d0..ce3165fecc7 100644
--- a/apps/files_sharing/l10n/nb.js
+++ b/apps/files_sharing/l10n/nb.js
@@ -89,6 +89,7 @@ OC.L10N.register(
"Cannot increase permissions" : "Kan ikke øke tillatelser",
"%s is publicly shared" : "%s er delt offentlig",
"Share API is disabled" : "Deling API er deaktivert",
+ "File sharing" : "Fildeling",
"This share is password-protected" : "Denne delingen er passordbeskyttet",
"The password is wrong. Try again." : "Passordet er feil. Prøv på nytt.",
"Password" : "Passord",
diff --git a/apps/files_sharing/l10n/nb.json b/apps/files_sharing/l10n/nb.json
index 2ade5486158..7f2fa23a6ac 100644
--- a/apps/files_sharing/l10n/nb.json
+++ b/apps/files_sharing/l10n/nb.json
@@ -87,6 +87,7 @@
"Cannot increase permissions" : "Kan ikke øke tillatelser",
"%s is publicly shared" : "%s er delt offentlig",
"Share API is disabled" : "Deling API er deaktivert",
+ "File sharing" : "Fildeling",
"This share is password-protected" : "Denne delingen er passordbeskyttet",
"The password is wrong. Try again." : "Passordet er feil. Prøv på nytt.",
"Password" : "Passord",
diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js
index f846b029615..3aff2387241 100644
--- a/apps/files_sharing/l10n/nl.js
+++ b/apps/files_sharing/l10n/nl.js
@@ -89,6 +89,7 @@ OC.L10N.register(
"Cannot increase permissions" : "Kan de rechten niet verruimen",
"%s is publicly shared" : "%s is openbaar gedeeld",
"Share API is disabled" : "Delen API is uitgeschakeld",
+ "File sharing" : "Bestand delen",
"This share is password-protected" : "Deze share is met een wachtwoord beveiligd",
"The password is wrong. Try again." : "Wachtwoord ongeldig. Probeer het nogmaals.",
"Password" : "Wachtwoord",
diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json
index 4797535e6c7..192399be440 100644
--- a/apps/files_sharing/l10n/nl.json
+++ b/apps/files_sharing/l10n/nl.json
@@ -87,6 +87,7 @@
"Cannot increase permissions" : "Kan de rechten niet verruimen",
"%s is publicly shared" : "%s is openbaar gedeeld",
"Share API is disabled" : "Delen API is uitgeschakeld",
+ "File sharing" : "Bestand delen",
"This share is password-protected" : "Deze share is met een wachtwoord beveiligd",
"The password is wrong. Try again." : "Wachtwoord ongeldig. Probeer het nogmaals.",
"Password" : "Wachtwoord",
diff --git a/apps/files_sharing/l10n/pl.js b/apps/files_sharing/l10n/pl.js
index 4abb9e6ef53..7c85614262e 100644
--- a/apps/files_sharing/l10n/pl.js
+++ b/apps/files_sharing/l10n/pl.js
@@ -89,6 +89,7 @@ OC.L10N.register(
"Cannot increase permissions" : "Nie można zwiększyć uprawnień",
"%s is publicly shared" : "%s jest publicznie dostępny",
"Share API is disabled" : "API udostępniania jest wyłączone",
+ "File sharing" : "Udostępnianie plików",
"This share is password-protected" : "Udział ten jest chroniony hasłem",
"The password is wrong. Try again." : "To hasło jest niewłaściwe. Spróbuj ponownie.",
"Password" : "Hasło",
diff --git a/apps/files_sharing/l10n/pl.json b/apps/files_sharing/l10n/pl.json
index 8803b0375b4..d96a0ba132d 100644
--- a/apps/files_sharing/l10n/pl.json
+++ b/apps/files_sharing/l10n/pl.json
@@ -87,6 +87,7 @@
"Cannot increase permissions" : "Nie można zwiększyć uprawnień",
"%s is publicly shared" : "%s jest publicznie dostępny",
"Share API is disabled" : "API udostępniania jest wyłączone",
+ "File sharing" : "Udostępnianie plików",
"This share is password-protected" : "Udział ten jest chroniony hasłem",
"The password is wrong. Try again." : "To hasło jest niewłaściwe. Spróbuj ponownie.",
"Password" : "Hasło",
diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js
index 5f8a126b7da..4ae11dd2b89 100644
--- a/apps/files_sharing/l10n/tr.js
+++ b/apps/files_sharing/l10n/tr.js
@@ -64,11 +64,11 @@ OC.L10N.register(
"A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "E-posta ya da herkese açık bağlatı ile paylaşılan bir dosya ya da klasör <strong>indirildi</strong>",
"A file or folder was shared from <strong>another server</strong>" : "<strong>Başka bir sunucudan</strong> bir dosya ya da klasör paylaşıldı",
"A file or folder has been <strong>shared</strong>" : "Bir dosya ya da klasör <strong>paylaşıldı</strong>",
- "Wrong share ID, share doesn't exist" : "Paylaşım kimliği hatalı. Paylaşım bulunamadı",
+ "Wrong share ID, share doesn't exist" : "Paylaşım kimliği yanlış. Paylaşım bulunamadı",
"could not delete share" : "paylaşım kaldırılamadı",
"Could not delete share" : "Paylaşım kaldırılamadı",
"Please specify a file or folder path" : "Lütfen bir dosya ya da klasör yolu belirtin",
- "Wrong path, file/folder doesn't exist" : "Yol hatalı. Dosya ya da klasör bulunamadı",
+ "Wrong path, file/folder doesn't exist" : "Yol yanlış. Dosya ya da klasör bulunamadı",
"Could not create share" : "Paylaşılamadı",
"invalid permissions" : "izinler geçersiz",
"Please specify a valid user" : "Lütfen geçerli bir kullanıcı belirtin",
@@ -84,14 +84,14 @@ OC.L10N.register(
"Unknown share type" : "Paylaşım türü bilinmiyor",
"Not a directory" : "Bir klasör değil",
"Could not lock path" : "Yol kilitlenemedi",
- "Wrong or no update parameter given" : "Parametre hatalı ya da herhangi bir parametre belirtilmemiş",
+ "Wrong or no update parameter given" : "Parametre yanlış ya da herhangi bir parametre belirtilmemiş",
"Can't change permissions for public share links" : "Herkese açık paylaşılan bağlantıların erişim hakları değiştirilemez",
"Cannot increase permissions" : "Erişim izinleri yükseltilemez",
"%s is publicly shared" : "%s herkese açık olarak paylaşıldı",
"Share API is disabled" : "Paylaşım API arayüzü devre dışı",
"File sharing" : "Dosya paylaşımı",
"This share is password-protected" : "Bu paylaşım parola korumalı",
- "The password is wrong. Try again." : "Parola hatalı. Yeniden deneyin.",
+ "The password is wrong. Try again." : "Parola yanlış. Yeniden deneyin.",
"Password" : "Parola",
"No entries found in this folder" : "Bu klasörde herhangi bir kayıt yok",
"Name" : "Ad",
diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json
index 198705ba445..8cc4a3088b8 100644
--- a/apps/files_sharing/l10n/tr.json
+++ b/apps/files_sharing/l10n/tr.json
@@ -62,11 +62,11 @@
"A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "E-posta ya da herkese açık bağlatı ile paylaşılan bir dosya ya da klasör <strong>indirildi</strong>",
"A file or folder was shared from <strong>another server</strong>" : "<strong>Başka bir sunucudan</strong> bir dosya ya da klasör paylaşıldı",
"A file or folder has been <strong>shared</strong>" : "Bir dosya ya da klasör <strong>paylaşıldı</strong>",
- "Wrong share ID, share doesn't exist" : "Paylaşım kimliği hatalı. Paylaşım bulunamadı",
+ "Wrong share ID, share doesn't exist" : "Paylaşım kimliği yanlış. Paylaşım bulunamadı",
"could not delete share" : "paylaşım kaldırılamadı",
"Could not delete share" : "Paylaşım kaldırılamadı",
"Please specify a file or folder path" : "Lütfen bir dosya ya da klasör yolu belirtin",
- "Wrong path, file/folder doesn't exist" : "Yol hatalı. Dosya ya da klasör bulunamadı",
+ "Wrong path, file/folder doesn't exist" : "Yol yanlış. Dosya ya da klasör bulunamadı",
"Could not create share" : "Paylaşılamadı",
"invalid permissions" : "izinler geçersiz",
"Please specify a valid user" : "Lütfen geçerli bir kullanıcı belirtin",
@@ -82,14 +82,14 @@
"Unknown share type" : "Paylaşım türü bilinmiyor",
"Not a directory" : "Bir klasör değil",
"Could not lock path" : "Yol kilitlenemedi",
- "Wrong or no update parameter given" : "Parametre hatalı ya da herhangi bir parametre belirtilmemiş",
+ "Wrong or no update parameter given" : "Parametre yanlış ya da herhangi bir parametre belirtilmemiş",
"Can't change permissions for public share links" : "Herkese açık paylaşılan bağlantıların erişim hakları değiştirilemez",
"Cannot increase permissions" : "Erişim izinleri yükseltilemez",
"%s is publicly shared" : "%s herkese açık olarak paylaşıldı",
"Share API is disabled" : "Paylaşım API arayüzü devre dışı",
"File sharing" : "Dosya paylaşımı",
"This share is password-protected" : "Bu paylaşım parola korumalı",
- "The password is wrong. Try again." : "Parola hatalı. Yeniden deneyin.",
+ "The password is wrong. Try again." : "Parola yanlış. Yeniden deneyin.",
"Password" : "Parola",
"No entries found in this folder" : "Bu klasörde herhangi bir kayıt yok",
"Name" : "Ad",
diff --git a/apps/files_sharing/l10n/zh_CN.js b/apps/files_sharing/l10n/zh_CN.js
index 34b25c1a9e3..d4655f8d798 100644
--- a/apps/files_sharing/l10n/zh_CN.js
+++ b/apps/files_sharing/l10n/zh_CN.js
@@ -89,6 +89,7 @@ OC.L10N.register(
"Cannot increase permissions" : "不能增加权限",
"%s is publicly shared" : "%s 是公开共享",
"Share API is disabled" : "共享 API 已被禁用",
+ "File sharing" : "文件共享",
"This share is password-protected" : "这是一个密码保护的共享",
"The password is wrong. Try again." : "用户名或密码错误!请重试",
"Password" : "密码",
diff --git a/apps/files_sharing/l10n/zh_CN.json b/apps/files_sharing/l10n/zh_CN.json
index 42622cc89a3..ebb971213da 100644
--- a/apps/files_sharing/l10n/zh_CN.json
+++ b/apps/files_sharing/l10n/zh_CN.json
@@ -87,6 +87,7 @@
"Cannot increase permissions" : "不能增加权限",
"%s is publicly shared" : "%s 是公开共享",
"Share API is disabled" : "共享 API 已被禁用",
+ "File sharing" : "文件共享",
"This share is password-protected" : "这是一个密码保护的共享",
"The password is wrong. Try again." : "用户名或密码错误!请重试",
"Password" : "密码",
diff --git a/apps/files_sharing/lib/Migration.php b/apps/files_sharing/lib/Migration.php
deleted file mode 100644
index 49e275cbe6e..00000000000
--- a/apps/files_sharing/lib/Migration.php
+++ /dev/null
@@ -1,308 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Björn Schießle <bjoern@schiessle.org>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Robin Appelman <robin@icewind.nl>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OCA\Files_Sharing;
-
-use Doctrine\DBAL\Connection;
-use OCP\ICache;
-use OCP\IConfig;
-use OCP\IDBConnection;
-use OC\Cache\CappedMemoryCache;
-
-/**
- * Class Migration
- *
- * @package OCA\Files_Sharing
- * @group DB
- */
-class Migration {
-
- /** @var IDBConnection */
- private $connection;
-
- /** @var IConfig */
- private $config;
-
- /** @var ICache with all shares we already saw */
- private $shareCache;
-
- /** @var string */
- private $table = 'share';
-
- public function __construct(IDBConnection $connection, IConfig $config) {
- $this->connection = $connection;
- $this->config = $config;
-
- // We cache up to 10k share items (~20MB)
- $this->shareCache = new CappedMemoryCache(10000);
- }
-
- /**
- * move all re-shares to the owner in order to have a flat list of shares
- * upgrade from oC 8.2 to 9.0 with the new sharing
- */
- public function removeReShares() {
-
- $stmt = $this->getReShares();
-
- $owners = [];
- while($share = $stmt->fetch()) {
-
- $this->shareCache[$share['id']] = $share;
-
- $owners[$share['id']] = [
- 'owner' => $this->findOwner($share),
- 'initiator' => $share['uid_owner'],
- 'type' => $share['share_type'],
- ];
-
- if (count($owners) === 1000) {
- $this->updateOwners($owners);
- $owners = [];
- }
- }
-
- $stmt->closeCursor();
-
- if (count($owners)) {
- $this->updateOwners($owners);
- }
- }
-
- /**
- * update all owner information so that all shares have an owner
- * and an initiator for the upgrade from oC 8.2 to 9.0 with the new sharing
- */
- public function updateInitiatorInfo() {
- while (true) {
- $shares = $this->getMissingInitiator(1000);
-
- if (empty($shares)) {
- break;
- }
-
- $owners = [];
- foreach ($shares as $share) {
- $owners[$share['id']] = [
- 'owner' => $share['uid_owner'],
- 'initiator' => $share['uid_owner'],
- 'type' => $share['share_type'],
- ];
- }
- $this->updateOwners($owners);
- }
- }
-
- /**
- * this was dropped for Nextcloud 11 in favour of share by mail
- */
- public function removeSendMailOption() {
- $this->config->deleteAppValue('core', 'shareapi_allow_mail_notification');
- $this->config->deleteAppValue('core', 'shareapi_allow_public_notification');
- }
-
- public function addPasswordColumn() {
- $query = $this->connection->getQueryBuilder();
- $query
- ->update('share')
- ->set('password', 'share_with')
- ->where($query->expr()->eq('share_type', $query->createNamedParameter(\OCP\Share::SHARE_TYPE_LINK)))
- ->andWhere($query->expr()->isNotNull('share_with'));
- $query->execute();
-
- $clearQuery = $this->connection->getQueryBuilder();
- $clearQuery
- ->update('share')->set('share_with', $clearQuery->createNamedParameter(null))
- ->where($clearQuery->expr()->eq('share_type', $clearQuery->createNamedParameter(\OCP\Share::SHARE_TYPE_LINK)));
-
- $clearQuery->execute();
-
- }
-
- /**
- * find the owner of a re-shared file/folder
- *
- * @param array $share
- * @return array
- */
- private function findOwner($share) {
- $currentShare = $share;
- while(!is_null($currentShare['parent'])) {
- if (isset($this->shareCache[$currentShare['parent']])) {
- $currentShare = $this->shareCache[$currentShare['parent']];
- } else {
- $currentShare = $this->getShare((int)$currentShare['parent']);
- $this->shareCache[$currentShare['id']] = $currentShare;
- }
- }
-
- return $currentShare['uid_owner'];
- }
-
- /**
- * Get $n re-shares from the database
- *
- * @param int $n The max number of shares to fetch
- * @return \Doctrine\DBAL\Driver\Statement
- */
- private function getReShares() {
- $query = $this->connection->getQueryBuilder();
- $query->select(['id', 'parent', 'uid_owner', 'share_type'])
- ->from($this->table)
- ->where($query->expr()->in(
- 'share_type',
- $query->createNamedParameter(
- [
- \OCP\Share::SHARE_TYPE_USER,
- \OCP\Share::SHARE_TYPE_GROUP,
- \OCP\Share::SHARE_TYPE_LINK,
- \OCP\Share::SHARE_TYPE_REMOTE,
- ],
- Connection::PARAM_INT_ARRAY
- )
- ))
- ->andWhere($query->expr()->in(
- 'item_type',
- $query->createNamedParameter(
- ['file', 'folder'],
- Connection::PARAM_STR_ARRAY
- )
- ))
- ->andWhere($query->expr()->isNotNull('parent'))
- ->orderBy('id', 'asc');
- return $query->execute();
-
-
- $shares = $result->fetchAll();
- $result->closeCursor();
-
- $ordered = [];
- foreach ($shares as $share) {
- $ordered[(int)$share['id']] = $share;
- }
-
- return $ordered;
- }
-
- /**
- * Get $n re-shares from the database
- *
- * @param int $n The max number of shares to fetch
- * @return array
- */
- private function getMissingInitiator($n = 1000) {
- $query = $this->connection->getQueryBuilder();
- $query->select(['id', 'uid_owner', 'share_type'])
- ->from($this->table)
- ->where($query->expr()->in(
- 'share_type',
- $query->createNamedParameter(
- [
- \OCP\Share::SHARE_TYPE_USER,
- \OCP\Share::SHARE_TYPE_GROUP,
- \OCP\Share::SHARE_TYPE_LINK,
- \OCP\Share::SHARE_TYPE_REMOTE,
- ],
- Connection::PARAM_INT_ARRAY
- )
- ))
- ->andWhere($query->expr()->in(
- 'item_type',
- $query->createNamedParameter(
- ['file', 'folder'],
- Connection::PARAM_STR_ARRAY
- )
- ))
- ->andWhere($query->expr()->isNull('uid_initiator'))
- ->orderBy('id', 'asc')
- ->setMaxResults($n);
- $result = $query->execute();
- $shares = $result->fetchAll();
- $result->closeCursor();
-
- $ordered = [];
- foreach ($shares as $share) {
- $ordered[(int)$share['id']] = $share;
- }
-
- return $ordered;
- }
-
- /**
- * get a specific share
- *
- * @param int $id
- * @return array
- */
- private function getShare($id) {
- $query = $this->connection->getQueryBuilder();
- $query->select(['id', 'parent', 'uid_owner'])
- ->from($this->table)
- ->where($query->expr()->eq('id', $query->createNamedParameter($id)));
- $result = $query->execute();
- $share = $result->fetchAll();
- $result->closeCursor();
-
- return $share[0];
- }
-
- /**
- * update database with the new owners
- *
- * @param array $owners
- * @throws \Exception
- */
- private function updateOwners($owners) {
-
- $this->connection->beginTransaction();
-
- try {
-
- foreach ($owners as $id => $owner) {
- $query = $this->connection->getQueryBuilder();
- $query->update($this->table)
- ->set('uid_owner', $query->createNamedParameter($owner['owner']))
- ->set('uid_initiator', $query->createNamedParameter($owner['initiator']));
-
-
- if ((int)$owner['type'] !== \OCP\Share::SHARE_TYPE_LINK) {
- $query->set('parent', $query->createNamedParameter(null));
- }
-
- $query->where($query->expr()->eq('id', $query->createNamedParameter($id)));
-
- $query->execute();
- }
-
- $this->connection->commit();
-
- } catch (\Exception $e) {
- $this->connection->rollBack();
- throw $e;
- }
-
- }
-
-}
diff --git a/apps/files_sharing/lib/Migration/OwncloudGuestShareType.php b/apps/files_sharing/lib/Migration/OwncloudGuestShareType.php
new file mode 100644
index 00000000000..07f739fb702
--- /dev/null
+++ b/apps/files_sharing/lib/Migration/OwncloudGuestShareType.php
@@ -0,0 +1,82 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Files_Sharing\Migration;
+
+use OCP\IConfig;
+use OCP\IDBConnection;
+use OCP\Migration\IOutput;
+use OCP\Migration\IRepairStep;
+use OCP\Share;
+
+/**
+ * Class OwncloudGuestShareType
+ *
+ * @package OCA\Files_Sharing\Migration
+ */
+class OwncloudGuestShareType implements IRepairStep {
+
+ /** @var IDBConnection */
+ private $connection;
+
+ /** @var IConfig */
+ private $config;
+
+
+ public function __construct(IDBConnection $connection, IConfig $config) {
+ $this->connection = $connection;
+ $this->config = $config;
+ }
+
+ /**
+ * Returns the step's name
+ *
+ * @return string
+ * @since 9.1.0
+ */
+ public function getName() {
+ return 'Fix the share type of guest shares when migrating from ownCloud';
+ }
+
+ /**
+ * @param IOutput $output
+ */
+ public function run(IOutput $output) {
+ if (!$this->shouldRun()) {
+ return;
+ }
+
+ $query = $this->connection->getQueryBuilder();
+ $query->update('share')
+ ->set('share_type', $query->createNamedParameter(Share::SHARE_TYPE_GUEST))
+ ->where($query->expr()->eq('share_type', $query->createNamedParameter(Share::SHARE_TYPE_EMAIL)));
+ $query->execute();
+ }
+
+ protected function shouldRun() {
+ $appVersion = $this->config->getAppValue('files_sharing', 'installed_version', '0.0.0');
+ return in_array($appVersion, ['0.10.0']) ||
+ $this->config->getAppValue('core', 'vendor', '') === 'owncloud';
+ }
+
+}
diff --git a/apps/files_sharing/lib/Migration/SetPasswordColumn.php b/apps/files_sharing/lib/Migration/SetPasswordColumn.php
new file mode 100644
index 00000000000..e8631485f88
--- /dev/null
+++ b/apps/files_sharing/lib/Migration/SetPasswordColumn.php
@@ -0,0 +1,97 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Files_Sharing\Migration;
+
+use OCP\IConfig;
+use OCP\IDBConnection;
+use OCP\Migration\IOutput;
+use OCP\Migration\IRepairStep;
+use OCP\Share;
+
+/**
+ * Class SetPasswordColumn
+ *
+ * @package OCA\Files_Sharing\Migration
+ */
+class SetPasswordColumn implements IRepairStep {
+
+ /** @var IDBConnection */
+ private $connection;
+
+ /** @var IConfig */
+ private $config;
+
+
+ public function __construct(IDBConnection $connection, IConfig $config) {
+ $this->connection = $connection;
+ $this->config = $config;
+ }
+
+ /**
+ * Returns the step's name
+ *
+ * @return string
+ * @since 9.1.0
+ */
+ public function getName() {
+ return 'Copy the share password into the dedicated column';
+ }
+
+ /**
+ * @param IOutput $output
+ */
+ public function run(IOutput $output) {
+ if (!$this->shouldRun()) {
+ return;
+ }
+
+ $query = $this->connection->getQueryBuilder();
+ $query
+ ->update('share')
+ ->set('password', 'share_with')
+ ->where($query->expr()->eq('share_type', $query->createNamedParameter(Share::SHARE_TYPE_LINK)))
+ ->andWhere($query->expr()->isNotNull('share_with'));
+ $result = $query->execute();
+
+ if ($result === 0) {
+ // No link updated, no need to run the second query
+ return;
+ }
+
+ $clearQuery = $this->connection->getQueryBuilder();
+ $clearQuery
+ ->update('share')
+ ->set('share_with', $clearQuery->createNamedParameter(null))
+ ->where($clearQuery->expr()->eq('share_type', $clearQuery->createNamedParameter(Share::SHARE_TYPE_LINK)));
+
+ $clearQuery->execute();
+
+ }
+
+ protected function shouldRun() {
+ $appVersion = $this->config->getAppValue('files_sharing', 'installed_version', '0.0.0');
+ return version_compare($appVersion, '1.4.0', '<');
+ }
+
+}
diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php
index 123a5cb4f53..adbbd0f80e7 100644
--- a/apps/files_sharing/templates/public.php
+++ b/apps/files_sharing/templates/public.php
@@ -84,7 +84,7 @@ $maxUploadFilesize = min($upload_max_filesize, $post_max_size);
<div id="imgframe"></div>
<?php endif; ?>
<div class="directDownload">
- <a href="<?php p($_['downloadURL']); ?>" id="downloadFile" class="button primary">
+ <a href="<?php p($_['downloadURL']); ?>" id="downloadFile" class="button">
<span class="icon icon-download"></span>
<?php p($l->t('Download %s', array($_['filename'])))?> (<?php p($_['fileSize']) ?>)
</a>
diff --git a/apps/files_sharing/tests/Migration/SetPasswordColumnTest.php b/apps/files_sharing/tests/Migration/SetPasswordColumnTest.php
new file mode 100644
index 00000000000..4ae9e428e8d
--- /dev/null
+++ b/apps/files_sharing/tests/Migration/SetPasswordColumnTest.php
@@ -0,0 +1,124 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016, ownCloud, Inc.
+ *
+ * @author Björn Schießle <bjoern@schiessle.org>
+ * @author Joas Schilling <coding@schilljs.com>
+ * @author Morris Jobke <hey@morrisjobke.de>
+ * @author Roeland Jago Douma <roeland@famdouma.nl>
+ * @author Thomas Müller <thomas.mueller@tmit.eu>
+ *
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\Files_Sharing\Tests\Migration;
+
+
+use OCA\Files_Sharing\Migration\SetPasswordColumn;
+use OCA\Files_Sharing\Tests\TestCase;
+use OCP\IConfig;
+use OCP\Migration\IOutput;
+use OCP\Share;
+
+/**
+ * Class SetPasswordColumnTest
+ *
+ * @group DB
+ */
+class SetPasswordColumnTest extends TestCase {
+
+ /** @var \OCP\IDBConnection */
+ private $connection;
+
+ /** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */
+ private $config;
+
+ /** @var SetPasswordColumn */
+ private $migration;
+
+ private $table = 'share';
+
+ public function setUp() {
+ parent::setUp();
+
+ $this->connection = \OC::$server->getDatabaseConnection();
+ $this->config = $this->createMock(IConfig::class);
+ $this->migration = new SetPasswordColumn($this->connection, $this->config);
+
+ $this->cleanDB();
+ }
+
+ public function tearDown() {
+ parent::tearDown();
+ $this->cleanDB();
+ }
+
+ private function cleanDB() {
+ $query = $this->connection->getQueryBuilder();
+ $query->delete($this->table)->execute();
+ }
+
+ public function testAddPasswordColumn() {
+ $this->config->expects($this->once())
+ ->method('getAppValue')
+ ->with('files_sharing', 'installed_version', '0.0.0')
+ ->willReturn('1.3.0');
+
+ $shareTypes = [Share::SHARE_TYPE_USER, Share::SHARE_TYPE_GROUP, Share::SHARE_TYPE_REMOTE, Share::SHARE_TYPE_EMAIL, Share::SHARE_TYPE_LINK];
+
+ foreach ($shareTypes as $shareType) {
+ for ($i = 0; $i < 5; $i++) {
+ $query = $this->connection->getQueryBuilder();
+ $query->insert($this->table)
+ ->values([
+ 'share_type' => $query->createNamedParameter($shareType),
+ 'share_with' => $query->createNamedParameter('shareWith'),
+ 'uid_owner' => $query->createNamedParameter('user' . $i),
+ 'uid_initiator' => $query->createNamedParameter(null),
+ 'parent' => $query->createNamedParameter(0),
+ 'item_type' => $query->createNamedParameter('file'),
+ 'item_source' => $query->createNamedParameter('2'),
+ 'item_target' => $query->createNamedParameter('/2'),
+ 'file_source' => $query->createNamedParameter(2),
+ 'file_target' => $query->createNamedParameter('/foobar'),
+ 'permissions' => $query->createNamedParameter(31),
+ 'stime' => $query->createNamedParameter(time()),
+ ]);
+
+ $this->assertSame(1, $query->execute());
+ }
+ }
+
+ /** @var IOutput $output */
+ $output = $this->createMock(IOutput::class);
+ $this->migration->run($output);
+
+ $query = $this->connection->getQueryBuilder();
+ $query->select('*')
+ ->from('share');
+ $allShares = $query->execute()->fetchAll();
+
+ foreach ($allShares as $share) {
+ if ((int)$share['share_type'] === Share::SHARE_TYPE_LINK) {
+ $this->assertNull( $share['share_with']);
+ $this->assertSame('shareWith', $share['password']);
+ } else {
+ $this->assertSame('shareWith', $share['share_with']);
+ $this->assertNull($share['password']);
+ }
+ }
+ }
+}
diff --git a/apps/files_sharing/tests/MigrationTest.php b/apps/files_sharing/tests/MigrationTest.php
deleted file mode 100644
index c8dfefb96b4..00000000000
--- a/apps/files_sharing/tests/MigrationTest.php
+++ /dev/null
@@ -1,188 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Björn Schießle <bjoern@schiessle.org>
- * @author Joas Schilling <coding@schilljs.com>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- * @author Thomas Müller <thomas.mueller@tmit.eu>
- *
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OCA\Files_Sharing\Tests;
-
-
-use OCA\Files_Sharing\Migration;
-use OCP\Share;
-
-/**
- * Class MigrationTest
- *
- * @group DB
- */
-class MigrationTest extends TestCase {
-
- /** @var \OCP\IDBConnection */
- private $connection;
-
- /** @var \OCP\IConfig */
- private $config;
-
- /** @var Migration */
- private $migration;
-
- private $table = 'share';
-
- public function setUp() {
- parent::setUp();
-
- $this->connection = \OC::$server->getDatabaseConnection();
- $this->config = \OC::$server->getConfig();
- $this->migration = new Migration($this->connection, $this->config);
-
- $this->cleanDB();
- }
-
- public function tearDown() {
- parent::tearDown();
- $this->cleanDB();
- }
-
- private function cleanDB() {
- $query = $this->connection->getQueryBuilder();
- $query->delete($this->table)->execute();
- }
-
- public function verifyResult() {
- $query = $this->connection->getQueryBuilder();
- $query->select('*')->from($this->table)->orderBy('id');
- $result = $query->execute()->fetchAll();
- $this->assertSame(10, count($result));
-
- // shares which shouldn't be modified
- for ($i = 0; $i < 4; $i++) {
- $this->assertSame('owner1', $result[$i]['uid_owner']);
- $this->assertEmpty($result[$i]['uid_initiator']);
- $this->assertNull($result[$i]['parent']);
- }
- // group share with unique target
- $this->assertSame('owner1', $result[4]['uid_owner']);
- $this->assertEmpty($result[4]['uid_initiator']);
- $this->assertNotEmpty($result[4]['parent']);
- // initial user share which was re-shared
- $this->assertSame('owner2', $result[5]['uid_owner']);
- $this->assertEmpty($result[5]['uid_initiator']);
- $this->assertNull($result[5]['parent']);
- // flatted re-shares
- for($i = 6; $i < 9; $i++) {
- $this->assertSame('owner2', $result[$i]['uid_owner']);
- $user = 'user' . ($i - 5);
- $this->assertSame($user, $result[$i]['uid_initiator']);
- $this->assertNull($result[$i]['parent']);
- }
-
- /*
- * The link share is flattend but has an owner to avoid invisible shares
- * see: https://github.com/owncloud/core/pull/22317
- */
- $this->assertSame('owner2', $result[9]['uid_owner']);
- $this->assertSame('user3', $result[9]['uid_initiator']);
- $this->assertSame($result[7]['id'], $result[9]['parent']);
- }
-
- /**
- * test that we really remove the "shareapi_allow_mail_notification" setting only
- */
- public function testRemoveSendMailOption() {
- $this->config->setAppValue('core', 'shareapi_setting1', 'dummy-value');
- $this->config->setAppValue('core', 'shareapi_allow_mail_notification', 'no');
- $this->config->setAppValue('core', 'shareapi_allow_public_notification', 'no');
-
- $this->migration->removeSendMailOption();
-
- $this->assertNull(
- $this->config->getAppValue('core', 'shareapi_allow_mail_notification', null)
- );
- $this->assertNull(
- $this->config->getAppValue('core', 'shareapi_allow_public_notification', null)
- );
-
- $this->assertSame('dummy-value',
- $this->config->getAppValue('core', 'shareapi_setting1', null)
- );
- }
-
- public function testAddPasswordColumn() {
-
- $shareTypes = [Share::SHARE_TYPE_USER, Share::SHARE_TYPE_GROUP, Share::SHARE_TYPE_REMOTE, Share::SHARE_TYPE_EMAIL, Share::SHARE_TYPE_LINK];
-
- foreach ($shareTypes as $shareType) {
-
- for ($i = 0; $i < 5; $i++) {
- $query = $this->connection->getQueryBuilder();
- $query->insert($this->table)
- ->values(
- [
- 'share_type' => $query->createParameter('share_type'),
- 'share_with' => $query->createParameter('share_with'),
- 'uid_owner' => $query->createParameter('uid_owner'),
- 'uid_initiator' => $query->createParameter('uid_initiator'),
- 'parent' => $query->createParameter('parent'),
- 'item_type' => $query->createParameter('item_type'),
- 'item_source' => $query->createParameter('item_source'),
- 'item_target' => $query->createParameter('item_target'),
- 'file_source' => $query->createParameter('file_source'),
- 'file_target' => $query->createParameter('file_target'),
- 'permissions' => $query->createParameter('permissions'),
- 'stime' => $query->createParameter('stime'),
- ]
- )
- ->setParameter('share_type', $shareType)
- ->setParameter('share_with', 'shareWith')
- ->setParameter('uid_owner', 'user' . ($i))
- ->setParameter('uid_initiator', null)
- ->setParameter('parent', 0)
- ->setParameter('item_type', 'file')
- ->setParameter('item_source', '2')
- ->setParameter('item_target', '/2')
- ->setParameter('file_source', 2)
- ->setParameter('file_target', '/foobar')
- ->setParameter('permissions', 31)
- ->setParameter('stime', time());
-
- $this->assertSame(1, $query->execute());
- }
- }
-
- $this->migration->addPasswordColumn();
-
- $query = $this->connection->getQueryBuilder();
- $query->select('*')->from('share');
- $allShares = $query->execute()->fetchAll();
-
- foreach ($allShares as $share) {
- if ((int)$share['share_type'] === Share::SHARE_TYPE_LINK) {
- $this->assertNull( $share['share_with']);
- $this->assertSame('shareWith', $share['password']);
- } else {
- $this->assertSame('shareWith', $share['share_with']);
- $this->assertNull($share['password']);
- }
- }
- }
-}
diff --git a/apps/files_versions/l10n/ast.js b/apps/files_versions/l10n/ast.js
index 56ce76fe4f3..f6f56bc2100 100644
--- a/apps/files_versions/l10n/ast.js
+++ b/apps/files_versions/l10n/ast.js
@@ -4,8 +4,11 @@ OC.L10N.register(
"Could not revert: %s" : "Nun pudo revertise: %s",
"Versions" : "Versiones",
"Failed to revert {file} to revision {timestamp}." : "Fallu al revertir {file} a la revisión {timestamp}.",
+ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Restaurar",
- "More versions..." : "Más versiones...",
- "No other versions available" : "Nun hai otres versiones disponibles"
+ "No earlier versions available" : "Nun hai versiones más tempranes disponibles",
+ "More versions …" : "Más versiones...",
+ "No versions available" : "Nun hai versiones disponibles",
+ "More versions..." : "Más versiones..."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/ast.json b/apps/files_versions/l10n/ast.json
index 549c043df69..0c61764c382 100644
--- a/apps/files_versions/l10n/ast.json
+++ b/apps/files_versions/l10n/ast.json
@@ -2,8 +2,11 @@
"Could not revert: %s" : "Nun pudo revertise: %s",
"Versions" : "Versiones",
"Failed to revert {file} to revision {timestamp}." : "Fallu al revertir {file} a la revisión {timestamp}.",
+ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Restaurar",
- "More versions..." : "Más versiones...",
- "No other versions available" : "Nun hai otres versiones disponibles"
+ "No earlier versions available" : "Nun hai versiones más tempranes disponibles",
+ "More versions …" : "Más versiones...",
+ "No versions available" : "Nun hai versiones disponibles",
+ "More versions..." : "Más versiones..."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/lt_LT.js b/apps/files_versions/l10n/lt_LT.js
index 35d22a36904..5245826ea19 100644
--- a/apps/files_versions/l10n/lt_LT.js
+++ b/apps/files_versions/l10n/lt_LT.js
@@ -6,6 +6,7 @@ OC.L10N.register(
"Failed to revert {file} to revision {timestamp}." : "Nepavyko sugrąžinti {file} į {timestamp} būseną.",
"_%n byte_::_%n bytes_" : ["%n baitas","%n baitai","%n baitų"],
"Restore" : "Atkurti",
+ "More versions …" : "Daugiau versijų …",
"No versions available" : "Nėra prieinama jokių versijų",
"More versions..." : "Daugiau versijų..."
},
diff --git a/apps/files_versions/l10n/lt_LT.json b/apps/files_versions/l10n/lt_LT.json
index b0392e13de0..3b1dd6cecb9 100644
--- a/apps/files_versions/l10n/lt_LT.json
+++ b/apps/files_versions/l10n/lt_LT.json
@@ -4,6 +4,7 @@
"Failed to revert {file} to revision {timestamp}." : "Nepavyko sugrąžinti {file} į {timestamp} būseną.",
"_%n byte_::_%n bytes_" : ["%n baitas","%n baitai","%n baitų"],
"Restore" : "Atkurti",
+ "More versions …" : "Daugiau versijų …",
"No versions available" : "Nėra prieinama jokių versijų",
"More versions..." : "Daugiau versijų..."
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"
diff --git a/apps/files_versions/l10n/sq.js b/apps/files_versions/l10n/sq.js
index 8d211519404..e7cb0d518b4 100644
--- a/apps/files_versions/l10n/sq.js
+++ b/apps/files_versions/l10n/sq.js
@@ -6,6 +6,7 @@ OC.L10N.register(
"Failed to revert {file} to revision {timestamp}." : "Dështoi në rikthimin e {file} te rishikimi {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bajte","%n bajte"],
"Restore" : "Riktheje",
+ "No earlier versions available" : "Nuk ka versione të tjera të gatshme",
"No versions available" : "Ska versione të gatshme",
"More versions..." : "Më shumë versione…"
},
diff --git a/apps/files_versions/l10n/sq.json b/apps/files_versions/l10n/sq.json
index e6b2aa5bb68..3fb127f2ea7 100644
--- a/apps/files_versions/l10n/sq.json
+++ b/apps/files_versions/l10n/sq.json
@@ -4,6 +4,7 @@
"Failed to revert {file} to revision {timestamp}." : "Dështoi në rikthimin e {file} te rishikimi {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bajte","%n bajte"],
"Restore" : "Riktheje",
+ "No earlier versions available" : "Nuk ka versione të tjera të gatshme",
"No versions available" : "Ska versione të gatshme",
"More versions..." : "Më shumë versione…"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/lookup_server_connector/appinfo/app.php b/apps/lookup_server_connector/appinfo/app.php
index f0d624d5f3a..28e7bea192a 100644
--- a/apps/lookup_server_connector/appinfo/app.php
+++ b/apps/lookup_server_connector/appinfo/app.php
@@ -22,30 +22,10 @@
$dispatcher = \OC::$server->getEventDispatcher();
$dispatcher->addListener('OC\AccountManager::userUpdated', function(\Symfony\Component\EventDispatcher\GenericEvent $event) {
+ /** @var \OCP\IUser $user */
$user = $event->getSubject();
- $keyManager = new \OC\Security\IdentityProof\Manager(
- \OC::$server->getAppDataDir('identityproof'),
- \OC::$server->getCrypto()
- );
-
- $config = \OC::$server->getConfig();
- $lookupServer = $config->getSystemValue('lookup_server', '');
-
- $updateLookupServer = new \OCA\LookupServerConnector\UpdateLookupServer(
- new \OC\Accounts\AccountManager(
- \OC::$server->getDatabaseConnection(),
- \OC::$server->getEventDispatcher(),
- \OC::$server->getJobList()
- ),
- \OC::$server->getHTTPClientService(),
- new \OC\Security\IdentityProof\Signer(
- $keyManager,
- new \OC\AppFramework\Utility\TimeFactory(),
- \OC::$server->getUserManager()
- ),
- \OC::$server->getJobList(),
- $lookupServer
- );
+ /** @var \OCA\LookupServerConnector\UpdateLookupServer $updateLookupServer */
+ $updateLookupServer = \OC::$server->query(\OCA\LookupServerConnector\UpdateLookupServer::class);
$updateLookupServer->userUpdated($user);
});
diff --git a/apps/lookup_server_connector/lib/UpdateLookupServer.php b/apps/lookup_server_connector/lib/UpdateLookupServer.php
index 3a7c2fa7236..ae8fcbd67ca 100644
--- a/apps/lookup_server_connector/lib/UpdateLookupServer.php
+++ b/apps/lookup_server_connector/lib/UpdateLookupServer.php
@@ -27,6 +27,7 @@ use OC\Security\IdentityProof\Signer;
use OCA\LookupServerConnector\BackgroundJobs\RetryJob;
use OCP\BackgroundJob\IJobList;
use OCP\Http\Client\IClientService;
+use OCP\IConfig;
use OCP\IUser;
/**
@@ -44,27 +45,26 @@ class UpdateLookupServer {
/** @var IJobList */
private $jobList;
/** @var string URL point to lookup server */
- private $lookupServer = 'https://lookup.nextcloud.com';
+ private $lookupServer;
/**
* @param AccountManager $accountManager
* @param IClientService $clientService
* @param Signer $signer
* @param IJobList $jobList
- * @param string $lookupServer if nothing is given we use the default lookup server
+ * @param IConfig $config
*/
public function __construct(AccountManager $accountManager,
IClientService $clientService,
Signer $signer,
IJobList $jobList,
- $lookupServer = '') {
+ IConfig $config) {
$this->accountManager = $accountManager;
$this->clientService = $clientService;
$this->signer = $signer;
$this->jobList = $jobList;
- if ($lookupServer !== '') {
- $this->lookupServer = $lookupServer;
- }
+
+ $this->lookupServer = $config->getSystemValue('lookup_server', 'https://lookup.nextcloud.com');
$this->lookupServer = rtrim($this->lookupServer, '/');
$this->lookupServer .= '/users';
}
diff --git a/apps/oauth2/appinfo/database.xml b/apps/oauth2/appinfo/database.xml
new file mode 100644
index 00000000000..db32e0cf97d
--- /dev/null
+++ b/apps/oauth2/appinfo/database.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<database xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/database.xsd">
+ <name>*dbname*</name>
+ <create>true</create>
+ <overwrite>false</overwrite>
+ <charset>utf8</charset>
+ <table>
+ <name>*dbprefix*oauth2_clients</name>
+ <declaration>
+ <field>
+ <name>id</name>
+ <type>integer</type>
+ <notnull>true</notnull>
+ <autoincrement>true</autoincrement>
+ <unsigned>true</unsigned>
+ <primary>true</primary>
+ </field>
+ <field>
+ <name>name</name>
+ <type>text</type>
+ <notnull>true</notnull>
+ <length>64</length>
+ </field>
+ <field>
+ <name>redirect_uri</name>
+ <type>text</type>
+ <notnull>true</notnull>
+ <length>2000</length>
+ </field>
+ <field>
+ <name>client_identifier</name>
+ <type>text</type>
+ <notnull>true</notnull>
+ <length>64</length>
+ </field>
+ <field>
+ <name>secret</name>
+ <type>text</type>
+ <notnull>true</notnull>
+ <length>64</length>
+ </field>
+ <index>
+ <name>oauth2_client_id_idx</name>
+ <unique>false</unique>
+ <field>
+ <name>client_identifier</name>
+ </field>
+ </index>
+ </declaration>
+ </table>
+ <table>
+ <name>*dbprefix*oauth2_access_tokens</name>
+ <declaration>
+ <field>
+ <name>id</name>
+ <type>integer</type>
+ <notnull>true</notnull>
+ <autoincrement>true</autoincrement>
+ <unsigned>true</unsigned>
+ <primary>true</primary>
+ </field>
+ <field>
+ <name>token_id</name>
+ <type>integer</type>
+ <notnull>true</notnull>
+ </field>
+ <field>
+ <name>client_id</name>
+ <type>integer</type>
+ <notnull>true</notnull>
+ </field>
+ <field>
+ <name>hashed_code</name>
+ <type>text</type>
+ <notnull>true</notnull>
+ <length>128</length>
+ </field>
+ <field>
+ <name>encrypted_token</name>
+ <type>text</type>
+ <notnull>true</notnull>
+ <length>786</length>
+ </field>
+ <index>
+ <name>oauth2_access_hash_idx</name>
+ <unique>true</unique>
+ <field>
+ <name>hashed_code</name>
+ </field>
+ </index>
+ <index>
+ <name>oauth2_access_client_id_idx</name>
+ <unique>false</unique>
+ <field>
+ <name>client_id</name>
+ </field>
+ </index>
+ </declaration>
+ </table>
+</database>
diff --git a/apps/oauth2/appinfo/info.xml b/apps/oauth2/appinfo/info.xml
new file mode 100644
index 00000000000..5e9e8dae06a
--- /dev/null
+++ b/apps/oauth2/appinfo/info.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<info xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd">
+ <id>oauth2</id>
+ <name>OAuth 2.0</name>
+ <description>The OAuth2 app allows administrators to configure the built-in authentication workflow to also allow OAuth2 compatible authentication from other web applications.</description>
+ <licence>agpl</licence>
+ <author>Lukas Reschke</author>
+ <namespace>OAuth2</namespace>
+ <version>1.0.5</version>
+ <default_enable/>
+ <types>
+ <authentication/>
+ </types>
+
+ <settings>
+ <admin>OCA\OAuth2\Settings\Admin</admin>
+ </settings>
+</info>
diff --git a/apps/oauth2/appinfo/routes.php b/apps/oauth2/appinfo/routes.php
new file mode 100644
index 00000000000..84b1336e37e
--- /dev/null
+++ b/apps/oauth2/appinfo/routes.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @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/>.
+ *
+ */
+
+return [
+ 'routes' => [
+ [
+ 'name' => 'Settings#addClient',
+ 'url' => '/settings',
+ 'verb' => 'POST',
+ ],
+ [
+ 'name' => 'Settings#deleteClient',
+ 'url' => '/clients/{id}/delete',
+ 'verb' => 'POST'
+ ],
+ [
+ 'name' => 'LoginRedirector#authorize',
+ 'url' => '/authorize',
+ 'verb' => 'GET',
+ ],
+ [
+ 'name' => 'OauthApi#getToken',
+ 'url' => '/api/v1/token',
+ 'verb' => 'POST'
+ ],
+ ],
+];
diff --git a/apps/oauth2/css/setting-admin.css b/apps/oauth2/css/setting-admin.css
new file mode 100644
index 00000000000..a57a56bb976
--- /dev/null
+++ b/apps/oauth2/css/setting-admin.css
@@ -0,0 +1,5 @@
+.show-oauth-credentials {
+ padding-left: 10px;
+ opacity: 0.3;
+ cursor: pointer;
+}
diff --git a/apps/oauth2/js/setting-admin.js b/apps/oauth2/js/setting-admin.js
new file mode 100644
index 00000000000..53163be1148
--- /dev/null
+++ b/apps/oauth2/js/setting-admin.js
@@ -0,0 +1,15 @@
+$(document).ready(function () {
+
+ $('.show-oauth-credentials').click(function() {
+ var row = $(this).parent();
+ var code = $(row).find('code');
+ if(code.text() === '****') {
+ code.text(row.data('value'));
+ $(this).css('opacity', 0.9);
+ } else {
+ code.text('****');
+ $(this).css('opacity', 0.3);
+ }
+ })
+
+});
diff --git a/apps/oauth2/lib/Controller/LoginRedirectorController.php b/apps/oauth2/lib/Controller/LoginRedirectorController.php
new file mode 100644
index 00000000000..9237b4b1b3c
--- /dev/null
+++ b/apps/oauth2/lib/Controller/LoginRedirectorController.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Controller;
+
+use OCA\OAuth2\Db\ClientMapper;
+use OCP\AppFramework\Controller;
+use OCP\AppFramework\Http\RedirectResponse;
+use OCP\IRequest;
+use OCP\ISession;
+use OCP\IURLGenerator;
+
+class LoginRedirectorController extends Controller {
+ /** @var IURLGenerator */
+ private $urlGenerator;
+ /** @var ClientMapper */
+ private $clientMapper;
+ /** @var ISession */
+ private $session;
+
+ /**
+ * @param string $appName
+ * @param IRequest $request
+ * @param IURLGenerator $urlGenerator
+ * @param ClientMapper $clientMapper
+ * @param ISession $session
+ */
+ public function __construct($appName,
+ IRequest $request,
+ IURLGenerator $urlGenerator,
+ ClientMapper $clientMapper,
+ ISession $session) {
+ parent::__construct($appName, $request);
+ $this->urlGenerator = $urlGenerator;
+ $this->clientMapper = $clientMapper;
+ $this->session = $session;
+ }
+
+ /**
+ * @PublicPage
+ * @NoCSRFRequired
+ * @UseSession
+ *
+ * @param string $client_id
+ * @param string $state
+ * @return RedirectResponse
+ */
+ public function authorize($client_id,
+ $state) {
+ $client = $this->clientMapper->getByIdentifier($client_id);
+ $this->session->set('oauth.state', $state);
+
+ $targetUrl = $this->urlGenerator->linkToRouteAbsolute(
+ 'core.ClientFlowLogin.showAuthPickerPage',
+ [
+ 'clientIdentifier' => $client->getClientIdentifier(),
+ ]
+ );
+ return new RedirectResponse($targetUrl);
+ }
+}
diff --git a/apps/oauth2/lib/Controller/OauthApiController.php b/apps/oauth2/lib/Controller/OauthApiController.php
new file mode 100644
index 00000000000..b97d85ae3e6
--- /dev/null
+++ b/apps/oauth2/lib/Controller/OauthApiController.php
@@ -0,0 +1,88 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Controller;
+
+use OC\Authentication\Token\DefaultTokenMapper;
+use OCA\OAuth2\Db\AccessTokenMapper;
+use OCP\AppFramework\Controller;
+use OCP\AppFramework\Http\JSONResponse;
+use OCP\IRequest;
+use OCP\Security\ICrypto;
+use OCP\Security\ISecureRandom;
+
+class OauthApiController extends Controller {
+ /** @var AccessTokenMapper */
+ private $accessTokenMapper;
+ /** @var ICrypto */
+ private $crypto;
+ /** @var DefaultTokenMapper */
+ private $defaultTokenMapper;
+ /** @var ISecureRandom */
+ private $secureRandom;
+
+ /**
+ * @param string $appName
+ * @param IRequest $request
+ * @param ICrypto $crypto
+ * @param AccessTokenMapper $accessTokenMapper
+ * @param DefaultTokenMapper $defaultTokenMapper
+ * @param ISecureRandom $secureRandom
+ */
+ public function __construct($appName,
+ IRequest $request,
+ ICrypto $crypto,
+ AccessTokenMapper $accessTokenMapper,
+ DefaultTokenMapper $defaultTokenMapper,
+ ISecureRandom $secureRandom) {
+ parent::__construct($appName, $request);
+ $this->crypto = $crypto;
+ $this->accessTokenMapper = $accessTokenMapper;
+ $this->defaultTokenMapper = $defaultTokenMapper;
+ $this->secureRandom = $secureRandom;
+ }
+
+ /**
+ * @PublicPage
+ * @NoCSRFRequired
+ *
+ * @param string $code
+ * @return JSONResponse
+ */
+ public function getToken($code) {
+ $accessToken = $this->accessTokenMapper->getByCode($code);
+ $decryptedToken = $this->crypto->decrypt($accessToken->getEncryptedToken(), $code);
+ $newCode = $this->secureRandom->generate(128);
+ $accessToken->setHashedCode(hash('sha512', $newCode));
+ $accessToken->setEncryptedToken($this->crypto->encrypt($decryptedToken, $newCode));
+ $this->accessTokenMapper->update($accessToken);
+
+ return new JSONResponse(
+ [
+ 'access_token' => $decryptedToken,
+ 'token_type' => 'Bearer',
+ 'expires_in' => 3600,
+ 'refresh_token' => $newCode,
+ 'user_id' => $this->defaultTokenMapper->getTokenById($accessToken->getTokenId())->getUID(),
+ ]
+ );
+ }
+}
diff --git a/apps/oauth2/lib/Controller/SettingsController.php b/apps/oauth2/lib/Controller/SettingsController.php
new file mode 100644
index 00000000000..f9ded6c0968
--- /dev/null
+++ b/apps/oauth2/lib/Controller/SettingsController.php
@@ -0,0 +1,100 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Controller;
+
+use OC\Authentication\Token\DefaultTokenMapper;
+use OCA\OAuth2\Db\AccessTokenMapper;
+use OCA\OAuth2\Db\Client;
+use OCA\OAuth2\Db\ClientMapper;
+use OCP\AppFramework\Controller;
+use OCP\AppFramework\Http\RedirectResponse;
+use OCP\IRequest;
+use OCP\IURLGenerator;
+use OCP\Security\ISecureRandom;
+
+class SettingsController extends Controller {
+ /** @var IURLGenerator */
+ private $urlGenerator;
+ /** @var ClientMapper */
+ private $clientMapper;
+ /** @var ISecureRandom */
+ private $secureRandom;
+ /** @var AccessTokenMapper */
+ private $accessTokenMapper;
+ /** @var DefaultTokenMapper */
+ private $defaultTokenMapper;
+
+ const validChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
+
+ /**
+ * @param string $appName
+ * @param IRequest $request
+ * @param IURLGenerator $urlGenerator
+ * @param ClientMapper $clientMapper
+ * @param ISecureRandom $secureRandom
+ * @param AccessTokenMapper $accessTokenMapper
+ * @param DefaultTokenMapper $defaultTokenMapper
+ */
+ public function __construct($appName,
+ IRequest $request,
+ IURLGenerator $urlGenerator,
+ ClientMapper $clientMapper,
+ ISecureRandom $secureRandom,
+ AccessTokenMapper $accessTokenMapper,
+ DefaultTokenMapper $defaultTokenMapper
+ ) {
+ parent::__construct($appName, $request);
+ $this->urlGenerator = $urlGenerator;
+ $this->secureRandom = $secureRandom;
+ $this->clientMapper = $clientMapper;
+ $this->accessTokenMapper = $accessTokenMapper;
+ $this->defaultTokenMapper = $defaultTokenMapper;
+ }
+
+ /**
+ * @param string $name
+ * @param string $redirectUri
+ * @return RedirectResponse
+ */
+ public function addClient($name,
+ $redirectUri) {
+ $client = new Client();
+ $client->setName($name);
+ $client->setRedirectUri($redirectUri);
+ $client->setSecret($this->secureRandom->generate(64, self::validChars));
+ $client->setClientIdentifier($this->secureRandom->generate(64, self::validChars));
+ $this->clientMapper->insert($client);
+ return new RedirectResponse($this->urlGenerator->getAbsoluteURL('/index.php/settings/admin/security'));
+ }
+
+ /**
+ * @param int $id
+ * @return RedirectResponse
+ */
+ public function deleteClient($id) {
+ $client = $this->clientMapper->getByUid($id);
+ $this->accessTokenMapper->deleteByClientId($id);
+ $this->defaultTokenMapper->deleteByName($client->getName());
+ $this->clientMapper->delete($client);
+ return new RedirectResponse($this->urlGenerator->getAbsoluteURL('/index.php/settings/admin/security'));
+ }
+}
diff --git a/apps/oauth2/lib/Db/AccessToken.php b/apps/oauth2/lib/Db/AccessToken.php
new file mode 100644
index 00000000000..8266a9a0068
--- /dev/null
+++ b/apps/oauth2/lib/Db/AccessToken.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Db;
+
+use OCP\AppFramework\Db\Entity;
+
+/**
+ * @method int getTokenId()
+ * @method void setTokenId(int $identifier)
+ * @method int getClientId()
+ * @method void setClientId(int $identifier)
+ * @method string getEncryptedToken()
+ * @method void setEncryptedToken(string $token)
+ * @method string getHashedCode()
+ * @method void setHashedCode(string $token)
+ */
+class AccessToken extends Entity {
+ /** @var int */
+ protected $tokenId;
+ /** @var int */
+ protected $clientId;
+ /** @var string */
+ protected $hashedCode;
+ /** @var string */
+ protected $encryptedToken;
+
+ public function __construct() {
+ $this->addType('id', 'int');
+ $this->addType('token_id', 'int');
+ $this->addType('client_id', 'int');
+ $this->addType('hashed_code', 'string');
+ $this->addType('encrypted_token', 'string');
+ }
+}
diff --git a/apps/oauth2/lib/Db/AccessTokenMapper.php b/apps/oauth2/lib/Db/AccessTokenMapper.php
new file mode 100644
index 00000000000..2661c853372
--- /dev/null
+++ b/apps/oauth2/lib/Db/AccessTokenMapper.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Db;
+
+use OCA\OAuth2\Exceptions\AccessTokenNotFoundException;
+use OCP\AppFramework\Db\Mapper;
+use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\IDBConnection;
+
+class AccessTokenMapper extends Mapper {
+
+ /**
+ * @param IDBConnection $db
+ */
+ public function __construct(IDBConnection $db) {
+ parent::__construct($db, 'oauth2_access_tokens');
+ }
+
+ /**
+ * @param string $code
+ * @return AccessToken
+ * @throws AccessTokenNotFoundException
+ */
+ public function getByCode($code) {
+ $qb = $this->db->getQueryBuilder();
+ $qb
+ ->select('*')
+ ->from($this->tableName)
+ ->where($qb->expr()->eq('hashed_code', $qb->createNamedParameter(hash('sha512', $code))));
+ $result = $qb->execute();
+ $row = $result->fetch();
+ $result->closeCursor();
+ if($row === false) {
+ throw new AccessTokenNotFoundException();
+ }
+ return AccessToken::fromRow($row);
+ }
+
+ /**
+ * delete all access token from a given client
+ *
+ * @param int $id
+ */
+ public function deleteByClientId($id) {
+ $qb = $this->db->getQueryBuilder();
+ $qb
+ ->delete($this->tableName)
+ ->where($qb->expr()->eq('client_id', $qb->createNamedParameter($id, IQueryBuilder::PARAM_INT)));
+ $qb->execute();
+ }
+}
diff --git a/apps/oauth2/lib/Db/Client.php b/apps/oauth2/lib/Db/Client.php
new file mode 100644
index 00000000000..85c1630cb15
--- /dev/null
+++ b/apps/oauth2/lib/Db/Client.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Db;
+
+use OCP\AppFramework\Db\Entity;
+
+/**
+ * @method string getClientIdentifier()
+ * @method void setClientIdentifier(string $identifier)
+ * @method string getSecret()
+ * @method void setSecret(string $secret)
+ * @method string getRedirectUri()
+ * @method void setRedirectUri(string $redirectUri)
+ * @method string getName()
+ * @method void setName(string $name)
+ */
+class Client extends Entity {
+ /** @var string */
+ protected $name;
+ /** @var string */
+ protected $redirectUri;
+ /** @var string */
+ protected $clientIdentifier;
+ /** @var string */
+ protected $secret;
+
+ public function __construct() {
+ $this->addType('id', 'int');
+ $this->addType('name', 'string');
+ $this->addType('redirect_uri', 'string');
+ $this->addType('client_identifier', 'string');
+ $this->addType('secret', 'string');
+ }
+}
diff --git a/apps/oauth2/lib/Db/ClientMapper.php b/apps/oauth2/lib/Db/ClientMapper.php
new file mode 100644
index 00000000000..9df07e2789f
--- /dev/null
+++ b/apps/oauth2/lib/Db/ClientMapper.php
@@ -0,0 +1,89 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Db;
+
+use OCA\OAuth2\Exceptions\ClientNotFoundException;
+use OCP\AppFramework\Db\Mapper;
+use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\IDBConnection;
+
+class ClientMapper extends Mapper {
+
+ /**
+ * @param IDBConnection $db
+ */
+ public function __construct(IDBConnection $db) {
+ parent::__construct($db, 'oauth2_clients');
+ }
+
+ /**
+ * @param string $clientIdentifier
+ * @return Client
+ * @throws ClientNotFoundException
+ */
+ public function getByIdentifier($clientIdentifier) {
+ $qb = $this->db->getQueryBuilder();
+ $qb
+ ->select('*')
+ ->from($this->tableName)
+ ->where($qb->expr()->eq('client_identifier', $qb->createNamedParameter($clientIdentifier)));
+ $result = $qb->execute();
+ $row = $result->fetch();
+ $result->closeCursor();
+ if($row === false) {
+ throw new ClientNotFoundException();
+ }
+ return Client::fromRow($row);
+ }
+
+ /**
+ * @param string $uid internal uid of the client
+ * @return Client
+ * @throws ClientNotFoundException
+ */
+ public function getByUid($uid) {
+ $qb = $this->db->getQueryBuilder();
+ $qb
+ ->select('*')
+ ->from($this->tableName)
+ ->where($qb->expr()->eq('id', $qb->createNamedParameter($uid, IQueryBuilder::PARAM_INT)));
+ $result = $qb->execute();
+ $row = $result->fetch();
+ $result->closeCursor();
+ if($row === false) {
+ throw new ClientNotFoundException();
+ }
+ return Client::fromRow($row);
+ }
+
+ /**
+ * @return Client[]
+ */
+ public function getClients() {
+ $qb = $this->db->getQueryBuilder();
+ $qb
+ ->select('*')
+ ->from($this->tableName);
+
+ return $this->findEntities($qb->getSQL());
+ }
+}
diff --git a/apps/oauth2/lib/Exceptions/AccessTokenNotFoundException.php b/apps/oauth2/lib/Exceptions/AccessTokenNotFoundException.php
new file mode 100644
index 00000000000..a1eb632a9eb
--- /dev/null
+++ b/apps/oauth2/lib/Exceptions/AccessTokenNotFoundException.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Exceptions;
+
+class AccessTokenNotFoundException extends \Exception {}
diff --git a/apps/oauth2/lib/Exceptions/ClientNotFoundException.php b/apps/oauth2/lib/Exceptions/ClientNotFoundException.php
new file mode 100644
index 00000000000..b2395c7bc9e
--- /dev/null
+++ b/apps/oauth2/lib/Exceptions/ClientNotFoundException.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Exceptions;
+
+class ClientNotFoundException extends \Exception {}
diff --git a/apps/oauth2/lib/Settings/Admin.php b/apps/oauth2/lib/Settings/Admin.php
new file mode 100644
index 00000000000..07c3fe733ad
--- /dev/null
+++ b/apps/oauth2/lib/Settings/Admin.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Settings;
+
+use OCA\OAuth2\Db\ClientMapper;
+use OCP\AppFramework\Http\TemplateResponse;
+use OCP\Settings\ISettings;
+
+class Admin implements ISettings {
+ /** @var ClientMapper */
+ private $clientMapper;
+
+ /**
+ * @param ClientMapper $clientMapper
+ */
+ public function __construct(ClientMapper $clientMapper) {
+ $this->clientMapper = $clientMapper;
+ }
+
+ /**
+ * @return TemplateResponse
+ */
+ public function getForm() {
+ return new TemplateResponse(
+ 'oauth2',
+ 'admin',
+ [
+ 'clients' => $this->clientMapper->getClients(),
+ ],
+ ''
+ );
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getSection() {
+ return 'security';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getPriority() {
+ return 0;
+ }
+}
diff --git a/apps/oauth2/templates/admin.php b/apps/oauth2/templates/admin.php
new file mode 100644
index 00000000000..d2e34e08db8
--- /dev/null
+++ b/apps/oauth2/templates/admin.php
@@ -0,0 +1,76 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @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/>.
+ *
+ */
+
+$urlGenerator = \OC::$server->getURLGenerator();
+$themingDefaults = \OC::$server->getThemingDefaults();
+
+script('oauth2', 'setting-admin');
+style('oauth2', 'setting-admin');
+
+/** @var array $_ */
+/** @var \OCA\OAuth2\Db\Client[] $clients */
+$clients = $_['clients'];
+?>
+
+<div id="oauth2" class="section">
+ <h2><?php p($l->t('OAuth 2.0 clients')); ?></h2>
+ <p class="settings-hint"><?php p($l->t('OAuth 2.0 allows external services to request access to your %s.', [$themingDefaults->getName()])); ?></p>
+
+ <table class="grid">
+ <thead>
+ <tr>
+ <th id="headerName" scope="col"><?php p($l->t('Name')); ?></th>
+ <th id="headerRedirectUri" scope="col"><?php p($l->t('Redirection URI')); ?></th>
+ <th id="headerClientIdentifier" scope="col"><?php p($l->t('Client Identifier')); ?></th>
+ <th id="headerSecret" scope="col"><?php p($l->t('Secret')); ?></th>
+ <th id="headerRemove">&nbsp;</th>
+ </tr>
+ </thead>
+ <tbody>
+ <?php
+ $imageUrl = $urlGenerator->imagePath('core', 'actions/toggle.svg');
+ foreach ($clients as $client) {
+ ?>
+ <tr>
+ <td><?php p($client->getName()); ?></td>
+ <td><?php p($client->getRedirectUri()); ?></td>
+ <td><code><?php p($client->getClientIdentifier()); ?></code></td>
+ <td data-value="<?php p($client->getSecret()); ?>"><code>****</code><img class='show-oauth-credentials' src="<?php p($imageUrl); ?>"/></td>
+ <td>
+ <form id="form-inline" class="delete" action="<?php p($urlGenerator->linkToRoute('oauth2.Settings.deleteClient', ['id' => $client->getId()])); ?>" method="POST">
+ <input type="hidden" name="requesttoken" value="<?php p($_['requesttoken']) ?>" />
+ <input type="submit" class="button icon-delete" value="">
+ </form>
+ </td>
+ </tr>
+ <?php } ?>
+ </tbody>
+ </table>
+
+ <br/>
+ <h3><?php p($l->t('Add client')); ?></h3>
+ <form action="<?php p($urlGenerator->linkToRoute('oauth2.Settings.addClient')); ?>" method="POST">
+ <input type="text" id="name" name="name" placeholder="<?php p($l->t('Name')); ?>">
+ <input type="url" id="redirectUri" name="redirectUri" placeholder="<?php p($l->t('Redirection URI')); ?>">
+ <input type="hidden" name="requesttoken" value="<?php p($_['requesttoken']) ?>" />
+ <input type="submit" class="button" value="<?php p($l->t('Add')); ?>">
+ </form>
+</div>
diff --git a/apps/oauth2/tests/Controller/LoginRedirectorControllerTest.php b/apps/oauth2/tests/Controller/LoginRedirectorControllerTest.php
new file mode 100644
index 00000000000..b33d3379be4
--- /dev/null
+++ b/apps/oauth2/tests/Controller/LoginRedirectorControllerTest.php
@@ -0,0 +1,91 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Tests\Controller;
+
+use OCA\Files_Sharing\Tests\TestCase;
+use OCA\OAuth2\Controller\LoginRedirectorController;
+use OCA\OAuth2\Db\Client;
+use OCA\OAuth2\Db\ClientMapper;
+use OCP\AppFramework\Http\RedirectResponse;
+use OCP\IRequest;
+use OCP\ISession;
+use OCP\IURLGenerator;
+
+/**
+ * @group DB
+ */
+class LoginRedirectorControllerTest extends TestCase {
+ /** @var IRequest|\PHPUnit_Framework_MockObject_MockObject */
+ private $request;
+ /** @var IURLGenerator|\PHPUnit_Framework_MockObject_MockObject */
+ private $urlGenerator;
+ /** @var ClientMapper|\PHPUnit_Framework_MockObject_MockObject */
+ private $clientMapper;
+ /** @var ISession|\PHPUnit_Framework_MockObject_MockObject */
+ private $session;
+ /** @var LoginRedirectorController */
+ private $loginRedirectorController;
+
+ public function setUp() {
+ parent::setUp();
+
+ $this->request = $this->createMock(IRequest::class);
+ $this->urlGenerator = $this->createMock(IURLGenerator::class);
+ $this->clientMapper = $this->createMock(ClientMapper::class);
+ $this->session = $this->createMock(ISession::class);
+
+ $this->loginRedirectorController = new LoginRedirectorController(
+ 'oauth2',
+ $this->request,
+ $this->urlGenerator,
+ $this->clientMapper,
+ $this->session
+ );
+ }
+
+ public function testAuthorize() {
+ $client = new Client();
+ $client->setClientIdentifier('MyClientIdentifier');
+ $this->clientMapper
+ ->expects($this->once())
+ ->method('getByIdentifier')
+ ->with('MyClientId')
+ ->willReturn($client);
+ $this->session
+ ->expects($this->once())
+ ->method('set')
+ ->with('oauth.state', 'MyState');
+ $this->urlGenerator
+ ->expects($this->once())
+ ->method('linkToRouteAbsolute')
+ ->with(
+ 'core.ClientFlowLogin.showAuthPickerPage',
+ [
+ 'clientIdentifier' => 'MyClientIdentifier',
+ ]
+ )
+ ->willReturn('https://example.com/?clientIdentifier=foo');
+
+ $expected = new RedirectResponse('https://example.com/?clientIdentifier=foo');
+ $this->assertEquals($expected, $this->loginRedirectorController->authorize('MyClientId', 'MyState'));
+ }
+}
diff --git a/apps/oauth2/tests/Controller/OauthApiControllerTest.php b/apps/oauth2/tests/Controller/OauthApiControllerTest.php
new file mode 100644
index 00000000000..c90e2bf711f
--- /dev/null
+++ b/apps/oauth2/tests/Controller/OauthApiControllerTest.php
@@ -0,0 +1,106 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Tests\Controller;
+
+use OC\Authentication\Token\DefaultToken;
+use OC\Authentication\Token\DefaultTokenMapper;
+use OCA\OAuth2\Controller\OauthApiController;
+use OCA\OAuth2\Db\AccessToken;
+use OCA\OAuth2\Db\AccessTokenMapper;
+use OCP\AppFramework\Http\JSONResponse;
+use OCP\IRequest;
+use OCP\Security\ICrypto;
+use OCP\Security\ISecureRandom;
+use Test\TestCase;
+
+class OauthApiControllerTest extends TestCase {
+ /** @var IRequest|\PHPUnit_Framework_MockObject_MockObject */
+ private $request;
+ /** @var ICrypto|\PHPUnit_Framework_MockObject_MockObject */
+ private $crypto;
+ /** @var AccessTokenMapper|\PHPUnit_Framework_MockObject_MockObject */
+ private $accessTokenMapper;
+ /** @var DefaultTokenMapper|\PHPUnit_Framework_MockObject_MockObject */
+ private $defaultTokenMapper;
+ /** @var ISecureRandom|\PHPUnit_Framework_MockObject_MockObject */
+ private $secureRandom;
+ /** @var OauthApiController */
+ private $oauthApiController;
+
+ public function setUp() {
+ parent::setUp();
+
+ $this->request = $this->createMock(IRequest::class);
+ $this->crypto = $this->createMock(ICrypto::class);
+ $this->accessTokenMapper = $this->createMock(AccessTokenMapper::class);
+ $this->defaultTokenMapper = $this->createMock(DefaultTokenMapper::class);
+ $this->secureRandom = $this->createMock(ISecureRandom::class);
+
+ $this->oauthApiController = new OauthApiController(
+ 'oauth2',
+ $this->request,
+ $this->crypto,
+ $this->accessTokenMapper,
+ $this->defaultTokenMapper,
+ $this->secureRandom
+ );
+ }
+
+ public function testGetToken() {
+ $accessToken = new AccessToken();
+ $accessToken->setEncryptedToken('MyEncryptedToken');
+ $accessToken->setTokenId(123);
+ $this->accessTokenMapper
+ ->expects($this->once())
+ ->method('getByCode')
+ ->willReturn($accessToken);
+ $this->crypto
+ ->expects($this->once())
+ ->method('decrypt')
+ ->with('MyEncryptedToken', 'MySecretCode')
+ ->willReturn('MyDecryptedToken');
+ $this->secureRandom
+ ->expects($this->once())
+ ->method('generate')
+ ->with(128)
+ ->willReturn('NewToken');
+ $token = new DefaultToken();
+ $token->setUid('JohnDoe');
+ $this->defaultTokenMapper
+ ->expects($this->once())
+ ->method('getTokenById')
+ ->with(123)
+ ->willReturn($token);
+
+ $expected = new JSONResponse(
+ [
+ 'access_token' => 'MyDecryptedToken',
+ 'token_type' => 'Bearer',
+ 'expires_in' => 3600,
+ 'refresh_token' => 'NewToken',
+ 'user_id' => 'JohnDoe',
+ ]
+ );
+ $this->assertEquals($expected, $this->oauthApiController->getToken('MySecretCode'));
+ }
+
+}
diff --git a/apps/oauth2/tests/Controller/SettingsControllerTest.php b/apps/oauth2/tests/Controller/SettingsControllerTest.php
new file mode 100644
index 00000000000..a6c036949ed
--- /dev/null
+++ b/apps/oauth2/tests/Controller/SettingsControllerTest.php
@@ -0,0 +1,139 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Tests\Controller;
+
+use OC\Authentication\Token\DefaultTokenMapper;
+use OCA\OAuth2\Controller\SettingsController;
+use OCA\OAuth2\Db\AccessTokenMapper;
+use OCA\OAuth2\Db\Client;
+use OCA\OAuth2\Db\ClientMapper;
+use OCP\AppFramework\Http\RedirectResponse;
+use OCP\IRequest;
+use OCP\IURLGenerator;
+use OCP\Security\ISecureRandom;
+use Test\TestCase;
+
+class SettingsControllerTest extends TestCase {
+ /** @var IRequest|\PHPUnit_Framework_MockObject_MockObject */
+ private $request;
+ /** @var IURLGenerator|\PHPUnit_Framework_MockObject_MockObject */
+ private $urlGenerator;
+ /** @var ClientMapper|\PHPUnit_Framework_MockObject_MockObject */
+ private $clientMapper;
+ /** @var ISecureRandom|\PHPUnit_Framework_MockObject_MockObject */
+ private $secureRandom;
+ /** @var AccessTokenMapper|\PHPUnit_Framework_MockObject_MockObject */
+ private $accessTokenMapper;
+ /** @var DefaultTokenMapper|\PHPUnit_Framework_MockObject_MockObject */
+ private $defaultTokenMapper;
+ /** @var SettingsController */
+ private $settingsController;
+
+ public function setUp() {
+ parent::setUp();
+
+ $this->request = $this->createMock(IRequest::class);
+ $this->urlGenerator = $this->createMock(IURLGenerator::class);
+ $this->clientMapper = $this->createMock(ClientMapper::class);
+ $this->secureRandom = $this->createMock(ISecureRandom::class);
+ $this->accessTokenMapper = $this->createMock(AccessTokenMapper::class);
+ $this->defaultTokenMapper = $this->createMock(DefaultTokenMapper::class);
+
+ $this->settingsController = new SettingsController(
+ 'oauth2',
+ $this->request,
+ $this->urlGenerator,
+ $this->clientMapper,
+ $this->secureRandom,
+ $this->accessTokenMapper,
+ $this->defaultTokenMapper
+ );
+ }
+
+ public function testAddClient() {
+ $this->secureRandom
+ ->expects($this->at(0))
+ ->method('generate')
+ ->with(64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789')
+ ->willReturn('MySecret');
+ $this->secureRandom
+ ->expects($this->at(1))
+ ->method('generate')
+ ->with(64, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789')
+ ->willReturn('MyClientIdentifier');
+
+ $client = new Client();
+ $client->setName('My Client Name');
+ $client->setRedirectUri('https://example.com/');
+ $client->setSecret('MySecret');
+ $client->setClientIdentifier('MyClientIdentifier');
+
+ $this->clientMapper
+ ->expects($this->once())
+ ->method('insert')
+ ->with($client);
+
+ $this->urlGenerator
+ ->expects($this->once())
+ ->method('getAbsoluteURL')
+ ->with('/index.php/settings/admin/security')
+ ->willReturn('https://example.com/index.php/settings/admin/security');
+
+ $expected = new RedirectResponse('https://example.com/index.php/settings/admin/security');
+ $this->assertEquals($expected, $this->settingsController->addClient('My Client Name', 'https://example.com/'));
+ }
+
+ public function testDeleteClient() {
+ $client = new Client();
+ $client->setName('My Client Name');
+ $client->setRedirectUri('https://example.com/');
+ $client->setSecret('MySecret');
+ $client->setClientIdentifier('MyClientIdentifier');
+
+ $this->clientMapper
+ ->expects($this->at(0))
+ ->method('getByUid')
+ ->with(123)
+ ->willReturn($client);
+ $this->accessTokenMapper
+ ->expects($this->once())
+ ->method('deleteByClientId')
+ ->with(123);
+ $this->defaultTokenMapper
+ ->expects($this->once())
+ ->method('deleteByName')
+ ->with('My Client Name');
+ $this->clientMapper
+ ->expects($this->at(1))
+ ->method('delete')
+ ->with($client);
+
+ $this->urlGenerator
+ ->expects($this->once())
+ ->method('getAbsoluteURL')
+ ->with('/index.php/settings/admin/security')
+ ->willReturn('https://example.com/index.php/settings/admin/security');
+
+ $expected = new RedirectResponse('https://example.com/index.php/settings/admin/security');
+ $this->assertEquals($expected, $this->settingsController->deleteClient(123));
+ }
+}
diff --git a/apps/oauth2/tests/Db/AccessTokenMapperTest.php b/apps/oauth2/tests/Db/AccessTokenMapperTest.php
new file mode 100644
index 00000000000..ebc6b55a382
--- /dev/null
+++ b/apps/oauth2/tests/Db/AccessTokenMapperTest.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Tests\Db;
+
+use OCA\OAuth2\Db\AccessToken;
+use OCA\OAuth2\Db\AccessTokenMapper;
+use Test\TestCase;
+
+/**
+ * @group DB
+ */
+class AccessTokenMapperTest extends TestCase {
+ /** @var AccessTokenMapper */
+ private $accessTokenMapper;
+
+ public function setUp() {
+ parent::setUp();
+ $this->accessTokenMapper = new AccessTokenMapper(\OC::$server->getDatabaseConnection());
+ }
+
+ public function testGetByCode() {
+ $this->accessTokenMapper->deleteByClientId(1234);
+ $token = new AccessToken();
+ $token->setClientId(1234);
+ $token->setTokenId((string)time());
+ $token->setEncryptedToken('MyEncryptedToken');
+ $token->setHashedCode(hash('sha512', 'MyAwesomeToken'));
+ $this->accessTokenMapper->insert($token);
+ $token->resetUpdatedFields();
+
+ $result = $this->accessTokenMapper->getByCode('MyAwesomeToken');
+ $this->assertEquals($token, $result);
+ $this->accessTokenMapper->delete($token);
+ }
+
+ /**
+ * @expectedException \OCA\OAuth2\Exceptions\AccessTokenNotFoundException
+ */
+ public function testDeleteByClientId() {
+ $this->accessTokenMapper->deleteByClientId(1234);
+ $token = new AccessToken();
+ $token->setClientId(1234);
+ $token->setTokenId((string)time());
+ $token->setEncryptedToken('MyEncryptedToken');
+ $token->setHashedCode(hash('sha512', 'MyAwesomeToken'));
+ $this->accessTokenMapper->insert($token);
+ $token->resetUpdatedFields();
+ $this->accessTokenMapper->deleteByClientId(1234);
+ $this->accessTokenMapper->getByCode('MyAwesomeToken');
+ }
+}
diff --git a/apps/oauth2/tests/Db/ClientMapperTest.php b/apps/oauth2/tests/Db/ClientMapperTest.php
new file mode 100644
index 00000000000..80d69c3b1b8
--- /dev/null
+++ b/apps/oauth2/tests/Db/ClientMapperTest.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Tests\Db;
+
+use OCA\OAuth2\Db\Client;
+use OCA\OAuth2\Db\ClientMapper;
+use Test\TestCase;
+
+/**
+ * @group DB
+ */
+class ClientMapperTest extends TestCase {
+ /** @var ClientMapper */
+ private $clientMapper;
+
+ public function setUp() {
+ parent::setUp();
+ $this->clientMapper = new ClientMapper(\OC::$server->getDatabaseConnection());
+ }
+
+ public function testGetByIdentifier() {
+ $client = new Client();
+ $client->setClientIdentifier('MyAwesomeClientIdentifier');
+ $client->setName('Client Name');
+ $client->setRedirectUri('https://example.com/');
+ $client->setSecret('TotallyNotSecret');
+ $this->clientMapper->insert($client);
+ $client->resetUpdatedFields();
+ $this->assertEquals($client, $this->clientMapper->getByIdentifier('MyAwesomeClientIdentifier'));
+ }
+
+ /**
+ * @expectedException \OCA\OAuth2\Exceptions\ClientNotFoundException
+ */
+ public function testGetByIdentifierNotExisting() {
+ $this->clientMapper->getByIdentifier('MyTotallyNotExistingClient');
+ }
+
+ public function testGetByUid() {
+ $client = new Client();
+ $client->setClientIdentifier('MyNewClient');
+ $client->setName('Client Name');
+ $client->setRedirectUri('https://example.com/');
+ $client->setSecret('TotallyNotSecret');
+ $this->clientMapper->insert($client);
+ $client->resetUpdatedFields();
+ $this->assertEquals($client, $this->clientMapper->getByUid($client->getId()));
+ }
+
+ /**
+ * @expectedException \OCA\OAuth2\Exceptions\ClientNotFoundException
+ */
+ public function testGetByUidNotExisting() {
+ $this->clientMapper->getByUid(1234);
+ }
+
+ public function testGetClients() {
+ $this->assertSame('array', gettype($this->clientMapper->getClients()));
+ }
+}
diff --git a/apps/oauth2/tests/Settings/AdminTest.php b/apps/oauth2/tests/Settings/AdminTest.php
new file mode 100644
index 00000000000..9c3d5ed1449
--- /dev/null
+++ b/apps/oauth2/tests/Settings/AdminTest.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\OAuth2\Tests\Settings;
+
+use OCA\OAuth2\Db\ClientMapper;
+use OCA\OAuth2\Settings\Admin;
+use OCP\AppFramework\Http\TemplateResponse;
+use Test\TestCase;
+
+class AdminTest extends TestCase {
+ /** @var ClientMapper|\PHPUnit_Framework_MockObject_MockObject */
+ private $clientMapper;
+ /** @var Admin|\PHPUnit_Framework_MockObject_MockObject */
+ private $admin;
+
+ public function setUp() {
+ parent::setUp();
+
+ $this->clientMapper = $this->createMock(ClientMapper::class);
+ $this->admin = new Admin($this->clientMapper);
+ }
+
+ public function testGetForm() {
+ $this->clientMapper
+ ->expects($this->once())
+ ->method('getClients')
+ ->willReturn(['MyClients']);
+
+ $expected = new TemplateResponse(
+ 'oauth2',
+ 'admin',
+ [
+ 'clients' => ['MyClients'],
+ ],
+ ''
+ );
+ $this->assertEquals($expected, $this->admin->getForm());
+ }
+
+ public function testGetSection() {
+ $this->assertSame('security', $this->admin->getSection());
+ }
+
+ public function testGetPriority() {
+ $this->assertSame(0, $this->admin->getPriority());
+ }
+}
diff --git a/apps/sharebymail/l10n/ast.js b/apps/sharebymail/l10n/ast.js
new file mode 100644
index 00000000000..1a740c1726b
--- /dev/null
+++ b/apps/sharebymail/l10n/ast.js
@@ -0,0 +1,38 @@
+OC.L10N.register(
+ "sharebymail",
+ {
+ "Shared with %1$s" : "Compartióse con %1$s",
+ "Shared with {email}" : "Compartióse con {email}",
+ "Shared with %1$s by %2$s" : "Compartióse con %1$s por %2$s",
+ "Shared with {email} by {actor}" : "Compartióse con {email} por {actor}",
+ "Password for mail share sent to %1$s" : "Unvióse a %1$s la contraseña pa la compartición per corréu",
+ "Password for mail share sent to {email}" : "Unvióse a {email} la contraseña pa la compartición per corréu",
+ "Password for mail share sent to you" : "Unviósete la contraseña pa la compartición per corréu",
+ "You shared %1$s with %2$s by mail" : "Compartiesti %1$s con %2$s per corréu",
+ "You shared {file} with {email} by mail" : "Compartiesti {file} con {email} per corréu",
+ "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s per corréu",
+ "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} per corréu",
+ "Password to access %1$s was sent to %2s" : "Unvióse a %2s la contraseña p'acceder a %1$s",
+ "Password to access {file} was sent to {email}" : "Unvióse a {email} la contraseña p'acceder a {ficheru}",
+ "Password to access %1$s was sent to you" : "Unviósete la contraseña p'acceder a %1$s",
+ "Password to access {file} was sent to you" : "Unviósete la contraseña p'acceder a {file}",
+ "Sharing %s failed, this item is already shared with %s" : "Falló la compartición de %s, esti elementu yá se compartió con %s",
+ "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Nun podemos unviate la contraseña auto-xenerada. Afita una direición de corréu válida nos tos axustes personales y volvi tentalo.",
+ "Failed to send share by E-mail" : "Fallu al unviar la compartición per corréu",
+ "%s shared »%s« with you" : "%s compartió «%s» contigo",
+ "%s shared »%s« with you." : "%s compartió «%s» contigo.",
+ "Click the button below to open it." : "Primi'l botón d'embaxo p'abrilu.",
+ "Open »%s«" : "Abrir «%s»",
+ "%s via %s" : "%s per %s",
+ "Password to access »%s«" : "Contraseña p'acceder a »%s«",
+ "It is protected with the following password: %s" : "Protexóse cola contraseña de darréu: %s",
+ "This is the password: %s" : "Esta ye la contraseña: %s",
+ "You can choose a different password at any time in the share dialog." : "Pues escoyer una contraseña diferente en cualesquier momentu nel diálogu de compartir.",
+ "Could not find share" : "Nun pudo alcontrase la compartición",
+ "Share by mail" : "Unviar per corréu",
+ "Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite a los usuarios compartir un enllaz personalizáu a un ficheru o carpeta poniendo una direición de corréu.",
+ "Failed to create the E-mail" : "Fallu al crear el corréu",
+ "Cheers!" : "¡Salú!",
+ "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you.<br><br>" : "Hola bones,<br><br>%s compartió <a href=\"%s\">%s</a> contigo.<br><br>"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/ast.json b/apps/sharebymail/l10n/ast.json
new file mode 100644
index 00000000000..a9c9350c234
--- /dev/null
+++ b/apps/sharebymail/l10n/ast.json
@@ -0,0 +1,36 @@
+{ "translations": {
+ "Shared with %1$s" : "Compartióse con %1$s",
+ "Shared with {email}" : "Compartióse con {email}",
+ "Shared with %1$s by %2$s" : "Compartióse con %1$s por %2$s",
+ "Shared with {email} by {actor}" : "Compartióse con {email} por {actor}",
+ "Password for mail share sent to %1$s" : "Unvióse a %1$s la contraseña pa la compartición per corréu",
+ "Password for mail share sent to {email}" : "Unvióse a {email} la contraseña pa la compartición per corréu",
+ "Password for mail share sent to you" : "Unviósete la contraseña pa la compartición per corréu",
+ "You shared %1$s with %2$s by mail" : "Compartiesti %1$s con %2$s per corréu",
+ "You shared {file} with {email} by mail" : "Compartiesti {file} con {email} per corréu",
+ "%3$s shared %1$s with %2$s by mail" : "%3$s compartió %1$s con %2$s per corréu",
+ "{actor} shared {file} with {email} by mail" : "{actor} compartió {file} con {email} per corréu",
+ "Password to access %1$s was sent to %2s" : "Unvióse a %2s la contraseña p'acceder a %1$s",
+ "Password to access {file} was sent to {email}" : "Unvióse a {email} la contraseña p'acceder a {ficheru}",
+ "Password to access %1$s was sent to you" : "Unviósete la contraseña p'acceder a %1$s",
+ "Password to access {file} was sent to you" : "Unviósete la contraseña p'acceder a {file}",
+ "Sharing %s failed, this item is already shared with %s" : "Falló la compartición de %s, esti elementu yá se compartió con %s",
+ "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Nun podemos unviate la contraseña auto-xenerada. Afita una direición de corréu válida nos tos axustes personales y volvi tentalo.",
+ "Failed to send share by E-mail" : "Fallu al unviar la compartición per corréu",
+ "%s shared »%s« with you" : "%s compartió «%s» contigo",
+ "%s shared »%s« with you." : "%s compartió «%s» contigo.",
+ "Click the button below to open it." : "Primi'l botón d'embaxo p'abrilu.",
+ "Open »%s«" : "Abrir «%s»",
+ "%s via %s" : "%s per %s",
+ "Password to access »%s«" : "Contraseña p'acceder a »%s«",
+ "It is protected with the following password: %s" : "Protexóse cola contraseña de darréu: %s",
+ "This is the password: %s" : "Esta ye la contraseña: %s",
+ "You can choose a different password at any time in the share dialog." : "Pues escoyer una contraseña diferente en cualesquier momentu nel diálogu de compartir.",
+ "Could not find share" : "Nun pudo alcontrase la compartición",
+ "Share by mail" : "Unviar per corréu",
+ "Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite a los usuarios compartir un enllaz personalizáu a un ficheru o carpeta poniendo una direición de corréu.",
+ "Failed to create the E-mail" : "Fallu al crear el corréu",
+ "Cheers!" : "¡Salú!",
+ "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you.<br><br>" : "Hola bones,<br><br>%s compartió <a href=\"%s\">%s</a> contigo.<br><br>"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/el.js b/apps/sharebymail/l10n/el.js
index 1a5d426b8ff..f7c4e3d3edf 100644
--- a/apps/sharebymail/l10n/el.js
+++ b/apps/sharebymail/l10n/el.js
@@ -6,10 +6,13 @@ OC.L10N.register(
"Shared with %1$s by %2$s" : "Διαμοιράστηκε με %1$s από %2$s",
"Shared with {email} by {actor}" : "Διαμοιράστηκε με {email} από {actor}",
"Password for mail share sent to %1$s" : "Το συνθηματικό για το διαμοιρασμό μέσου ηλ. αλληλογραφίας έχει αποσταλλεί %1$s",
+ "Password for mail share sent to {email}" : "Ο κωδικός πρόσβασης διαμοιρασμού αλληλογραφίας αποστέλλεται στο {email}",
+ "Password for mail share sent to you" : " Κωδικός πρόσβασης για διαμοιρασμό αλληλογραφίας σας έχει σταλεί",
"You shared %1$s with %2$s by mail" : "Διαμοιραστήκατε το %1$s με %2$s μέσω mail",
"You shared {file} with {email} by mail" : "Διαμοιραστήκατε {file} με {email} μέσω mail",
"%3$s shared %1$s with %2$s by mail" : "%3$s Διαμοιραστηκε %1$s με %2$s μέσω mail",
"{actor} shared {file} with {email} by mail" : "{actor} διαμοίρασε {file} με {email} μέσω mail",
+ "Password to access %1$s was sent to %2s" : "Το συνθηματικό για πρόσβαση στο %1$s στάθηκε στο %2s",
"Sharing %s failed, this item is already shared with %s" : "Διαμοιρασμός %s απέτυχε, αυτό το αντικείμενο είναι ήδη διαμοιρασμένο με %s",
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Δεν μπορούμε να σας στείλουμε αυτοδημιουργημένο συνθηματικό. Παρακαλούμε βάλτε μία έγκυρη διεύθυνση email στις προσωπικές σας ρυθμίσεις και προσπαθήστε ξανά.",
"Failed to send share by E-mail" : "Αποτυχία αποστολής συνδέσμου διαμοιρασμού μέσω Ηλ.ταχυδρομείου",
diff --git a/apps/sharebymail/l10n/el.json b/apps/sharebymail/l10n/el.json
index 450c280b25b..8f8e1140ef5 100644
--- a/apps/sharebymail/l10n/el.json
+++ b/apps/sharebymail/l10n/el.json
@@ -4,10 +4,13 @@
"Shared with %1$s by %2$s" : "Διαμοιράστηκε με %1$s από %2$s",
"Shared with {email} by {actor}" : "Διαμοιράστηκε με {email} από {actor}",
"Password for mail share sent to %1$s" : "Το συνθηματικό για το διαμοιρασμό μέσου ηλ. αλληλογραφίας έχει αποσταλλεί %1$s",
+ "Password for mail share sent to {email}" : "Ο κωδικός πρόσβασης διαμοιρασμού αλληλογραφίας αποστέλλεται στο {email}",
+ "Password for mail share sent to you" : " Κωδικός πρόσβασης για διαμοιρασμό αλληλογραφίας σας έχει σταλεί",
"You shared %1$s with %2$s by mail" : "Διαμοιραστήκατε το %1$s με %2$s μέσω mail",
"You shared {file} with {email} by mail" : "Διαμοιραστήκατε {file} με {email} μέσω mail",
"%3$s shared %1$s with %2$s by mail" : "%3$s Διαμοιραστηκε %1$s με %2$s μέσω mail",
"{actor} shared {file} with {email} by mail" : "{actor} διαμοίρασε {file} με {email} μέσω mail",
+ "Password to access %1$s was sent to %2s" : "Το συνθηματικό για πρόσβαση στο %1$s στάθηκε στο %2s",
"Sharing %s failed, this item is already shared with %s" : "Διαμοιρασμός %s απέτυχε, αυτό το αντικείμενο είναι ήδη διαμοιρασμένο με %s",
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Δεν μπορούμε να σας στείλουμε αυτοδημιουργημένο συνθηματικό. Παρακαλούμε βάλτε μία έγκυρη διεύθυνση email στις προσωπικές σας ρυθμίσεις και προσπαθήστε ξανά.",
"Failed to send share by E-mail" : "Αποτυχία αποστολής συνδέσμου διαμοιρασμού μέσω Ηλ.ταχυδρομείου",
diff --git a/apps/sharebymail/l10n/is.js b/apps/sharebymail/l10n/is.js
index f5a19b379b7..d79152b272c 100644
--- a/apps/sharebymail/l10n/is.js
+++ b/apps/sharebymail/l10n/is.js
@@ -17,15 +17,25 @@ OC.L10N.register(
"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 %s failed, this item is already shared with %s" : "Deiling %s mistókst, því þessu atriði er þegar deilt með %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 E-mail" : "Gat ekki sent sameign með tölvupósti",
"%s shared »%s« with you" : "%s deildi »%s« með þér",
"%s shared »%s« with you." : "%s deildi »%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«",
"%s via %s" : "%s með %s",
+ "Password to access »%s« shared to you by %s" : "Lykilorð fyrir aðgang að »%s« deilt með þér af %s",
+ "%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s deildi »%s« með þér.\nÞú ættir að hafa fengið sérstakan tölvupóst með tengli sem vísar á gögnin.\n",
+ "%s shared »%s« with you. You should have already received a separate mail with a link to access it." : "%s deildi »%s« með þér.\nÞú ættir að hafa fengið sérstakan tölvupóst með tengli sem vísar á gögnin.",
"Password to access »%s«" : "Lykilorð fyrir aðgang að »%s«",
+ "It is protected with the following password: %s" : "Það er varið með eftirfarandi lykilorði: %s",
+ "Password to access »%s« shared with %s" : "Lykilorð fyrir aðgang að »%s« deilt með %s",
+ "You just shared »%s« with %s. The share was already send to the recipient. Due to the security policies defined by the administrator of %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 »%s« með %s. Sameignin var þegar send til viðtakandans. Vegna öryggisskilmála sem skilgreindir hafa verið af kerfisstjóra %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.",
+ "This is the password: %s" : "Þetta er lykilorðið: %s",
+ "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",
"Share by mail" : "Deila með tölvupósti",
+ "Allows users to share a personalized link to a file or folder by putting in an email address." : "Gerir notendum kleift að deila sérsniðnum tengli á skrá eða möppu með því að setja inn tölvupóstfang.",
"Send password by mail" : "Senda lykilorð með pósti",
"Enforce password protection" : "Krefjast verndunar með aðgangsorði",
"%s shared »%s« with you on behalf of %s" : "%s deildi »%s« með þér fyrir hönd %s",
diff --git a/apps/sharebymail/l10n/is.json b/apps/sharebymail/l10n/is.json
index 3e221f7d2b2..506f59f215d 100644
--- a/apps/sharebymail/l10n/is.json
+++ b/apps/sharebymail/l10n/is.json
@@ -15,15 +15,25 @@
"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 %s failed, this item is already shared with %s" : "Deiling %s mistókst, því þessu atriði er þegar deilt með %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 E-mail" : "Gat ekki sent sameign með tölvupósti",
"%s shared »%s« with you" : "%s deildi »%s« með þér",
"%s shared »%s« with you." : "%s deildi »%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«",
"%s via %s" : "%s með %s",
+ "Password to access »%s« shared to you by %s" : "Lykilorð fyrir aðgang að »%s« deilt með þér af %s",
+ "%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s deildi »%s« með þér.\nÞú ættir að hafa fengið sérstakan tölvupóst með tengli sem vísar á gögnin.\n",
+ "%s shared »%s« with you. You should have already received a separate mail with a link to access it." : "%s deildi »%s« með þér.\nÞú ættir að hafa fengið sérstakan tölvupóst með tengli sem vísar á gögnin.",
"Password to access »%s«" : "Lykilorð fyrir aðgang að »%s«",
+ "It is protected with the following password: %s" : "Það er varið með eftirfarandi lykilorði: %s",
+ "Password to access »%s« shared with %s" : "Lykilorð fyrir aðgang að »%s« deilt með %s",
+ "You just shared »%s« with %s. The share was already send to the recipient. Due to the security policies defined by the administrator of %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 »%s« með %s. Sameignin var þegar send til viðtakandans. Vegna öryggisskilmála sem skilgreindir hafa verið af kerfisstjóra %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.",
+ "This is the password: %s" : "Þetta er lykilorðið: %s",
+ "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",
"Share by mail" : "Deila með tölvupósti",
+ "Allows users to share a personalized link to a file or folder by putting in an email address." : "Gerir notendum kleift að deila sérsniðnum tengli á skrá eða möppu með því að setja inn tölvupóstfang.",
"Send password by mail" : "Senda lykilorð með pósti",
"Enforce password protection" : "Krefjast verndunar með aðgangsorði",
"%s shared »%s« with you on behalf of %s" : "%s deildi »%s« með þér fyrir hönd %s",
diff --git a/apps/sharebymail/l10n/zh_CN.js b/apps/sharebymail/l10n/zh_CN.js
index 62a37921712..7061af4747d 100644
--- a/apps/sharebymail/l10n/zh_CN.js
+++ b/apps/sharebymail/l10n/zh_CN.js
@@ -5,16 +5,32 @@ OC.L10N.register(
"Shared with {email}" : "用 {email} 分享",
"Shared with %1$s by %2$s" : "由 %2$s 共享给 %1$s",
"Shared with {email} by {actor}" : "由 {actor} 通过 {email} 分享",
+ "Password for mail share sent to {email}" : "Password for mail share sent to {email}",
"You shared %1$s with %2$s by mail" : "您通过邮件把 %1$s 分享给了 %2$s",
"You shared {file} with {email} by mail" : "您通过邮件 {email} 分享了 {file} ",
"%3$s shared %1$s with %2$s by mail" : "%3$s 通过邮件将 %1$s 分享给了 %2$s",
"{actor} shared {file} with {email} by mail" : "{actor} 共享 {file} 于 {email} 通过邮件",
+ "Password to access %1$s was sent to %2s" : "访问 %1$s 的密码被发送给 %2s",
+ "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 %s failed, this item is already shared with %s" : "共享 %s 失败, 该项目已经共享于 %s",
"Failed to send share by E-mail" : "通过电子邮件发送共享失败",
"%s shared »%s« with you" : "%s 共享 »%s« 与你",
+ "%s shared »%s« with you." : "%s 与你分享分享 »%s« ",
+ "Click the button below to open it." : "点击下面的按钮打开它。",
+ "Open »%s«" : "打开 »%s«",
+ "%s via %s" : "%s通过%s",
+ "Password to access »%s«" : "访问 »%s« 的密码",
+ "This is the password: %s" : "这是密码: %s",
+ "You can choose a different password at any time in the share dialog." : "您可以随时在共享对话框中选择不同的密码。",
+ "Could not find share" : "没有发现共享",
+ "Share by mail" : "通过邮件共享",
+ "Allows users to share a personalized link to a file or folder by putting in an email address." : "允许用户通过电子邮件地址来共享文件或文件夹的个性化链接。",
+ "Send password by mail" : "通过电子邮件发送密码",
+ "Enforce password protection" : "强制密码保护",
"%s shared »%s« with you on behalf of %s" : "%s 共享 »%s« 和你代表 %s",
"Failed to create the E-mail" : "创建电子邮件失败",
- "Could not find share" : "没有发现共享",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "嘿那儿,\n\n%s 共享 »%s« 与你代表 %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "嘿那儿,\n\n%s 共享 »%s« 与你.\n\n%s\n\n",
"Cheers!" : "干杯!",
diff --git a/apps/sharebymail/l10n/zh_CN.json b/apps/sharebymail/l10n/zh_CN.json
index e4cdb219608..96be46b80b2 100644
--- a/apps/sharebymail/l10n/zh_CN.json
+++ b/apps/sharebymail/l10n/zh_CN.json
@@ -3,16 +3,32 @@
"Shared with {email}" : "用 {email} 分享",
"Shared with %1$s by %2$s" : "由 %2$s 共享给 %1$s",
"Shared with {email} by {actor}" : "由 {actor} 通过 {email} 分享",
+ "Password for mail share sent to {email}" : "Password for mail share sent to {email}",
"You shared %1$s with %2$s by mail" : "您通过邮件把 %1$s 分享给了 %2$s",
"You shared {file} with {email} by mail" : "您通过邮件 {email} 分享了 {file} ",
"%3$s shared %1$s with %2$s by mail" : "%3$s 通过邮件将 %1$s 分享给了 %2$s",
"{actor} shared {file} with {email} by mail" : "{actor} 共享 {file} 于 {email} 通过邮件",
+ "Password to access %1$s was sent to %2s" : "访问 %1$s 的密码被发送给 %2s",
+ "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 %s failed, this item is already shared with %s" : "共享 %s 失败, 该项目已经共享于 %s",
"Failed to send share by E-mail" : "通过电子邮件发送共享失败",
"%s shared »%s« with you" : "%s 共享 »%s« 与你",
+ "%s shared »%s« with you." : "%s 与你分享分享 »%s« ",
+ "Click the button below to open it." : "点击下面的按钮打开它。",
+ "Open »%s«" : "打开 »%s«",
+ "%s via %s" : "%s通过%s",
+ "Password to access »%s«" : "访问 »%s« 的密码",
+ "This is the password: %s" : "这是密码: %s",
+ "You can choose a different password at any time in the share dialog." : "您可以随时在共享对话框中选择不同的密码。",
+ "Could not find share" : "没有发现共享",
+ "Share by mail" : "通过邮件共享",
+ "Allows users to share a personalized link to a file or folder by putting in an email address." : "允许用户通过电子邮件地址来共享文件或文件夹的个性化链接。",
+ "Send password by mail" : "通过电子邮件发送密码",
+ "Enforce password protection" : "强制密码保护",
"%s shared »%s« with you on behalf of %s" : "%s 共享 »%s« 和你代表 %s",
"Failed to create the E-mail" : "创建电子邮件失败",
- "Could not find share" : "没有发现共享",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "嘿那儿,\n\n%s 共享 »%s« 与你代表 %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "嘿那儿,\n\n%s 共享 »%s« 与你.\n\n%s\n\n",
"Cheers!" : "干杯!",
diff --git a/apps/theming/css/settings-admin.css b/apps/theming/css/settings-admin.css
index e401d77e4b6..ef3c9f68b27 100644
--- a/apps/theming/css/settings-admin.css
+++ b/apps/theming/css/settings-admin.css
@@ -89,6 +89,10 @@ div#theming_settings_msg {
display: inline-block;
}
+#theming-preview-logo {
+ cursor: pointer;
+}
+
#theming-preview {
width: 230px;
height: 140px;
@@ -97,6 +101,7 @@ div#theming_settings_msg {
text-align: center;
margin-left: 123px;
margin-top: 10px;
+ cursor: pointer;
}
#theming-preview img {
diff --git a/apps/theming/js/settings-admin.js b/apps/theming/js/settings-admin.js
index 5d91892c007..48c479cc9c3 100644
--- a/apps/theming/js/settings-admin.js
+++ b/apps/theming/js/settings-admin.js
@@ -160,6 +160,14 @@ $(document).ready(function () {
$('#uploadlogo').fileupload(uploadParamsLogo);
$('#upload-login-background').fileupload(uploadParamsLogin);
+ // clicking preview should also trigger file upload dialog
+ $('#theming-preview-logo').on('click', function(e) {
+ e.stopPropagation();
+ $('#uploadlogo').click();
+ });
+ $('#theming-preview').on('click', function() {
+ $('#upload-login-background').click();
+ });
$('#theming-name').change(function(e) {
var el = $(this);
diff --git a/apps/theming/l10n/fi.js b/apps/theming/l10n/fi.js
index 76ddfff8ec9..48e08170137 100644
--- a/apps/theming/l10n/fi.js
+++ b/apps/theming/l10n/fi.js
@@ -1,6 +1,7 @@
OC.L10N.register(
"theming",
{
+ "Loading preview…" : "Ladataan esikatselua…",
"Saved" : "Tallennettu",
"Admin" : "Ylläpito",
"a safe home for all your data" : "turvallinen koti kaikille tiedostoillesi",
@@ -12,16 +13,18 @@ OC.L10N.register(
"Unsupported image type" : "Ei-tuettu kuvatiedostomuoto",
"You are already using a custom theme" : "Käytät jo kustomoitua ulkoasua",
"Theming" : "Teema",
+ "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teeman avulla voit helposti kustomoida web-käyttöliittymän ja tuettujen sovelluksien ulkonäköä ja tuntumaa. Teema näkyy kaikille käyttäjille.",
"Name" : "Nimi",
"reset to default" : "palauta oletukseksi",
"Web address" : "Verkko-osoite",
- "Web address https://…" : "Verkko-osoite https://...",
+ "Web address https://…" : "Verkko-osoite https://…",
"Slogan" : "Slogani",
"Color" : "Väri",
"Logo" : "Logo",
"Upload new logo" : "Lähetä uusi logo",
"Login image" : "Kirjautumissivun kuva",
"Upload new login background" : "Lähetä uusi kirjautumissivun taustakuva",
+ "Remove background image" : "Poista taustakuva",
"Log in image" : "Kirjautumissivun kuva"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/fi.json b/apps/theming/l10n/fi.json
index 854bf98897a..7b0f671e6ea 100644
--- a/apps/theming/l10n/fi.json
+++ b/apps/theming/l10n/fi.json
@@ -1,4 +1,5 @@
{ "translations": {
+ "Loading preview…" : "Ladataan esikatselua…",
"Saved" : "Tallennettu",
"Admin" : "Ylläpito",
"a safe home for all your data" : "turvallinen koti kaikille tiedostoillesi",
@@ -10,16 +11,18 @@
"Unsupported image type" : "Ei-tuettu kuvatiedostomuoto",
"You are already using a custom theme" : "Käytät jo kustomoitua ulkoasua",
"Theming" : "Teema",
+ "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teeman avulla voit helposti kustomoida web-käyttöliittymän ja tuettujen sovelluksien ulkonäköä ja tuntumaa. Teema näkyy kaikille käyttäjille.",
"Name" : "Nimi",
"reset to default" : "palauta oletukseksi",
"Web address" : "Verkko-osoite",
- "Web address https://…" : "Verkko-osoite https://...",
+ "Web address https://…" : "Verkko-osoite https://…",
"Slogan" : "Slogani",
"Color" : "Väri",
"Logo" : "Logo",
"Upload new logo" : "Lähetä uusi logo",
"Login image" : "Kirjautumissivun kuva",
"Upload new login background" : "Lähetä uusi kirjautumissivun taustakuva",
+ "Remove background image" : "Poista taustakuva",
"Log in image" : "Kirjautumissivun kuva"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/is.js b/apps/theming/l10n/is.js
index bee8f7c42bd..4a9b3116e42 100644
--- a/apps/theming/l10n/is.js
+++ b/apps/theming/l10n/is.js
@@ -1,6 +1,7 @@
OC.L10N.register(
"theming",
{
+ "Loading preview…" : "Hleð inn forskoðun...",
"Saved" : "Vistað",
"Admin" : "Stjórnandi",
"a safe home for all your data" : "öruggur staður fyrir öll gögnin þín",
@@ -12,6 +13,7 @@ OC.L10N.register(
"Unsupported image type" : "Óstudd gerð myndar",
"You are already using a custom theme" : "Þú ert nú þegar að nota sérsniðið þema",
"Theming" : "Þemu",
+ "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Þemu gera þér kleift að breyta útliti og hegðun þíns eintaks af viðmótinu auk studdra biðlaraforrita. Það verður sýnilegt öllum notendum.",
"Name" : "Heiti",
"reset to default" : "endurstilla á sjálfgefið",
"Web address" : "Veffang",
@@ -22,6 +24,7 @@ OC.L10N.register(
"Upload new logo" : "Senda inn nýtt táknmerki",
"Login image" : "Innskráningarmynd",
"Upload new login background" : "Senda inn nýjan bakgrunn innskráningar",
+ "Remove background image" : "Fjarlægja bakgrunnsmynd",
"Log in image" : "Innskráningarmynd"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/theming/l10n/is.json b/apps/theming/l10n/is.json
index 99d4e92a409..5beda25148e 100644
--- a/apps/theming/l10n/is.json
+++ b/apps/theming/l10n/is.json
@@ -1,4 +1,5 @@
{ "translations": {
+ "Loading preview…" : "Hleð inn forskoðun...",
"Saved" : "Vistað",
"Admin" : "Stjórnandi",
"a safe home for all your data" : "öruggur staður fyrir öll gögnin þín",
@@ -10,6 +11,7 @@
"Unsupported image type" : "Óstudd gerð myndar",
"You are already using a custom theme" : "Þú ert nú þegar að nota sérsniðið þema",
"Theming" : "Þemu",
+ "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Þemu gera þér kleift að breyta útliti og hegðun þíns eintaks af viðmótinu auk studdra biðlaraforrita. Það verður sýnilegt öllum notendum.",
"Name" : "Heiti",
"reset to default" : "endurstilla á sjálfgefið",
"Web address" : "Veffang",
@@ -20,6 +22,7 @@
"Upload new logo" : "Senda inn nýtt táknmerki",
"Login image" : "Innskráningarmynd",
"Upload new login background" : "Senda inn nýjan bakgrunn innskráningar",
+ "Remove background image" : "Fjarlægja bakgrunnsmynd",
"Log in image" : "Innskráningarmynd"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/nl.js b/apps/theming/l10n/nl.js
index 55db4422623..bc96b6af229 100644
--- a/apps/theming/l10n/nl.js
+++ b/apps/theming/l10n/nl.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Upload new logo" : "Upload nieuw logo",
"Login image" : "Inlog afbeelding",
"Upload new login background" : "Uploaden nieuwe inlog achtergrond",
+ "Remove background image" : "Achtergrond beeld verwijderen",
"Log in image" : "Inlog afbeelding"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/nl.json b/apps/theming/l10n/nl.json
index 7ac43b24ea7..2dc742ffd0d 100644
--- a/apps/theming/l10n/nl.json
+++ b/apps/theming/l10n/nl.json
@@ -22,6 +22,7 @@
"Upload new logo" : "Upload nieuw logo",
"Login image" : "Inlog afbeelding",
"Upload new login background" : "Uploaden nieuwe inlog achtergrond",
+ "Remove background image" : "Achtergrond beeld verwijderen",
"Log in image" : "Inlog afbeelding"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/pl.js b/apps/theming/l10n/pl.js
index 85a6708faa9..41d15ff7612 100644
--- a/apps/theming/l10n/pl.js
+++ b/apps/theming/l10n/pl.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Upload new logo" : "Wyślij nowe logo",
"Login image" : "Obraz logowania",
"Upload new login background" : "Wyślij nowe tło ekranu logowania",
+ "Remove background image" : "Usuń obraz tła",
"Log in image" : "Zdjęcie logowania"
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/apps/theming/l10n/pl.json b/apps/theming/l10n/pl.json
index 53fde26ba79..bc1c42fd709 100644
--- a/apps/theming/l10n/pl.json
+++ b/apps/theming/l10n/pl.json
@@ -22,6 +22,7 @@
"Upload new logo" : "Wyślij nowe logo",
"Login image" : "Obraz logowania",
"Upload new login background" : "Wyślij nowe tło ekranu logowania",
+ "Remove background image" : "Usuń obraz tła",
"Log in image" : "Zdjęcie logowania"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/zh_CN.js b/apps/theming/l10n/zh_CN.js
index c51cc8aee84..8dae780b651 100644
--- a/apps/theming/l10n/zh_CN.js
+++ b/apps/theming/l10n/zh_CN.js
@@ -1,6 +1,7 @@
OC.L10N.register(
"theming",
{
+ "Loading preview…" : "正在加载预览...",
"Saved" : "已保存",
"Admin" : "管理",
"a safe home for all your data" : "给您所有的数据一个安全的家",
@@ -12,6 +13,7 @@ OC.L10N.register(
"Unsupported image type" : "不支持图片格式",
"You are already using a custom theme" : "你已经在使用自定义主题",
"Theming" : "主题",
+ "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "主题使得方便地定制你的实例的外观和体验成为可能。所有用户都可以使用。",
"Name" : "名字",
"reset to default" : "重置默认",
"Web address" : "网址",
@@ -22,6 +24,7 @@ OC.L10N.register(
"Upload new logo" : "上传新标志",
"Login image" : "登录图片",
"Upload new login background" : "上传新登录背景",
+ "Remove background image" : "删除背景图片",
"Log in image" : "登录图片"
},
"nplurals=1; plural=0;");
diff --git a/apps/theming/l10n/zh_CN.json b/apps/theming/l10n/zh_CN.json
index af485f7820b..9075d74f638 100644
--- a/apps/theming/l10n/zh_CN.json
+++ b/apps/theming/l10n/zh_CN.json
@@ -1,4 +1,5 @@
{ "translations": {
+ "Loading preview…" : "正在加载预览...",
"Saved" : "已保存",
"Admin" : "管理",
"a safe home for all your data" : "给您所有的数据一个安全的家",
@@ -10,6 +11,7 @@
"Unsupported image type" : "不支持图片格式",
"You are already using a custom theme" : "你已经在使用自定义主题",
"Theming" : "主题",
+ "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "主题使得方便地定制你的实例的外观和体验成为可能。所有用户都可以使用。",
"Name" : "名字",
"reset to default" : "重置默认",
"Web address" : "网址",
@@ -20,6 +22,7 @@
"Upload new logo" : "上传新标志",
"Login image" : "登录图片",
"Upload new login background" : "上传新登录背景",
+ "Remove background image" : "删除背景图片",
"Log in image" : "登录图片"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/theming/lib/Capabilities.php b/apps/theming/lib/Capabilities.php
index 2a9e9a3c6cf..6e098940ff1 100644
--- a/apps/theming/lib/Capabilities.php
+++ b/apps/theming/lib/Capabilities.php
@@ -24,6 +24,7 @@
namespace OCA\Theming;
use OCP\Capabilities\ICapability;
+use OCP\IConfig;
use OCP\IURLGenerator;
/**
@@ -36,17 +37,21 @@ class Capabilities implements ICapability {
/** @var ThemingDefaults */
protected $theming;
-
/** @var IURLGenerator */
protected $url;
+ /** @var IConfig */
+ protected $config;
+
/**
* @param ThemingDefaults $theming
* @param IURLGenerator $url
+ * @param IConfig $config
*/
- public function __construct(ThemingDefaults $theming, IURLGenerator $url) {
+ public function __construct(ThemingDefaults $theming, IURLGenerator $url, IConfig $config) {
$this->theming = $theming;
$this->url = $url;
+ $this->config = $config;
}
/**
@@ -55,6 +60,8 @@ class Capabilities implements ICapability {
* @return array
*/
public function getCapabilities() {
+ $backgroundLogo = $this->config->getAppValue('theming', 'backgroundMime', false);
+
return [
'theming' => [
'name' => $this->theming->getName(),
@@ -62,7 +69,9 @@ class Capabilities implements ICapability {
'slogan' => $this->theming->getSlogan(),
'color' => $this->theming->getColorPrimary(),
'logo' => $this->url->getAbsoluteURL($this->theming->getLogo()),
- 'background' => $this->url->getAbsoluteURL($this->theming->getBackground()),
+ 'background' => $backgroundLogo === 'backgroundColor' ?
+ $this->theming->getColorPrimary() :
+ $this->url->getAbsoluteURL($this->theming->getBackground()),
],
];
}
diff --git a/apps/theming/lib/Controller/IconController.php b/apps/theming/lib/Controller/IconController.php
index 7c4e209d0df..5532a08c83c 100644
--- a/apps/theming/lib/Controller/IconController.php
+++ b/apps/theming/lib/Controller/IconController.php
@@ -22,6 +22,7 @@
*/
namespace OCA\Theming\Controller;
+use OC\IntegrityCheck\Helpers\FileAccessHelper;
use OCA\Theming\IconBuilder;
use OCA\Theming\ImageManager;
use OCA\Theming\ThemingDefaults;
@@ -29,6 +30,7 @@ use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\NotFoundResponse;
use OCP\AppFramework\Http\FileDisplayResponse;
+use OCP\AppFramework\Http\DataDisplayResponse;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Files\NotFoundException;
use OCP\IRequest;
@@ -48,6 +50,8 @@ class IconController extends Controller {
private $iconBuilder;
/** @var ImageManager */
private $imageManager;
+ /** @var FileAccessHelper */
+ private $fileAccessHelper;
/**
* IconController constructor.
@@ -69,7 +73,8 @@ class IconController extends Controller {
ITimeFactory $timeFactory,
IConfig $config,
IconBuilder $iconBuilder,
- ImageManager $imageManager
+ ImageManager $imageManager,
+ FileAccessHelper $fileAccessHelper
) {
parent::__construct($appName, $request);
@@ -79,6 +84,7 @@ class IconController extends Controller {
$this->config = $config;
$this->iconBuilder = $iconBuilder;
$this->imageManager = $imageManager;
+ $this->fileAccessHelper = $fileAccessHelper;
}
/**
@@ -120,9 +126,10 @@ class IconController extends Controller {
* @NoCSRFRequired
*
* @param $app string app name
- * @return FileDisplayResponse|NotFoundResponse
+ * @return FileDisplayResponse|DataDisplayResponse
*/
public function getFavicon($app = "core") {
+ $response = null;
if ($this->themingDefaults->shouldReplaceIcons()) {
try {
$iconFile = $this->imageManager->getCachedImage('favIcon-' . $app);
@@ -132,16 +139,19 @@ class IconController extends Controller {
}
if ($iconFile !== false) {
$response = new FileDisplayResponse($iconFile, Http::STATUS_OK, ['Content-Type' => 'image/x-icon']);
- $response->cacheFor(86400);
- $expires = new \DateTime();
- $expires->setTimestamp($this->timeFactory->getTime());
- $expires->add(new \DateInterval('PT24H'));
- $response->addHeader('Expires', $expires->format(\DateTime::RFC2822));
- $response->addHeader('Pragma', 'cache');
- return $response;
}
}
- return new NotFoundResponse();
+ if($response === null) {
+ $fallbackLogo = \OC::$SERVERROOT . '/core/img/favicon.png';
+ $response = new DataDisplayResponse($this->fileAccessHelper->file_get_contents($fallbackLogo), Http::STATUS_OK, ['Content-Type' => 'image/x-icon']);
+ }
+ $response->cacheFor(86400);
+ $expires = new \DateTime();
+ $expires->setTimestamp($this->timeFactory->getTime());
+ $expires->add(new \DateInterval('PT24H'));
+ $response->addHeader('Expires', $expires->format(\DateTime::RFC2822));
+ $response->addHeader('Pragma', 'cache');
+ return $response;
}
/**
@@ -154,6 +164,7 @@ class IconController extends Controller {
* @return FileDisplayResponse|NotFoundResponse
*/
public function getTouchIcon($app = "core") {
+ $response = null;
if ($this->themingDefaults->shouldReplaceIcons()) {
try {
$iconFile = $this->imageManager->getCachedImage('touchIcon-' . $app);
@@ -163,15 +174,18 @@ class IconController extends Controller {
}
if ($iconFile !== false) {
$response = new FileDisplayResponse($iconFile, Http::STATUS_OK, ['Content-Type' => 'image/png']);
- $response->cacheFor(86400);
- $expires = new \DateTime();
- $expires->setTimestamp($this->timeFactory->getTime());
- $expires->add(new \DateInterval('PT24H'));
- $response->addHeader('Expires', $expires->format(\DateTime::RFC2822));
- $response->addHeader('Pragma', 'cache');
- return $response;
}
}
- return new NotFoundResponse();
+ if($response === null) {
+ $fallbackLogo = \OC::$SERVERROOT . '/core/img/favicon-touch.png';
+ $response = new DataDisplayResponse($this->fileAccessHelper->file_get_contents($fallbackLogo), Http::STATUS_OK, ['Content-Type' => 'image/png']);
+ }
+ $response->cacheFor(86400);
+ $expires = new \DateTime();
+ $expires->setTimestamp($this->timeFactory->getTime());
+ $expires->add(new \DateInterval('PT24H'));
+ $response->addHeader('Expires', $expires->format(\DateTime::RFC2822));
+ $response->addHeader('Pragma', 'cache');
+ return $response;
}
}
diff --git a/apps/theming/lib/IconBuilder.php b/apps/theming/lib/IconBuilder.php
index 7db24c4a2b0..4383ccc7cd9 100644
--- a/apps/theming/lib/IconBuilder.php
+++ b/apps/theming/lib/IconBuilder.php
@@ -26,6 +26,7 @@ namespace OCA\Theming;
use Imagick;
use ImagickPixel;
use OCP\App\AppPathNotFoundException;
+use OCP\Files\SimpleFS\ISimpleFile;
class IconBuilder {
/** @var ThemingDefaults */
@@ -52,14 +53,18 @@ class IconBuilder {
* @return string|false image blob
*/
public function getFavicon($app) {
- $icon = $this->renderAppIcon($app, 32);
- if($icon === false) {
+ try {
+ $icon = $this->renderAppIcon($app, 32);
+ if ($icon === false) {
+ return false;
+ }
+ $icon->setImageFormat("png24");
+ $data = $icon->getImageBlob();
+ $icon->destroy();
+ return $data;
+ } catch (\ImagickException $e) {
return false;
}
- $icon->setImageFormat("png24");
- $data = $icon->getImageBlob();
- $icon->destroy();
- return $data;
}
/**
@@ -67,14 +72,18 @@ class IconBuilder {
* @return string|false image blob
*/
public function getTouchIcon($app) {
- $icon = $this->renderAppIcon($app, 512);
- if($icon === false) {
+ try {
+ $icon = $this->renderAppIcon($app, 512);
+ if ($icon === false) {
+ return false;
+ }
+ $icon->setImageFormat("png24");
+ $data = $icon->getImageBlob();
+ $icon->destroy();
+ return $data;
+ } catch (\ImagickException $e) {
return false;
}
- $icon->setImageFormat("png24");
- $data = $icon->getImageBlob();
- $icon->destroy();
- return $data;
}
/**
@@ -86,19 +95,23 @@ class IconBuilder {
* @return Imagick|false
*/
public function renderAppIcon($app, $size) {
- try {
- $appIcon = $this->util->getAppIcon($app);
- $appIconContent = file_get_contents($appIcon);
- } catch (AppPathNotFoundException $e) {
+ $appIcon = $this->util->getAppIcon($app);
+ if($appIcon === false) {
return false;
}
+ if ($appIcon instanceof ISimpleFile) {
+ $appIconContent = $appIcon->getContent();
+ $mime = $appIcon->getMimeType();
+ } else {
+ $appIconContent = file_get_contents($appIcon);
+ $mime = mime_content_type($appIcon);
+ }
- if($appIconContent === false) {
+ if($appIconContent === false || $appIconContent === "") {
return false;
}
$color = $this->themingDefaults->getColorPrimary();
- $mime = mime_content_type($appIcon);
// generate background image with rounded corners
$background = '<?xml version="1.0" encoding="UTF-8"?>' .
@@ -136,10 +149,9 @@ class IconBuilder {
} else {
$appIconFile = new Imagick();
$appIconFile->setBackgroundColor(new ImagickPixel('transparent'));
- $appIconFile->readImageBlob(file_get_contents($appIcon));
+ $appIconFile->readImageBlob($appIconContent);
$appIconFile->scaleImage(512, 512, true);
}
-
// offset for icon positioning
$border_w = (int)($appIconFile->getImageWidth() * 0.05);
$border_h = (int)($appIconFile->getImageHeight() * 0.05);
diff --git a/apps/theming/lib/Util.php b/apps/theming/lib/Util.php
index 5c9ccb3baa6..286756a4849 100644
--- a/apps/theming/lib/Util.php
+++ b/apps/theming/lib/Util.php
@@ -25,6 +25,9 @@ namespace OCA\Theming;
use OCP\App\AppPathNotFoundException;
use OCP\App\IAppManager;
+use OCP\Files\IAppData;
+use OCP\Files\NotFoundException;
+use OCP\Files\SimpleFS\ISimpleFile;
use OCP\IConfig;
use OCP\Files\IRootFolder;
@@ -33,23 +36,23 @@ class Util {
/** @var IConfig */
private $config;
- /** @var IRootFolder */
- private $rootFolder;
-
/** @var IAppManager */
private $appManager;
+ /** @var IAppData */
+ private $appData;
+
/**
* Util constructor.
*
* @param IConfig $config
- * @param IRootFolder $rootFolder
* @param IAppManager $appManager
+ * @param IAppData $appData
*/
- public function __construct(IConfig $config, IRootFolder $rootFolder, IAppManager $appManager) {
+ public function __construct(IConfig $config, IAppManager $appManager, IAppData $appData) {
$this->config = $config;
- $this->rootFolder = $rootFolder;
$this->appManager = $appManager;
+ $this->appData = $appData;
}
/**
@@ -111,7 +114,7 @@ class Util {
/**
* @param $app string app name
- * @return string path to app icon / logo
+ * @return string|ISimpleFile path to app icon / file of logo
*/
public function getAppIcon($app) {
$app = str_replace(array('\0', '/', '\\', '..'), '', $app);
@@ -127,8 +130,14 @@ class Util {
}
} catch (AppPathNotFoundException $e) {}
- if($this->config->getAppValue('theming', 'logoMime', '') !== '' && $this->rootFolder->nodeExists('/themedinstancelogo')) {
- return $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data') . '/themedinstancelogo';
+ if ($this->config->getAppValue('theming', 'logoMime', '') !== '') {
+ $logoFile = null;
+ try {
+ $folder = $this->appData->getFolder('images');
+ if ($folder !== null) {
+ return $folder->getFile('logo');
+ }
+ } catch (NotFoundException $e) {}
}
return \OC::$SERVERROOT . '/core/img/logo.svg';
}
diff --git a/apps/theming/tests/CapabilitiesTest.php b/apps/theming/tests/CapabilitiesTest.php
index 1c379797736..55f40cb788a 100644
--- a/apps/theming/tests/CapabilitiesTest.php
+++ b/apps/theming/tests/CapabilitiesTest.php
@@ -22,17 +22,9 @@
namespace OCA\Theming\Tests;
use OCA\Theming\Capabilities;
-use OCA\Theming\Controller\ThemingController;
-use OCA\Theming\Settings\Admin;
-use OCA\Theming\Settings\Section;
use OCA\Theming\ThemingDefaults;
-use OCA\Theming\Util;
-use OCP\AppFramework\App;
-use OCP\Capabilities\ICapability;
-use OCP\IL10N;
+use OCP\IConfig;
use OCP\IURLGenerator;
-use OCP\Settings\ISection;
-use OCP\Settings\ISettings;
use Test\TestCase;
/**
@@ -48,19 +40,19 @@ class CapabilitiesTest extends TestCase {
/** @var IURLGenerator|\PHPUnit_Framework_MockObject_MockObject */
protected $url;
+ /** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */
+ protected $config;
+
/** @var Capabilities */
protected $capabilities;
protected function setUp() {
parent::setUp();
- $this->theming = $this->getMockBuilder(ThemingDefaults::class)
- ->disableOriginalConstructor()
- ->getMock();
- $this->url = $this->getMockBuilder(IURLGenerator::class)
- ->getMock();
-
- $this->capabilities = new Capabilities($this->theming, $this->url);
+ $this->theming = $this->createMock(ThemingDefaults::class);
+ $this->url = $this->getMockBuilder(IURLGenerator::class)->getMock();
+ $this->config = $this->createMock(IConfig::class);
+ $this->capabilities = new Capabilities($this->theming, $this->url, $this->config);
}
public function dataGetCapabilities() {
@@ -81,6 +73,14 @@ class CapabilitiesTest extends TestCase {
'logo' => 'http://localhost/logo5',
'background' => 'http://localhost/background6',
]],
+ ['name1', 'url2', 'slogan3', 'color4', 'logo5', 'backgroundColor', 'http://localhost/', [
+ 'name' => 'name1',
+ 'url' => 'url2',
+ 'slogan' => 'slogan3',
+ 'color' => 'color4',
+ 'logo' => 'http://localhost/logo5',
+ 'background' => 'color4',
+ ]],
];
}
@@ -96,6 +96,9 @@ class CapabilitiesTest extends TestCase {
* @param string[] $expected
*/
public function testGetCapabilities($name, $url, $slogan, $color, $logo, $background, $baseUrl, array $expected) {
+ $this->config->expects($this->once())
+ ->method('getAppValue')
+ ->willReturn($background);
$this->theming->expects($this->once())
->method('getName')
->willReturn($name);
@@ -105,21 +108,29 @@ class CapabilitiesTest extends TestCase {
$this->theming->expects($this->once())
->method('getSlogan')
->willReturn($slogan);
- $this->theming->expects($this->once())
+ $this->theming->expects($this->atLeast(1))
->method('getColorPrimary')
->willReturn($color);
$this->theming->expects($this->once())
->method('getLogo')
->willReturn($logo);
- $this->theming->expects($this->once())
- ->method('getBackground')
- ->willReturn($background);
- $this->url->expects($this->exactly(2))
- ->method('getAbsoluteURL')
- ->willReturnCallback(function($url) use($baseUrl) {
- return $baseUrl . $url;
- });
+ if($background !== 'backgroundColor') {
+ $this->theming->expects($this->once())
+ ->method('getBackground')
+ ->willReturn($background);
+ $this->url->expects($this->exactly(2))
+ ->method('getAbsoluteURL')
+ ->willReturnCallback(function($url) use($baseUrl) {
+ return $baseUrl . $url;
+ });
+ } else {
+ $this->url->expects($this->once())
+ ->method('getAbsoluteURL')
+ ->willReturnCallback(function($url) use($baseUrl) {
+ return $baseUrl . $url;
+ });
+ }
$this->assertEquals(['theming' => $expected], $this->capabilities->getCapabilities());
}
diff --git a/apps/theming/tests/Controller/IconControllerTest.php b/apps/theming/tests/Controller/IconControllerTest.php
index add11df3e6d..c6a40b5942e 100644
--- a/apps/theming/tests/Controller/IconControllerTest.php
+++ b/apps/theming/tests/Controller/IconControllerTest.php
@@ -24,10 +24,12 @@ namespace OCA\Theming\Tests\Controller;
use OC\Files\SimpleFS\SimpleFile;
+use OC\IntegrityCheck\Helpers\FileAccessHelper;
use OCA\Theming\IconBuilder;
use OCA\Theming\ImageManager;
use OCA\Theming\ThemingDefaults;
use OCP\AppFramework\Http;
+use OCP\AppFramework\Http\DataDisplayResponse;
use OCP\AppFramework\Http\NotFoundResponse;
use OCP\Files\NotFoundException;
use OCP\IConfig;
@@ -53,6 +55,8 @@ class IconControllerTest extends TestCase {
private $config;
/** @var IconBuilder|\PHPUnit_Framework_MockObject_MockObject */
private $iconBuilder;
+ /** @var FileAccessHelper|\PHPUnit_Framework_MockObject_MockObject */
+ private $fileAccessHelper;
/** @var ImageManager */
private $imageManager;
@@ -69,6 +73,7 @@ class IconControllerTest extends TestCase {
$this->iconBuilder = $this->getMockBuilder('OCA\Theming\IconBuilder')
->disableOriginalConstructor()->getMock();
$this->imageManager = $this->getMockBuilder('OCA\Theming\ImageManager')->disableOriginalConstructor()->getMock();
+ $this->fileAccessHelper = $this->createMock(FileAccessHelper::class);
$this->timeFactory->expects($this->any())
->method('getTime')
->willReturn(123);
@@ -81,7 +86,8 @@ class IconControllerTest extends TestCase {
$this->timeFactory,
$this->config,
$this->iconBuilder,
- $this->imageManager
+ $this->imageManager,
+ $this->fileAccessHelper
);
parent::setUp();
@@ -150,11 +156,19 @@ class IconControllerTest extends TestCase {
$this->themingDefaults->expects($this->any())
->method('shouldReplaceIcons')
->willReturn(false);
- $expected = new Http\Response();
- $expected->setStatus(Http::STATUS_NOT_FOUND);
- $expected->cacheFor(0);
- $expected->setLastModified(new \DateTime('now', new \DateTimeZone('GMT')));
- $this->assertInstanceOf(NotFoundResponse::class, $this->iconController->getFavicon());
+ $fallbackLogo = \OC::$SERVERROOT . '/core/img/favicon.png';
+ $this->fileAccessHelper->expects($this->once())
+ ->method('file_get_contents')
+ ->with($fallbackLogo)
+ ->willReturn(file_get_contents($fallbackLogo));
+ $expected = new DataDisplayResponse(file_get_contents($fallbackLogo), Http::STATUS_OK, ['Content-Type' => 'image/x-icon']);
+ $expected->cacheFor(86400);
+ $expires = new \DateTime();
+ $expires->setTimestamp($this->timeFactory->getTime());
+ $expires->add(new \DateInterval('PT24H'));
+ $expected->addHeader('Expires', $expires->format(\DateTime::RFC2822));
+ $expected->addHeader('Pragma', 'cache');
+ $this->assertEquals($expected, $this->iconController->getFavicon());
}
public function testGetTouchIconDefault() {
@@ -195,7 +209,19 @@ class IconControllerTest extends TestCase {
$this->themingDefaults->expects($this->any())
->method('shouldReplaceIcons')
->willReturn(false);
- $this->assertInstanceOf(NotFoundResponse::class, $this->iconController->getTouchIcon());
+ $fallbackLogo = \OC::$SERVERROOT . '/core/img/favicon-touch.png';
+ $this->fileAccessHelper->expects($this->once())
+ ->method('file_get_contents')
+ ->with($fallbackLogo)
+ ->willReturn(file_get_contents($fallbackLogo));
+ $expected = new DataDisplayResponse(file_get_contents($fallbackLogo), Http::STATUS_OK, ['Content-Type' => 'image/png']);
+ $expected->cacheFor(86400);
+ $expires = new \DateTime();
+ $expires->setTimestamp($this->timeFactory->getTime());
+ $expires->add(new \DateInterval('PT24H'));
+ $expected->addHeader('Expires', $expires->format(\DateTime::RFC2822));
+ $expected->addHeader('Pragma', 'cache');
+ $this->assertEquals($expected, $this->iconController->getTouchIcon());
}
}
diff --git a/apps/theming/tests/Controller/ThemingControllerTest.php b/apps/theming/tests/Controller/ThemingControllerTest.php
index cbdb86d0358..5fa8dc51939 100644
--- a/apps/theming/tests/Controller/ThemingControllerTest.php
+++ b/apps/theming/tests/Controller/ThemingControllerTest.php
@@ -62,8 +62,6 @@ class ThemingControllerTest extends TestCase {
private $l10n;
/** @var ThemingController */
private $themingController;
- /** @var IRootFolder|\PHPUnit_Framework_MockObject_MockObject */
- private $rootFolder;
/** @var ITempManager */
private $tempManager;
/** @var IAppManager|\PHPUnit_Framework_MockObject_MockObject */
@@ -79,14 +77,13 @@ class ThemingControllerTest extends TestCase {
$this->themingDefaults = $this->createMock(ThemingDefaults::class);
$this->timeFactory = $this->createMock(ITimeFactory::class);
$this->l10n = $this->createMock(L10N::class);
- $this->rootFolder = $this->createMock(IRootFolder::class);
+ $this->appData = $this->createMock(IAppData::class);
$this->appManager = $this->createMock(IAppManager::class);
- $this->util = new Util($this->config, $this->rootFolder, $this->appManager);
+ $this->util = new Util($this->config, $this->appManager, $this->appData);
$this->timeFactory->expects($this->any())
->method('getTime')
->willReturn(123);
$this->tempManager = \OC::$server->getTempManager();
- $this->appData = $this->createMock(IAppData::class);
$this->scssCacher = $this->createMock(SCSSCacher::class);
$this->themingController = new ThemingController(
diff --git a/apps/theming/tests/IconBuilderTest.php b/apps/theming/tests/IconBuilderTest.php
index 423e3e86dbc..9b5b1933201 100644
--- a/apps/theming/tests/IconBuilderTest.php
+++ b/apps/theming/tests/IconBuilderTest.php
@@ -27,7 +27,9 @@ use OCA\Theming\ThemingDefaults;
use OCA\Theming\Util;
use OCP\App\IAppManager;
use OCP\AppFramework\Http\NotFoundResponse;
+use OCP\Files\IAppData;
use OCP\Files\IRootFolder;
+use OCP\Files\NotFoundException;
use OCP\IConfig;
use Test\TestCase;
@@ -35,8 +37,8 @@ class IconBuilderTest extends TestCase {
/** @var IConfig */
protected $config;
- /** @var IRootFolder */
- protected $rootFolder;
+ /** @var IAppData */
+ protected $appData;
/** @var ThemingDefaults */
protected $themingDefaults;
/** @var Util */
@@ -50,11 +52,11 @@ class IconBuilderTest extends TestCase {
parent::setUp();
$this->config = $this->getMockBuilder('\OCP\IConfig')->getMock();
- $this->rootFolder = $this->getMockBuilder('OCP\Files\IRootFolder')->getMock();
+ $this->appData = $this->createMock(IAppData::class);
$this->themingDefaults = $this->getMockBuilder('OCA\Theming\ThemingDefaults')
->disableOriginalConstructor()->getMock();
$this->appManager = $this->getMockBuilder('OCP\App\IAppManager')->getMock();
- $this->util = new Util($this->config, $this->rootFolder, $this->appManager);
+ $this->util = new Util($this->config, $this->appManager, $this->appData);
$this->iconBuilder = new IconBuilder($this->themingDefaults, $this->util);
}
@@ -89,6 +91,10 @@ class IconBuilderTest extends TestCase {
$this->themingDefaults->expects($this->once())
->method('getColorPrimary')
->willReturn($color);
+ $this->appData->expects($this->once())
+ ->method('getFolder')
+ ->with('images')
+ ->willThrowException(new NotFoundException());
$expectedIcon = new \Imagick(realpath(dirname(__FILE__)). "/data/" . $file);
$icon = $this->iconBuilder->renderAppIcon($app, 512);
diff --git a/apps/theming/tests/UtilTest.php b/apps/theming/tests/UtilTest.php
index 83895208fea..de6690ffe0d 100644
--- a/apps/theming/tests/UtilTest.php
+++ b/apps/theming/tests/UtilTest.php
@@ -24,6 +24,10 @@ namespace OCA\Theming\Tests;
use OCA\Theming\Util;
use OCP\App\IAppManager;
+use OCP\Files\IAppData;
+use OCP\Files\NotFoundException;
+use OCP\Files\SimpleFS\ISimpleFile;
+use OCP\Files\SimpleFS\ISimpleFolder;
use OCP\IConfig;
use OCP\Files\IRootFolder;
use Test\TestCase;
@@ -34,17 +38,17 @@ class UtilTest extends TestCase {
protected $util;
/** @var IConfig */
protected $config;
- /** @var IRootFolder */
- protected $rootFolder;
+ /** @var IAppData */
+ protected $appData;
/** @var IAppManager */
protected $appManager;
protected function setUp() {
parent::setUp();
- $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock();
- $this->rootFolder = $this->getMockBuilder('OCP\Files\IRootFolder')->getMock();
- $this->appManager = $this->getMockBuilder('OCP\App\IAppManager')->getMock();
- $this->util = new Util($this->config, $this->rootFolder, $this->appManager);
+ $this->config = $this->createMock(IConfig::class);
+ $this->appData = $this->createMock(IAppData::class);
+ $this->appManager = $this->createMock(IAppManager::class);
+ $this->util = new Util($this->config, $this->appManager, $this->appData);
}
public function testInvertTextColorLight() {
@@ -112,6 +116,10 @@ class UtilTest extends TestCase {
* @dataProvider dataGetAppIcon
*/
public function testGetAppIcon($app, $expected) {
+ $this->appData->expects($this->any())
+ ->method('getFolder')
+ ->with('images')
+ ->willThrowException(new NotFoundException());
$this->appManager->expects($this->once())
->method('getAppPath')
->with($app)
@@ -129,13 +137,18 @@ class UtilTest extends TestCase {
}
public function testGetAppIconThemed() {
- $this->rootFolder->expects($this->once())
- ->method('nodeExists')
- ->with('/themedinstancelogo')
- ->willReturn(true);
- $expected = '/themedinstancelogo';
+ $file = $this->createMock(ISimpleFile::class);
+ $folder = $this->createMock(ISimpleFolder::class);
+ $folder->expects($this->once())
+ ->method('getFile')
+ ->with('logo')
+ ->willReturn($file);
+ $this->appData->expects($this->once())
+ ->method('getFolder')
+ ->with('images')
+ ->willReturn($folder);
$icon = $this->util->getAppIcon('noapplikethis');
- $this->assertEquals($expected, $icon);
+ $this->assertEquals($file, $icon);
}
/**
diff --git a/apps/twofactor_backupcodes/appinfo/app.php b/apps/twofactor_backupcodes/appinfo/app.php
index 0cb10531360..34b4866af2d 100644
--- a/apps/twofactor_backupcodes/appinfo/app.php
+++ b/apps/twofactor_backupcodes/appinfo/app.php
@@ -1,7 +1,8 @@
<?php
-
/**
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
+ * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
*
* @license GNU AGPL version 3 or any later version
*
@@ -20,6 +21,5 @@
*
*/
-// @codeCoverageIgnoreStart
-OC_App::registerPersonal('twofactor_backupcodes', 'settings/personal');
-// @codeCoverageIgnoreEnd
+$app = new \OCA\TwoFactorBackupCodes\AppInfo\Application();
+$app->register();
diff --git a/apps/twofactor_backupcodes/appinfo/database.xml b/apps/twofactor_backupcodes/appinfo/database.xml
index 02ca7c93a1e..93b0c1ad563 100644
--- a/apps/twofactor_backupcodes/appinfo/database.xml
+++ b/apps/twofactor_backupcodes/appinfo/database.xml
@@ -5,7 +5,7 @@
<overwrite>false</overwrite>
<charset>utf8</charset>
<table>
- <name>*dbprefix*twofactor_backup_codes</name>
+ <name>*dbprefix*twofactor_backupcodes</name>
<declaration>
<field>
<name>id</name>
@@ -37,7 +37,7 @@
</field>
<index>
- <name>two_factor_backupcodes_user_id</name>
+ <name>twofactor_backupcodes_uid</name>
<field>
<name>user_id</name>
<sorting>ascending</sorting>
diff --git a/apps/twofactor_backupcodes/appinfo/info.xml b/apps/twofactor_backupcodes/appinfo/info.xml
index 42985d15481..e5e96eddcf9 100644
--- a/apps/twofactor_backupcodes/appinfo/info.xml
+++ b/apps/twofactor_backupcodes/appinfo/info.xml
@@ -5,7 +5,7 @@
<description>A two-factor auth backup codes provider</description>
<licence>agpl</licence>
<author>Christoph Wurst</author>
- <version>1.1.0</version>
+ <version>1.1.1</version>
<namespace>TwoFactorBackupCodes</namespace>
<category>other</category>
@@ -29,4 +29,10 @@
<provider>OCA\TwoFactorBackupCodes\Activity\Provider</provider>
</providers>
</activity>
+
+ <repair-steps>
+ <post-migration>
+ <step>OCA\TwoFactorBackupCodes\Migration\CopyEntriesFromOldTable</step>
+ </post-migration>
+ </repair-steps>
</info>
diff --git a/apps/twofactor_backupcodes/css/style.css b/apps/twofactor_backupcodes/css/style.css
index 0e15290b86a..396192b43a7 100644
--- a/apps/twofactor_backupcodes/css/style.css
+++ b/apps/twofactor_backupcodes/css/style.css
@@ -5,11 +5,13 @@
.challenge {
margin-top: 0 !important;
margin-left: 0 !important;
+ box-sizing: border-box !important;
+ width: 100% !important;
}
.confirm-inline {
position: absolute;
- right: 10px;
+ right: 0;
top: 0;
margin: 0 !important;
padding-right: 25px !important;
diff --git a/apps/twofactor_backupcodes/l10n/de_DE.js b/apps/twofactor_backupcodes/l10n/de_DE.js
index 70cd65de8be..4ee7176cc4a 100644
--- a/apps/twofactor_backupcodes/l10n/de_DE.js
+++ b/apps/twofactor_backupcodes/l10n/de_DE.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"twofactor_backupcodes",
{
"Generate backup codes" : "Backup-Codes erzeugen",
- "Backup codes have been generated. {{used}} of {{total}} codes have been used." : "Backup-Codes wurden erstellt. {{used}} von {{total}} Codes wurden verwandt.",
+ "Backup codes have been generated. {{used}} of {{total}} codes have been used." : "Backup-Codes wurden erstellt. {{used}} von {{total}} Codes wurden benutzt.",
"These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dies sind Ihre Backup-Codes. Bitte speichern und/oder drucken Sie diese, da diese Codes später nicht mehr gelesen werden können",
"Save backup codes" : "Backup-Codes speichern",
"Print backup codes" : "Backup-Codes drucken",
diff --git a/apps/twofactor_backupcodes/l10n/de_DE.json b/apps/twofactor_backupcodes/l10n/de_DE.json
index d9f1af4b6bc..d5202046a00 100644
--- a/apps/twofactor_backupcodes/l10n/de_DE.json
+++ b/apps/twofactor_backupcodes/l10n/de_DE.json
@@ -1,6 +1,6 @@
{ "translations": {
"Generate backup codes" : "Backup-Codes erzeugen",
- "Backup codes have been generated. {{used}} of {{total}} codes have been used." : "Backup-Codes wurden erstellt. {{used}} von {{total}} Codes wurden verwandt.",
+ "Backup codes have been generated. {{used}} of {{total}} codes have been used." : "Backup-Codes wurden erstellt. {{used}} von {{total}} Codes wurden benutzt.",
"These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Dies sind Ihre Backup-Codes. Bitte speichern und/oder drucken Sie diese, da diese Codes später nicht mehr gelesen werden können",
"Save backup codes" : "Backup-Codes speichern",
"Print backup codes" : "Backup-Codes drucken",
diff --git a/apps/twofactor_backupcodes/l10n/is.js b/apps/twofactor_backupcodes/l10n/is.js
index 56f0ba4ac63..c7c019bcf10 100644
--- a/apps/twofactor_backupcodes/l10n/is.js
+++ b/apps/twofactor_backupcodes/l10n/is.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"You created two-factor backup codes for your account" : "Þú útbjóst tveggja-þrepa öryggisafritunarkóða fyrir aðganginn þinn",
"Backup code" : "Öryggisafritunarkóði",
"Use backup code" : "Nota öryggisafritunarkóða",
+ "Two factor backup codes" : "Tveggja-þrepa öryggisafritunarkóðar",
"Second-factor backup codes" : "Tveggja-þrepa öryggisafritunarkóðar"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/twofactor_backupcodes/l10n/is.json b/apps/twofactor_backupcodes/l10n/is.json
index bac4659e688..e07cb07b70a 100644
--- a/apps/twofactor_backupcodes/l10n/is.json
+++ b/apps/twofactor_backupcodes/l10n/is.json
@@ -14,6 +14,7 @@
"You created two-factor backup codes for your account" : "Þú útbjóst tveggja-þrepa öryggisafritunarkóða fyrir aðganginn þinn",
"Backup code" : "Öryggisafritunarkóði",
"Use backup code" : "Nota öryggisafritunarkóða",
+ "Two factor backup codes" : "Tveggja-þrepa öryggisafritunarkóðar",
"Second-factor backup codes" : "Tveggja-þrepa öryggisafritunarkóðar"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/nl.js b/apps/twofactor_backupcodes/l10n/nl.js
index 8d95cad5151..d797c3703c2 100644
--- a/apps/twofactor_backupcodes/l10n/nl.js
+++ b/apps/twofactor_backupcodes/l10n/nl.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"You created two-factor backup codes for your account" : "Je creëerde tweefactor back-up codes voor je account",
"Backup code" : "Backup code",
"Use backup code" : "Gebruik backup code",
+ "Two factor backup codes" : "Twee-factor backup code",
"Second-factor backup codes" : "Twee-factor backup code"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/nl.json b/apps/twofactor_backupcodes/l10n/nl.json
index 4041eae646a..05033c5a5e1 100644
--- a/apps/twofactor_backupcodes/l10n/nl.json
+++ b/apps/twofactor_backupcodes/l10n/nl.json
@@ -14,6 +14,7 @@
"You created two-factor backup codes for your account" : "Je creëerde tweefactor back-up codes voor je account",
"Backup code" : "Backup code",
"Use backup code" : "Gebruik backup code",
+ "Two factor backup codes" : "Twee-factor backup code",
"Second-factor backup codes" : "Twee-factor backup code"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/zh_CN.js b/apps/twofactor_backupcodes/l10n/zh_CN.js
index 041b159b136..00067e77f6a 100644
--- a/apps/twofactor_backupcodes/l10n/zh_CN.js
+++ b/apps/twofactor_backupcodes/l10n/zh_CN.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"You created two-factor backup codes for your account" : "您已经为账号创建了两步验证的备用码",
"Backup code" : "备用码",
"Use backup code" : "使用备用码",
+ "Two factor backup codes" : "双重备份代码",
"Second-factor backup codes" : "两步验证备用码"
},
"nplurals=1; plural=0;");
diff --git a/apps/twofactor_backupcodes/l10n/zh_CN.json b/apps/twofactor_backupcodes/l10n/zh_CN.json
index 2b1f7ce50ce..b85ac3e79a0 100644
--- a/apps/twofactor_backupcodes/l10n/zh_CN.json
+++ b/apps/twofactor_backupcodes/l10n/zh_CN.json
@@ -14,6 +14,7 @@
"You created two-factor backup codes for your account" : "您已经为账号创建了两步验证的备用码",
"Backup code" : "备用码",
"Use backup code" : "使用备用码",
+ "Two factor backup codes" : "双重备份代码",
"Second-factor backup codes" : "两步验证备用码"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/lib/AppInfo/Application.php b/apps/twofactor_backupcodes/lib/AppInfo/Application.php
new file mode 100644
index 00000000000..ad92c0b1476
--- /dev/null
+++ b/apps/twofactor_backupcodes/lib/AppInfo/Application.php
@@ -0,0 +1,62 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\TwoFactorBackupCodes\AppInfo;
+
+use OCA\TwoFactorBackupCodes\Db\BackupCodeMapper;
+use OCP\AppFramework\App;
+use OCP\Util;
+
+class Application extends App {
+ public function __construct () {
+ parent::__construct('twofactor_backupcodes');
+ }
+
+ /**
+ * Register the different app parts
+ */
+ public function register() {
+ $this->registerHooksAndEvents();
+ $this->registerPersonalPage();
+ }
+
+ /**
+ * Register the hooks and events
+ */
+ public function registerHooksAndEvents() {
+ Util::connectHook('OC_User', 'post_deleteUser', $this, 'deleteUser');
+ }
+
+ public function deleteUser($params) {
+ /** @var BackupCodeMapper $mapper */
+ $mapper = $this->getContainer()->query(BackupCodeMapper::class);
+ $mapper->deleteCodesByUserId($params['uid']);
+ }
+
+ /**
+ * Register personal settings for notifications and emails
+ */
+ public function registerPersonalPage() {
+ \OCP\App::registerPersonal($this->getContainer()->getAppName(), 'settings/personal');
+ }
+}
diff --git a/apps/twofactor_backupcodes/lib/Db/BackupCodeMapper.php b/apps/twofactor_backupcodes/lib/Db/BackupCodeMapper.php
index 85cc174fb6a..03fe7bb5ec8 100644
--- a/apps/twofactor_backupcodes/lib/Db/BackupCodeMapper.php
+++ b/apps/twofactor_backupcodes/lib/Db/BackupCodeMapper.php
@@ -22,13 +22,14 @@
namespace OCA\TwoFactorBackupCodes\Db;
use OCP\AppFramework\Db\Mapper;
+use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
use OCP\IUser;
class BackupCodeMapper extends Mapper {
public function __construct(IDBConnection $db) {
- parent::__construct($db, 'twofactor_backup_codes');
+ parent::__construct($db, 'twofactor_backupcodes');
}
/**
@@ -40,7 +41,7 @@ class BackupCodeMapper extends Mapper {
$qb = $this->db->getQueryBuilder();
$qb->select('id', 'user_id', 'code', 'used')
- ->from('twofactor_backup_codes')
+ ->from('twofactor_backupcodes')
->where($qb->expr()->eq('user_id', $qb->createNamedParameter($user->getUID())));
$result = $qb->execute();
@@ -52,12 +53,22 @@ class BackupCodeMapper extends Mapper {
}, $rows);
}
+ /**
+ * @param IUser $user
+ */
public function deleteCodes(IUser $user) {
+ $this->deleteCodesByUserId($user->getUID());
+ }
+
+ /**
+ * @param string $uid
+ */
+ public function deleteCodesByUserId($uid) {
/* @var IQueryBuilder $qb */
$qb = $this->db->getQueryBuilder();
- $qb->delete('twofactor_backup_codes')
- ->where($qb->expr()->eq('user_id', $qb->createNamedParameter($user->getUID())));
+ $qb->delete('twofactor_backupcodes')
+ ->where($qb->expr()->eq('user_id', $qb->createNamedParameter($uid)));
$qb->execute();
}
diff --git a/apps/twofactor_backupcodes/lib/Migration/CopyEntriesFromOldTable.php b/apps/twofactor_backupcodes/lib/Migration/CopyEntriesFromOldTable.php
new file mode 100644
index 00000000000..6d65a7d0c14
--- /dev/null
+++ b/apps/twofactor_backupcodes/lib/Migration/CopyEntriesFromOldTable.php
@@ -0,0 +1,108 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\TwoFactorBackupCodes\Migration;
+
+use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\IConfig;
+use OCP\IDBConnection;
+use OCP\Migration\IOutput;
+use OCP\Migration\IRepairStep;
+
+class CopyEntriesFromOldTable implements IRepairStep {
+
+ /** @var IDBConnection */
+ protected $connection;
+
+ /** @var IConfig */
+ protected $config;
+
+ /**
+ * @param IDBConnection $connection
+ * @param IConfig $config
+ */
+ public function __construct(IDBConnection $connection, IConfig $config) {
+ $this->connection = $connection;
+ $this->config = $config;
+ }
+
+ /**
+ * Returns the step's name
+ *
+ * @return string
+ * @since 9.1.0
+ */
+ public function getName() {
+ return 'Copy twofactor backup codes from legacy table';
+ }
+
+ /**
+ * Run repair step.
+ * Must throw exception on error.
+ *
+ * @since 9.1.0
+ * @param IOutput $output
+ * @throws \Exception in case of failure
+ */
+ public function run(IOutput $output) {
+ $version = $this->config->getAppValue('twofactor_backupcodes', 'installed_version', '0.0.0');
+ if (version_compare($version, '1.1.1', '>=')) {
+ return;
+ }
+
+ if (!$this->connection->tableExists('twofactor_backup_codes')) {
+ // Legacy table does not exist
+ return;
+ }
+
+ $insert = $this->connection->getQueryBuilder();
+ $insert->insert('twofactor_backupcodes')
+ ->values([
+ // Inserting with id might fail: 'id' => $insert->createParameter('id'),
+ 'user_id' => $insert->createParameter('user_id'),
+ 'code' => $insert->createParameter('code'),
+ 'used' => $insert->createParameter('used'),
+ ]);
+
+ $query = $this->connection->getQueryBuilder();
+ $query->select('*')
+ ->from('twofactor_backup_codes')
+ ->orderBy('id', 'ASC');
+ $result = $query->execute();
+
+ $output->startProgress();
+ while ($row = $result->fetch()) {
+ $output->advance();
+
+ $insert
+ // Inserting with id might fail: ->setParameter('id', $row['id'], IQueryBuilder::PARAM_INT)
+ ->setParameter('user_id', $row['user_id'], IQueryBuilder::PARAM_STR)
+ ->setParameter('code', $row['code'], IQueryBuilder::PARAM_STR)
+ ->setParameter('used', $row['used'], IQueryBuilder::PARAM_INT)
+ ->execute();
+ }
+ $output->finishProgress();
+
+ $this->connection->dropTable('twofactor_backup_codes');
+ }
+}
diff --git a/apps/updatenotification/js/admin.js b/apps/updatenotification/js/admin.js
index 589765348af..93b42295a23 100644
--- a/apps/updatenotification/js/admin.js
+++ b/apps/updatenotification/js/admin.js
@@ -32,6 +32,13 @@ $(document).ready(function(){
var body = $('body');
$('head').remove();
body.html(data);
+
+ // Eval the script elements in the response
+ var dom = $(data);
+ dom.filter('script').each(function() {
+ eval(this.text || this.textContent || this.innerHTML || '');
+ });
+
body.removeAttr('id');
body.attr('id', 'body-settings');
}
diff --git a/apps/updatenotification/l10n/el.js b/apps/updatenotification/l10n/el.js
index dc41eb7117e..bb8695e6781 100644
--- a/apps/updatenotification/l10n/el.js
+++ b/apps/updatenotification/l10n/el.js
@@ -5,9 +5,12 @@ OC.L10N.register(
"Could not start updater, please try the manual update" : "Δεν μπορεί να εκκινήσει η εφαρμογή ενημέρωσης, παρακαλώ δοκιμάστε την χειροκίνητη ενημέρωση",
"{version} is available. Get more information on how to update." : "Η έκδοση {version} είναι διαθέσιμη. Δείτε περισσότερες πληροφορίες για το πως να κάνετε την ενημέρωση.",
"Channel updated" : "Ενημερωμένο κανάλι",
+ "The update server could not be reached since %d days to check for new updates." : "Ο διακομιστής ενημέρωσης δεν ήταν προσβάσιμος από %dημέρες για να ελέγξει για νέες ενημερώσεις. ",
+ "Please check the Nextcloud and server log files for errors." : "Παρακαλούμε ελέγξτε για σφάλματα στα αρχεία ιστορικού του Nextcloud και του διακομιστή σας.",
"Update to %1$s is available." : "Είναι διαθέσιμη η ενημέρωση σε %1$s.",
"Update for %1$s to version %2$s is available." : "Είναι διαθέσιμη η ενημέρωση από την έκδοση %1$s στην %2$s.",
"Update for {app} to version %s is available." : "Είναι διαθέσιμη η ενημέρωση της εφαρμογής {app} στην έκδοση %s",
+ "Update notification" : "Ειδοποίηση ενημέρωσης",
"A new version is available: %s" : "Μία νέα έκδοση είναι διαθέσιμη: %s",
"Open updater" : "Άνοιγμα εφαρμογής ενημέρωσης",
"Download now" : "Λήψη τώρα",
@@ -15,6 +18,7 @@ OC.L10N.register(
"Checked on %s" : "Ελέγχθηκε στις %s",
"Update channel:" : "Ενημέρωση καναλιού:",
"You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Μπορείτε πάντα να περάσετε σε νεότερη / πειραματική έκδοση. Αλλά ποτέ δεν μπορείτε να γυρίσετε πίσω σε πιο σταθερό κανάλι.",
- "Notify members of the following groups about available updates:" : "Να ενημερωθούν τα μέλη των παρακάτω ομάδων σχετικά με τις διαθέσιμες ενημερώσεις:"
+ "Notify members of the following groups about available updates:" : "Να ενημερωθούν τα μέλη των παρακάτω ομάδων σχετικά με τις διαθέσιμες ενημερώσεις:",
+ "Only notification for app updates are available." : "Είναι μόνο διαθέσιμες οι ενημερώσεις για την εφαρμογή"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/el.json b/apps/updatenotification/l10n/el.json
index 763646d428e..388ee178778 100644
--- a/apps/updatenotification/l10n/el.json
+++ b/apps/updatenotification/l10n/el.json
@@ -3,9 +3,12 @@
"Could not start updater, please try the manual update" : "Δεν μπορεί να εκκινήσει η εφαρμογή ενημέρωσης, παρακαλώ δοκιμάστε την χειροκίνητη ενημέρωση",
"{version} is available. Get more information on how to update." : "Η έκδοση {version} είναι διαθέσιμη. Δείτε περισσότερες πληροφορίες για το πως να κάνετε την ενημέρωση.",
"Channel updated" : "Ενημερωμένο κανάλι",
+ "The update server could not be reached since %d days to check for new updates." : "Ο διακομιστής ενημέρωσης δεν ήταν προσβάσιμος από %dημέρες για να ελέγξει για νέες ενημερώσεις. ",
+ "Please check the Nextcloud and server log files for errors." : "Παρακαλούμε ελέγξτε για σφάλματα στα αρχεία ιστορικού του Nextcloud και του διακομιστή σας.",
"Update to %1$s is available." : "Είναι διαθέσιμη η ενημέρωση σε %1$s.",
"Update for %1$s to version %2$s is available." : "Είναι διαθέσιμη η ενημέρωση από την έκδοση %1$s στην %2$s.",
"Update for {app} to version %s is available." : "Είναι διαθέσιμη η ενημέρωση της εφαρμογής {app} στην έκδοση %s",
+ "Update notification" : "Ειδοποίηση ενημέρωσης",
"A new version is available: %s" : "Μία νέα έκδοση είναι διαθέσιμη: %s",
"Open updater" : "Άνοιγμα εφαρμογής ενημέρωσης",
"Download now" : "Λήψη τώρα",
@@ -13,6 +16,7 @@
"Checked on %s" : "Ελέγχθηκε στις %s",
"Update channel:" : "Ενημέρωση καναλιού:",
"You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Μπορείτε πάντα να περάσετε σε νεότερη / πειραματική έκδοση. Αλλά ποτέ δεν μπορείτε να γυρίσετε πίσω σε πιο σταθερό κανάλι.",
- "Notify members of the following groups about available updates:" : "Να ενημερωθούν τα μέλη των παρακάτω ομάδων σχετικά με τις διαθέσιμες ενημερώσεις:"
+ "Notify members of the following groups about available updates:" : "Να ενημερωθούν τα μέλη των παρακάτω ομάδων σχετικά με τις διαθέσιμες ενημερώσεις:",
+ "Only notification for app updates are available." : "Είναι μόνο διαθέσιμες οι ενημερώσεις για την εφαρμογή"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/is.js b/apps/updatenotification/l10n/is.js
index ae4dd1894fe..f6b3825b56b 100644
--- a/apps/updatenotification/l10n/is.js
+++ b/apps/updatenotification/l10n/is.js
@@ -10,6 +10,7 @@ OC.L10N.register(
"Update to %1$s is available." : "Uppfærsla fyrir %1$s er tiltæk.",
"Update for %1$s to version %2$s is available." : "Uppfærsla %1$s í útgáfu %2$s er tiltæk.",
"Update for {app} to version %s is available." : "Uppfærsla fyrir {app} í útgáfu %s er tiltæk.",
+ "Update notification" : "Tilkynning um uppfærslu",
"A new version is available: %s" : "Ný útgáfa er tiltæk: %s",
"Open updater" : "Opna uppfærslustýringu",
"Download now" : "Sækja núna",
diff --git a/apps/updatenotification/l10n/is.json b/apps/updatenotification/l10n/is.json
index 7682520c169..c24c469b2f2 100644
--- a/apps/updatenotification/l10n/is.json
+++ b/apps/updatenotification/l10n/is.json
@@ -8,6 +8,7 @@
"Update to %1$s is available." : "Uppfærsla fyrir %1$s er tiltæk.",
"Update for %1$s to version %2$s is available." : "Uppfærsla %1$s í útgáfu %2$s er tiltæk.",
"Update for {app} to version %s is available." : "Uppfærsla fyrir {app} í útgáfu %s er tiltæk.",
+ "Update notification" : "Tilkynning um uppfærslu",
"A new version is available: %s" : "Ný útgáfa er tiltæk: %s",
"Open updater" : "Opna uppfærslustýringu",
"Download now" : "Sækja núna",
diff --git a/apps/updatenotification/l10n/nl.js b/apps/updatenotification/l10n/nl.js
index 6a26f39457c..9787fc1abdf 100644
--- a/apps/updatenotification/l10n/nl.js
+++ b/apps/updatenotification/l10n/nl.js
@@ -10,6 +10,7 @@ OC.L10N.register(
"Update to %1$s is available." : "Update naar %1$s is beschikbaar.",
"Update for %1$s to version %2$s is available." : "Update voor %1$s naar versie %2$s is beschikbaar.",
"Update for {app} to version %s is available." : "Update voor {app} naar versie %s is beschikbaar.",
+ "Update notification" : "Update melding",
"A new version is available: %s" : "Er is een nieuwe versie beschikbaar: %s",
"Open updater" : "Open updater",
"Download now" : "Download nu",
diff --git a/apps/updatenotification/l10n/nl.json b/apps/updatenotification/l10n/nl.json
index 7c6cb15a0e0..b422596d0ce 100644
--- a/apps/updatenotification/l10n/nl.json
+++ b/apps/updatenotification/l10n/nl.json
@@ -8,6 +8,7 @@
"Update to %1$s is available." : "Update naar %1$s is beschikbaar.",
"Update for %1$s to version %2$s is available." : "Update voor %1$s naar versie %2$s is beschikbaar.",
"Update for {app} to version %s is available." : "Update voor {app} naar versie %s is beschikbaar.",
+ "Update notification" : "Update melding",
"A new version is available: %s" : "Er is een nieuwe versie beschikbaar: %s",
"Open updater" : "Open updater",
"Download now" : "Download nu",
diff --git a/apps/updatenotification/l10n/pl.js b/apps/updatenotification/l10n/pl.js
index 9ab4f0a2fee..24c54279dd7 100644
--- a/apps/updatenotification/l10n/pl.js
+++ b/apps/updatenotification/l10n/pl.js
@@ -10,6 +10,7 @@ OC.L10N.register(
"Update to %1$s is available." : "Aktualizacja do %1$s jest dostępna.",
"Update for %1$s to version %2$s is available." : "Jest dostępna aktualizacja dla %1$s do wersji %2$s",
"Update for {app} to version %s is available." : "aktualizacja dla {app} do wersji %s jest dostępna.",
+ "Update notification" : "Powiadomienie o aktualizacji",
"A new version is available: %s" : "Dostępna jest nowa wersja: %s",
"Open updater" : "Otwórz aktualizator",
"Download now" : "Pobierz teraz",
diff --git a/apps/updatenotification/l10n/pl.json b/apps/updatenotification/l10n/pl.json
index f38ef3740e6..c2500f1ac07 100644
--- a/apps/updatenotification/l10n/pl.json
+++ b/apps/updatenotification/l10n/pl.json
@@ -8,6 +8,7 @@
"Update to %1$s is available." : "Aktualizacja do %1$s jest dostępna.",
"Update for %1$s to version %2$s is available." : "Jest dostępna aktualizacja dla %1$s do wersji %2$s",
"Update for {app} to version %s is available." : "aktualizacja dla {app} do wersji %s jest dostępna.",
+ "Update notification" : "Powiadomienie o aktualizacji",
"A new version is available: %s" : "Dostępna jest nowa wersja: %s",
"Open updater" : "Otwórz aktualizator",
"Download now" : "Pobierz teraz",
diff --git a/apps/updatenotification/l10n/zh_CN.js b/apps/updatenotification/l10n/zh_CN.js
index a49275375e1..b7e292cff7b 100644
--- a/apps/updatenotification/l10n/zh_CN.js
+++ b/apps/updatenotification/l10n/zh_CN.js
@@ -6,9 +6,11 @@ OC.L10N.register(
"{version} is available. Get more information on how to update." : "新版本 {version} 已可以使用。获取更多升级相关信息。",
"Channel updated" : "更新通道",
"The update server could not be reached since %d days to check for new updates." : "更新服务器自 1%d 天前起无法访问以检查更新。",
+ "Please check the Nextcloud and server log files for errors." : "请检查 nextcloud 和服务器的日志中的错误。",
"Update to %1$s is available." : " 可以更新到 %1$s 。",
"Update for %1$s to version %2$s is available." : "可以从 %1$s 版本更新到 %2$s 版本。",
"Update for {app} to version %s is available." : "可以将您的 {app} 更新到版本 %s 。",
+ "Update notification" : "升级通知",
"A new version is available: %s" : "有可用的新版本: %s",
"Open updater" : "打开更新器",
"Download now" : "开始下载",
diff --git a/apps/updatenotification/l10n/zh_CN.json b/apps/updatenotification/l10n/zh_CN.json
index 3fc3433ff16..bee2c4f7ea1 100644
--- a/apps/updatenotification/l10n/zh_CN.json
+++ b/apps/updatenotification/l10n/zh_CN.json
@@ -4,9 +4,11 @@
"{version} is available. Get more information on how to update." : "新版本 {version} 已可以使用。获取更多升级相关信息。",
"Channel updated" : "更新通道",
"The update server could not be reached since %d days to check for new updates." : "更新服务器自 1%d 天前起无法访问以检查更新。",
+ "Please check the Nextcloud and server log files for errors." : "请检查 nextcloud 和服务器的日志中的错误。",
"Update to %1$s is available." : " 可以更新到 %1$s 。",
"Update for %1$s to version %2$s is available." : "可以从 %1$s 版本更新到 %2$s 版本。",
"Update for {app} to version %s is available." : "可以将您的 {app} 更新到版本 %s 。",
+ "Update notification" : "升级通知",
"A new version is available: %s" : "有可用的新版本: %s",
"Open updater" : "打开更新器",
"Download now" : "开始下载",
diff --git a/apps/user_ldap/l10n/ast.js b/apps/user_ldap/l10n/ast.js
index 9c825b91f3d..bea03686fd4 100644
--- a/apps/user_ldap/l10n/ast.js
+++ b/apps/user_ldap/l10n/ast.js
@@ -1,6 +1,7 @@
OC.L10N.register(
"user_ldap",
{
+ "Failed to clear the mappings." : "Fallu al llimpiar los mapeos.",
"Failed to delete the server configuration" : "Fallu al desaniciar la configuración del sirvidor",
"The configuration is invalid: anonymous bind is not allowed." : "La configuración nun ye válida: nun s'almite l'enllaz anónimu ",
"The configuration is valid and the connection could be established!" : "¡La configuración ye válida y pudo afitase la conexón!",
@@ -11,6 +12,11 @@ OC.L10N.register(
"No data specified" : "Nun s'especificaron los datos",
" Could not set configuration %s" : "Nun pudo afitase la configuración %s",
"Action does not exist" : "L'acción nun esiste",
+ "Renewing …" : "Renovando...",
+ "Weak password" : "Contraseña feble",
+ "So-so password" : "Contraseña normalina",
+ "Good password" : "Contraseña bona",
+ "Strong password" : "Contraseña fuerte",
"The Base DN appears to be wrong" : "La base DN paez tar mal",
"Testing configuration…" : "Probando configuración...",
"Configuration incorrect" : "Configuración incorreuta",
@@ -47,6 +53,7 @@ OC.L10N.register(
"_%s user found_::_%s users found_" : ["%s usuariu alcontráu","%s usuarios alcontraos"],
"Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Nun deteutamos el nome d'atributu na pantalla d'usuariu. Por favor especifícalu nos axustes avanzaos de ldap",
"Could not find the desired feature" : "Nun pudo alcontrase la carauterística deseyada",
+ "Invalid Host" : "Agospiu non válidu",
"Test Configuration" : "Configuración de prueba",
"Help" : "Ayuda",
"Groups meeting these criteria are available in %s:" : "Los grupos que cumplen estos criterios tán disponibles en %s:",
@@ -58,6 +65,7 @@ OC.L10N.register(
"Edit LDAP Query" : "Editar consulta LDAP",
"LDAP Filter:" : "Filtru LDAP:",
"The filter specifies which LDAP groups shall have access to the %s instance." : "El filtru especifica qué grupos LDAP van tener accesu a %s.",
+ "Verify settings and count the groups" : "Verificar axustes y contar los grupos",
"When logging in, %s will find the user based on the following attributes:" : "Al empecipiar sesión, %s atópase l'usuariu en función de los siguientes atributos :",
"LDAP / AD Username:" : "Nome d'usuariu LDAP / AD:",
"LDAP / AD Email Address:" : "Direición e-mail LDAP / AD:",
@@ -89,6 +97,14 @@ OC.L10N.register(
"Saving" : "Guardando",
"Back" : "Atrás",
"Continue" : "Continuar",
+ "Please renew your password." : "Renueva la to contraseña, por favor.",
+ "An internal error occurred." : "Asocedió un fallu internu.",
+ "Please try again or contact your administrator." : "Volvi tentalo o contauta col to alministrador, por favor.",
+ "Current password" : "Contraseña actual",
+ "New password" : "Contraseña nueva",
+ "Renew password" : "Renovar contraseña",
+ "Wrong password." : "Contraseña incorreuta.",
+ "Cancel" : "Encaboxar",
"LDAP" : "LDAP",
"Server" : "Sirvidor",
"Users" : "Usuarios",
@@ -131,6 +147,7 @@ OC.L10N.register(
"When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Cuando s'active, van permitise grupos que contengan otros grupos (namái funciona si l'atributu de miembru de grupu contién DNs).",
"Paging chunksize" : "Tamañu de los fragmentos de paxinación",
"Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Tamañu de los fragmentos usáu pa busques LDAP paxinaes que puen devolver resultaos voluminosos, como enubmeración d'usuarios o de grupos. (Si s'afita en 0, van deshabilitase les busques LDAP paxinaes neses situaciones.)",
+ "(New password is sent as plain text to LDAP)" : "(La contraseña únviase como testu planu a LDAP)",
"Special Attributes" : "Atributos especiales",
"Quota Field" : "Cuota",
"Quota Default" : "Cuota por defeutu",
diff --git a/apps/user_ldap/l10n/ast.json b/apps/user_ldap/l10n/ast.json
index 3838e187e2b..6fd226669bc 100644
--- a/apps/user_ldap/l10n/ast.json
+++ b/apps/user_ldap/l10n/ast.json
@@ -1,4 +1,5 @@
{ "translations": {
+ "Failed to clear the mappings." : "Fallu al llimpiar los mapeos.",
"Failed to delete the server configuration" : "Fallu al desaniciar la configuración del sirvidor",
"The configuration is invalid: anonymous bind is not allowed." : "La configuración nun ye válida: nun s'almite l'enllaz anónimu ",
"The configuration is valid and the connection could be established!" : "¡La configuración ye válida y pudo afitase la conexón!",
@@ -9,6 +10,11 @@
"No data specified" : "Nun s'especificaron los datos",
" Could not set configuration %s" : "Nun pudo afitase la configuración %s",
"Action does not exist" : "L'acción nun esiste",
+ "Renewing …" : "Renovando...",
+ "Weak password" : "Contraseña feble",
+ "So-so password" : "Contraseña normalina",
+ "Good password" : "Contraseña bona",
+ "Strong password" : "Contraseña fuerte",
"The Base DN appears to be wrong" : "La base DN paez tar mal",
"Testing configuration…" : "Probando configuración...",
"Configuration incorrect" : "Configuración incorreuta",
@@ -45,6 +51,7 @@
"_%s user found_::_%s users found_" : ["%s usuariu alcontráu","%s usuarios alcontraos"],
"Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Nun deteutamos el nome d'atributu na pantalla d'usuariu. Por favor especifícalu nos axustes avanzaos de ldap",
"Could not find the desired feature" : "Nun pudo alcontrase la carauterística deseyada",
+ "Invalid Host" : "Agospiu non válidu",
"Test Configuration" : "Configuración de prueba",
"Help" : "Ayuda",
"Groups meeting these criteria are available in %s:" : "Los grupos que cumplen estos criterios tán disponibles en %s:",
@@ -56,6 +63,7 @@
"Edit LDAP Query" : "Editar consulta LDAP",
"LDAP Filter:" : "Filtru LDAP:",
"The filter specifies which LDAP groups shall have access to the %s instance." : "El filtru especifica qué grupos LDAP van tener accesu a %s.",
+ "Verify settings and count the groups" : "Verificar axustes y contar los grupos",
"When logging in, %s will find the user based on the following attributes:" : "Al empecipiar sesión, %s atópase l'usuariu en función de los siguientes atributos :",
"LDAP / AD Username:" : "Nome d'usuariu LDAP / AD:",
"LDAP / AD Email Address:" : "Direición e-mail LDAP / AD:",
@@ -87,6 +95,14 @@
"Saving" : "Guardando",
"Back" : "Atrás",
"Continue" : "Continuar",
+ "Please renew your password." : "Renueva la to contraseña, por favor.",
+ "An internal error occurred." : "Asocedió un fallu internu.",
+ "Please try again or contact your administrator." : "Volvi tentalo o contauta col to alministrador, por favor.",
+ "Current password" : "Contraseña actual",
+ "New password" : "Contraseña nueva",
+ "Renew password" : "Renovar contraseña",
+ "Wrong password." : "Contraseña incorreuta.",
+ "Cancel" : "Encaboxar",
"LDAP" : "LDAP",
"Server" : "Sirvidor",
"Users" : "Usuarios",
@@ -129,6 +145,7 @@
"When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Cuando s'active, van permitise grupos que contengan otros grupos (namái funciona si l'atributu de miembru de grupu contién DNs).",
"Paging chunksize" : "Tamañu de los fragmentos de paxinación",
"Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Tamañu de los fragmentos usáu pa busques LDAP paxinaes que puen devolver resultaos voluminosos, como enubmeración d'usuarios o de grupos. (Si s'afita en 0, van deshabilitase les busques LDAP paxinaes neses situaciones.)",
+ "(New password is sent as plain text to LDAP)" : "(La contraseña únviase como testu planu a LDAP)",
"Special Attributes" : "Atributos especiales",
"Quota Field" : "Cuota",
"Quota Default" : "Cuota por defeutu",
diff --git a/apps/user_ldap/l10n/el.js b/apps/user_ldap/l10n/el.js
index c9c07245090..49974f76b03 100644
--- a/apps/user_ldap/l10n/el.js
+++ b/apps/user_ldap/l10n/el.js
@@ -50,6 +50,8 @@ OC.L10N.register(
"A connection error to LDAP / AD occurred, please check host, port and credentials." : "Προέκυψε σφάλμα σύνδεσης στο LDAP / AD, παρακαλούμε ελέγξτε διακομιστή θύρα και διαπιστευτήρια.",
"Please provide a login name to test against" : "Παρακαλούμε δώστε ένα όνομα σύνδεσης για να γίνει δοκιμή",
"The group box was disabled, because the LDAP / AD server does not support memberOf." : "Το πεδίο ομάδας απενεργοποιήθηκε επειδή ο διακομιστής LDAP / AD δεν υποστηρίζει το memberOf.",
+ "Your password will expire tomorrow." : "Το συνθηματικό σας θα λήξει αύριο.",
+ "_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Το συνθηματικό σας θα λήξει σε %n ημέρα.","Το συνθηματικό σας θα λήξει σε %n ημέρες."],
"_%s group found_::_%s groups found_" : ["%s ομάδα βρέθηκε","%s ομάδες βρέθηκαν"],
"_%s user found_::_%s users found_" : ["%s χρήστης βρέθηκε","%s χρήστες βρέθηκαν"],
"Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Δεν ήταν δυνατή η ανίχνευση της ιδιότητας του εμφανιζόμενου ονόματος χρήστη . Παρακαλείστε να το προσδιορίσετε στις προηγμένες ρυθμίσεις LDAP",
@@ -76,6 +78,7 @@ OC.L10N.register(
"Verify settings" : "Επιβεβαίωση ρυθμίσεων",
"1. Server" : "1. Διακομιστής",
"%s. Server:" : "%s. Διακομιστής:",
+ "Add a new configuration" : "Προσθήκη νέας ρύθμισης",
"Copy current configuration into new directory binding" : "Αντιγραφή της τρέχουσας διαμόρφωσης σε νέο κατάλογο",
"Delete the current configuration" : "Διαγραφή τρέχουσας διαμόρφωσης",
"Host" : "Διακομιστής",
@@ -97,10 +100,12 @@ OC.L10N.register(
"Saving" : "Αποθήκευση",
"Back" : "Επιστροφή",
"Continue" : "Συνέχεια",
+ "Please renew your password." : "Παρακαλούμε ανανεώτε το συνθηματικό σας.",
"An internal error occurred." : "Παρουσιάστηκε ένα εσωτερικό σφάλμα.",
"Current password" : "Τρέχον συνθηματικό",
"New password" : "Νέο συνθηματικό",
"Renew password" : "Ανανέωση συνθηματικού",
+ "Wrong password. Reset it?" : "Λάθος συνθηματικο. Επαναφορά;",
"Wrong password." : "Εσφαλμένο συνθηματικό.",
"Cancel" : "Ακύρωση",
"LDAP" : "LDAP",
diff --git a/apps/user_ldap/l10n/el.json b/apps/user_ldap/l10n/el.json
index 62d925d7fce..d0262fa9cfd 100644
--- a/apps/user_ldap/l10n/el.json
+++ b/apps/user_ldap/l10n/el.json
@@ -48,6 +48,8 @@
"A connection error to LDAP / AD occurred, please check host, port and credentials." : "Προέκυψε σφάλμα σύνδεσης στο LDAP / AD, παρακαλούμε ελέγξτε διακομιστή θύρα και διαπιστευτήρια.",
"Please provide a login name to test against" : "Παρακαλούμε δώστε ένα όνομα σύνδεσης για να γίνει δοκιμή",
"The group box was disabled, because the LDAP / AD server does not support memberOf." : "Το πεδίο ομάδας απενεργοποιήθηκε επειδή ο διακομιστής LDAP / AD δεν υποστηρίζει το memberOf.",
+ "Your password will expire tomorrow." : "Το συνθηματικό σας θα λήξει αύριο.",
+ "_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Το συνθηματικό σας θα λήξει σε %n ημέρα.","Το συνθηματικό σας θα λήξει σε %n ημέρες."],
"_%s group found_::_%s groups found_" : ["%s ομάδα βρέθηκε","%s ομάδες βρέθηκαν"],
"_%s user found_::_%s users found_" : ["%s χρήστης βρέθηκε","%s χρήστες βρέθηκαν"],
"Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Δεν ήταν δυνατή η ανίχνευση της ιδιότητας του εμφανιζόμενου ονόματος χρήστη . Παρακαλείστε να το προσδιορίσετε στις προηγμένες ρυθμίσεις LDAP",
@@ -74,6 +76,7 @@
"Verify settings" : "Επιβεβαίωση ρυθμίσεων",
"1. Server" : "1. Διακομιστής",
"%s. Server:" : "%s. Διακομιστής:",
+ "Add a new configuration" : "Προσθήκη νέας ρύθμισης",
"Copy current configuration into new directory binding" : "Αντιγραφή της τρέχουσας διαμόρφωσης σε νέο κατάλογο",
"Delete the current configuration" : "Διαγραφή τρέχουσας διαμόρφωσης",
"Host" : "Διακομιστής",
@@ -95,10 +98,12 @@
"Saving" : "Αποθήκευση",
"Back" : "Επιστροφή",
"Continue" : "Συνέχεια",
+ "Please renew your password." : "Παρακαλούμε ανανεώτε το συνθηματικό σας.",
"An internal error occurred." : "Παρουσιάστηκε ένα εσωτερικό σφάλμα.",
"Current password" : "Τρέχον συνθηματικό",
"New password" : "Νέο συνθηματικό",
"Renew password" : "Ανανέωση συνθηματικού",
+ "Wrong password. Reset it?" : "Λάθος συνθηματικο. Επαναφορά;",
"Wrong password." : "Εσφαλμένο συνθηματικό.",
"Cancel" : "Ακύρωση",
"LDAP" : "LDAP",
diff --git a/apps/user_ldap/l10n/sq.js b/apps/user_ldap/l10n/sq.js
index dda76f5dd27..20f125f50cb 100644
--- a/apps/user_ldap/l10n/sq.js
+++ b/apps/user_ldap/l10n/sq.js
@@ -12,6 +12,7 @@ OC.L10N.register(
"No data specified" : "S’u treguan të dhëna",
" Could not set configuration %s" : "S’vuri dot në punë formësimin %s",
"Action does not exist" : "Veprimi s’ekziston",
+ "Very weak password" : "Fjalëkalim shumë i dobët",
"The Base DN appears to be wrong" : "DN-ja Bazë duket se është e gabuar",
"Testing configuration…" : "Po provohet formësimi…",
"Configuration incorrect" : "Formësim i pasaktë",
diff --git a/apps/user_ldap/l10n/sq.json b/apps/user_ldap/l10n/sq.json
index 44c0fac0c9a..5f95db90f51 100644
--- a/apps/user_ldap/l10n/sq.json
+++ b/apps/user_ldap/l10n/sq.json
@@ -10,6 +10,7 @@
"No data specified" : "S’u treguan të dhëna",
" Could not set configuration %s" : "S’vuri dot në punë formësimin %s",
"Action does not exist" : "Veprimi s’ekziston",
+ "Very weak password" : "Fjalëkalim shumë i dobët",
"The Base DN appears to be wrong" : "DN-ja Bazë duket se është e gabuar",
"Testing configuration…" : "Po provohet formësimi…",
"Configuration incorrect" : "Formësim i pasaktë",
diff --git a/apps/user_ldap/l10n/tr.js b/apps/user_ldap/l10n/tr.js
index 842500e18bd..e46ed393010 100644
--- a/apps/user_ldap/l10n/tr.js
+++ b/apps/user_ldap/l10n/tr.js
@@ -19,14 +19,14 @@ OC.L10N.register(
"So-so password" : "Parola idare eder",
"Good password" : "Parola iyi",
"Strong password" : "Parola güçlü",
- "The Base DN appears to be wrong" : "Base DN hatalı gibi görünüyor",
+ "The Base DN appears to be wrong" : "Base DN yanlış gibi görünüyor",
"Testing configuration…" : "Yapılandırma sınanıyor...",
- "Configuration incorrect" : "Yapılandırma hatalı",
+ "Configuration incorrect" : "Yapılandırma yanlış",
"Configuration incomplete" : "Yapılandırma tamamlanmamış",
"Configuration OK" : "Yapılandırma tamamlanmış",
"Select groups" : "Grupları seçin",
"Select object classes" : "Nesne sınıflarını seçin",
- "Please check the credentials, they seem to be wrong." : "Lütfen kimlik doğrulama bilgilerini denetleyin, hatalı görünüyor.",
+ "Please check the credentials, they seem to be wrong." : "Lütfen kimlik doğrulama bilgilerini denetleyin, yanlış görünüyor.",
"Please specify the port, it could not be auto-detected." : "Lütfen kapı numarasını belirtin. Otomatik olarak algılanamadı.",
"Base DN could not be auto-detected, please revise credentials, host and port." : "Base DN otomatik olarak algılanamadı. Lütfen kimlik doğrulama bilgilerini, sunucu ve kapı numarasını gözden geçirin.",
"Could not detect Base DN, please enter it manually." : "Base DN algılanamadı. Lütfen el ile yazın.",
@@ -118,8 +118,8 @@ OC.L10N.register(
"Current password" : "Geçerli parola",
"New password" : "Yeni parola",
"Renew password" : "Parolayı yenile",
- "Wrong password. Reset it?" : "Parola hatalı. Sıfırlamak ister misiniz?",
- "Wrong password." : "Parola hatalı.",
+ "Wrong password. Reset it?" : "Parola yanlış. Sıfırlamak ister misiniz?",
+ "Wrong password." : "Parola yanlış.",
"Cancel" : "İptal",
"LDAP" : "LDAP",
"Server" : "Sunucu",
diff --git a/apps/user_ldap/l10n/tr.json b/apps/user_ldap/l10n/tr.json
index 94bd9b6ccef..71489688050 100644
--- a/apps/user_ldap/l10n/tr.json
+++ b/apps/user_ldap/l10n/tr.json
@@ -17,14 +17,14 @@
"So-so password" : "Parola idare eder",
"Good password" : "Parola iyi",
"Strong password" : "Parola güçlü",
- "The Base DN appears to be wrong" : "Base DN hatalı gibi görünüyor",
+ "The Base DN appears to be wrong" : "Base DN yanlış gibi görünüyor",
"Testing configuration…" : "Yapılandırma sınanıyor...",
- "Configuration incorrect" : "Yapılandırma hatalı",
+ "Configuration incorrect" : "Yapılandırma yanlış",
"Configuration incomplete" : "Yapılandırma tamamlanmamış",
"Configuration OK" : "Yapılandırma tamamlanmış",
"Select groups" : "Grupları seçin",
"Select object classes" : "Nesne sınıflarını seçin",
- "Please check the credentials, they seem to be wrong." : "Lütfen kimlik doğrulama bilgilerini denetleyin, hatalı görünüyor.",
+ "Please check the credentials, they seem to be wrong." : "Lütfen kimlik doğrulama bilgilerini denetleyin, yanlış görünüyor.",
"Please specify the port, it could not be auto-detected." : "Lütfen kapı numarasını belirtin. Otomatik olarak algılanamadı.",
"Base DN could not be auto-detected, please revise credentials, host and port." : "Base DN otomatik olarak algılanamadı. Lütfen kimlik doğrulama bilgilerini, sunucu ve kapı numarasını gözden geçirin.",
"Could not detect Base DN, please enter it manually." : "Base DN algılanamadı. Lütfen el ile yazın.",
@@ -116,8 +116,8 @@
"Current password" : "Geçerli parola",
"New password" : "Yeni parola",
"Renew password" : "Parolayı yenile",
- "Wrong password. Reset it?" : "Parola hatalı. Sıfırlamak ister misiniz?",
- "Wrong password." : "Parola hatalı.",
+ "Wrong password. Reset it?" : "Parola yanlış. Sıfırlamak ister misiniz?",
+ "Wrong password." : "Parola yanlış.",
"Cancel" : "İptal",
"LDAP" : "LDAP",
"Server" : "Sunucu",
diff --git a/apps/workflowengine/l10n/fi.js b/apps/workflowengine/l10n/fi.js
new file mode 100644
index 00000000000..9514aef4e9b
--- /dev/null
+++ b/apps/workflowengine/l10n/fi.js
@@ -0,0 +1,66 @@
+OC.L10N.register(
+ "workflowengine",
+ {
+ "Saved" : "Tallennettu",
+ "Saving failed:" : "Tallennus epäonnistui:",
+ "File MIME type" : "Tiedosto MIME tyyppi",
+ "is" : "on",
+ "is not" : "ei ole",
+ "matches" : "täsmää",
+ "does not match" : "ei täsmää",
+ "Example: {placeholder}" : "Esimerkki: {placeholder}",
+ "File size (upload)" : "Tiedostokoko (lähetys)",
+ "less" : "pienempi",
+ "less or equals" : "pienempi tai yhtä suuri kuin",
+ "greater or equals" : "suurempi tai yhtä suuri kuin",
+ "greater" : "suurempi",
+ "File system tag" : "Järjestelmätunniste",
+ "is tagged with" : "on merkitty tunnisteella",
+ "is not tagged with" : "ei ole merkitty tunnisteella",
+ "Select tag…" : "Valitse tunniste…",
+ "Request remote address" : "Pyynnön etäosoite",
+ "matches IPv4" : "täsmää IPv4-osoitteeseen",
+ "does not match IPv4" : "ei täsmää IPv4-osoitteeseen",
+ "matches IPv6" : "täsmää IPv6-osoitteeseen",
+ "does not match IPv6" : "ei täsmää IPv6-osoitteeseen",
+ "Request time" : "Pyynnön aika",
+ "between" : "välillä",
+ "not between" : "ei välillä",
+ "Start" : "Alku",
+ "End" : "Loppu",
+ "Select timezone…" : "Valitse aikavyöhyke...",
+ "Request URL" : "Pyynnön URL-osoite",
+ "Predefined URLs" : "Ennalta määritellyt URL osoitteet",
+ "Files WebDAV" : "Tiedostot WebDAV",
+ "Request user agent" : "Pyyntö user agent",
+ "Sync clients" : "Synkronointisovellukset",
+ "Android client" : "Android-sovellus",
+ "iOS client" : "iOS-sovellus",
+ "Desktop client" : "Työpöytäsovellus",
+ "User group membership" : "Käyttäjäryhmä jäsenyys",
+ "is member of" : "on jäsen",
+ "is not member of" : "ei ole jäsen",
+ "The given operator is invalid" : "Annettu operaattori on virheellinen",
+ "The given file size is invalid" : "Annettu tiedoston koko on virheellinen",
+ "The given tag id is invalid" : "Annettu tag id on virheellinen",
+ "The given IP range is invalid" : "Annetut IP arvot ovat virheelliset",
+ "The given IP range is not valid for IPv4" : "Annetut IP arvot eivät käy IPv4 osoitteisiin",
+ "The given IP range is not valid for IPv6" : "Annetut IP arvot eivät käy IPv6 osoitteisiin",
+ "The given time span is invalid" : "Annettu aikaväli on virheellinen",
+ "The given start time is invalid" : "Annettu aloitusaika on virheellinen",
+ "The given end time is invalid" : "Annettu päättymisaika on virheellinen",
+ "The given group does not exist" : "Annettua ryhmää ei ole",
+ "Workflow" : "Työnkulku",
+ "Files workflow engine" : "Tiedostojen hallintatyökalu",
+ "Open documentation" : "Avaa dokumentaatio",
+ "Add rule group" : "Lisää sääntöryhmä",
+ "Short rule description" : "Lyhyt sääntökuvaus",
+ "Add rule" : "Lisää sääntö",
+ "Reset" : "Palauta",
+ "Save" : "Tallenna",
+ "Saving…" : "Tallennetaan...",
+ "Loading…" : "Ladataan…",
+ "Successfully saved" : "Tallennettu onnistuneesti",
+ "File mime type" : "Tiedoston mediatyyppi"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/workflowengine/l10n/fi.json b/apps/workflowengine/l10n/fi.json
new file mode 100644
index 00000000000..21f090a9bb1
--- /dev/null
+++ b/apps/workflowengine/l10n/fi.json
@@ -0,0 +1,64 @@
+{ "translations": {
+ "Saved" : "Tallennettu",
+ "Saving failed:" : "Tallennus epäonnistui:",
+ "File MIME type" : "Tiedosto MIME tyyppi",
+ "is" : "on",
+ "is not" : "ei ole",
+ "matches" : "täsmää",
+ "does not match" : "ei täsmää",
+ "Example: {placeholder}" : "Esimerkki: {placeholder}",
+ "File size (upload)" : "Tiedostokoko (lähetys)",
+ "less" : "pienempi",
+ "less or equals" : "pienempi tai yhtä suuri kuin",
+ "greater or equals" : "suurempi tai yhtä suuri kuin",
+ "greater" : "suurempi",
+ "File system tag" : "Järjestelmätunniste",
+ "is tagged with" : "on merkitty tunnisteella",
+ "is not tagged with" : "ei ole merkitty tunnisteella",
+ "Select tag…" : "Valitse tunniste…",
+ "Request remote address" : "Pyynnön etäosoite",
+ "matches IPv4" : "täsmää IPv4-osoitteeseen",
+ "does not match IPv4" : "ei täsmää IPv4-osoitteeseen",
+ "matches IPv6" : "täsmää IPv6-osoitteeseen",
+ "does not match IPv6" : "ei täsmää IPv6-osoitteeseen",
+ "Request time" : "Pyynnön aika",
+ "between" : "välillä",
+ "not between" : "ei välillä",
+ "Start" : "Alku",
+ "End" : "Loppu",
+ "Select timezone…" : "Valitse aikavyöhyke...",
+ "Request URL" : "Pyynnön URL-osoite",
+ "Predefined URLs" : "Ennalta määritellyt URL osoitteet",
+ "Files WebDAV" : "Tiedostot WebDAV",
+ "Request user agent" : "Pyyntö user agent",
+ "Sync clients" : "Synkronointisovellukset",
+ "Android client" : "Android-sovellus",
+ "iOS client" : "iOS-sovellus",
+ "Desktop client" : "Työpöytäsovellus",
+ "User group membership" : "Käyttäjäryhmä jäsenyys",
+ "is member of" : "on jäsen",
+ "is not member of" : "ei ole jäsen",
+ "The given operator is invalid" : "Annettu operaattori on virheellinen",
+ "The given file size is invalid" : "Annettu tiedoston koko on virheellinen",
+ "The given tag id is invalid" : "Annettu tag id on virheellinen",
+ "The given IP range is invalid" : "Annetut IP arvot ovat virheelliset",
+ "The given IP range is not valid for IPv4" : "Annetut IP arvot eivät käy IPv4 osoitteisiin",
+ "The given IP range is not valid for IPv6" : "Annetut IP arvot eivät käy IPv6 osoitteisiin",
+ "The given time span is invalid" : "Annettu aikaväli on virheellinen",
+ "The given start time is invalid" : "Annettu aloitusaika on virheellinen",
+ "The given end time is invalid" : "Annettu päättymisaika on virheellinen",
+ "The given group does not exist" : "Annettua ryhmää ei ole",
+ "Workflow" : "Työnkulku",
+ "Files workflow engine" : "Tiedostojen hallintatyökalu",
+ "Open documentation" : "Avaa dokumentaatio",
+ "Add rule group" : "Lisää sääntöryhmä",
+ "Short rule description" : "Lyhyt sääntökuvaus",
+ "Add rule" : "Lisää sääntö",
+ "Reset" : "Palauta",
+ "Save" : "Tallenna",
+ "Saving…" : "Tallennetaan...",
+ "Loading…" : "Ladataan…",
+ "Successfully saved" : "Tallennettu onnistuneesti",
+ "File mime type" : "Tiedoston mediatyyppi"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/fr.js b/apps/workflowengine/l10n/fr.js
index 5fb2ff3f410..b922204617f 100644
--- a/apps/workflowengine/l10n/fr.js
+++ b/apps/workflowengine/l10n/fr.js
@@ -59,6 +59,7 @@ OC.L10N.register(
"Check %s is invalid" : "Vérifiez si %s est invalide",
"Check #%s does not exist" : "Vérifiez si #%s n'existe pas",
"Workflow" : "Flux d'activités",
+ "Files workflow engine" : "Moteur du flux de travail des fichiers",
"Open documentation" : "Voir la documentation",
"Add rule group" : "Ajouter une règle de groupe",
"Short rule description" : "Trier par description de règle",
diff --git a/apps/workflowengine/l10n/fr.json b/apps/workflowengine/l10n/fr.json
index cdf39458889..4299d4d218c 100644
--- a/apps/workflowengine/l10n/fr.json
+++ b/apps/workflowengine/l10n/fr.json
@@ -57,6 +57,7 @@
"Check %s is invalid" : "Vérifiez si %s est invalide",
"Check #%s does not exist" : "Vérifiez si #%s n'existe pas",
"Workflow" : "Flux d'activités",
+ "Files workflow engine" : "Moteur du flux de travail des fichiers",
"Open documentation" : "Voir la documentation",
"Add rule group" : "Ajouter une règle de groupe",
"Short rule description" : "Trier par description de règle",
diff --git a/apps/workflowengine/l10n/is.js b/apps/workflowengine/l10n/is.js
index bd58e51965c..88ad2c0bcbe 100644
--- a/apps/workflowengine/l10n/is.js
+++ b/apps/workflowengine/l10n/is.js
@@ -59,6 +59,7 @@ OC.L10N.register(
"Check %s is invalid" : "Athugunin %s er ógild",
"Check #%s does not exist" : "Athugunin #%s er ekki til",
"Workflow" : "Vinnuferli",
+ "Files workflow engine" : "Verkferlavél skráa",
"Open documentation" : "Opna hjálparskjöl",
"Add rule group" : "Bæta við regluhópi",
"Short rule description" : "Stutt lýsing á reglu",
diff --git a/apps/workflowengine/l10n/is.json b/apps/workflowengine/l10n/is.json
index 3dd3ee9304b..fb57a003f24 100644
--- a/apps/workflowengine/l10n/is.json
+++ b/apps/workflowengine/l10n/is.json
@@ -57,6 +57,7 @@
"Check %s is invalid" : "Athugunin %s er ógild",
"Check #%s does not exist" : "Athugunin #%s er ekki til",
"Workflow" : "Vinnuferli",
+ "Files workflow engine" : "Verkferlavél skráa",
"Open documentation" : "Opna hjálparskjöl",
"Add rule group" : "Bæta við regluhópi",
"Short rule description" : "Stutt lýsing á reglu",
diff --git a/apps/workflowengine/l10n/nl.js b/apps/workflowengine/l10n/nl.js
index 282f730dfc0..06516a6dd13 100644
--- a/apps/workflowengine/l10n/nl.js
+++ b/apps/workflowengine/l10n/nl.js
@@ -59,6 +59,7 @@ OC.L10N.register(
"Check %s is invalid" : "Controleer: %s is ongeldig",
"Check #%s does not exist" : "Controleer: #%s bestaat niet",
"Workflow" : "Workflow",
+ "Files workflow engine" : "Betand workflow engine",
"Open documentation" : "Open documentatie",
"Add rule group" : "Groepsrol toevoegen",
"Short rule description" : "Korte rolbeschrijving",
diff --git a/apps/workflowengine/l10n/nl.json b/apps/workflowengine/l10n/nl.json
index 0328c954c9e..7e6f97cfc44 100644
--- a/apps/workflowengine/l10n/nl.json
+++ b/apps/workflowengine/l10n/nl.json
@@ -57,6 +57,7 @@
"Check %s is invalid" : "Controleer: %s is ongeldig",
"Check #%s does not exist" : "Controleer: #%s bestaat niet",
"Workflow" : "Workflow",
+ "Files workflow engine" : "Betand workflow engine",
"Open documentation" : "Open documentatie",
"Add rule group" : "Groepsrol toevoegen",
"Short rule description" : "Korte rolbeschrijving",
diff --git a/apps/workflowengine/l10n/sq.js b/apps/workflowengine/l10n/sq.js
index 4ef217915c9..f92a1a6de77 100644
--- a/apps/workflowengine/l10n/sq.js
+++ b/apps/workflowengine/l10n/sq.js
@@ -1,6 +1,7 @@
OC.L10N.register(
"workflowengine",
{
+ "Saved" : "E ruajtur",
"Saving failed:" : "Ruajtja dështoi:",
"is" : "është",
"is not" : "nuk është",
diff --git a/apps/workflowengine/l10n/sq.json b/apps/workflowengine/l10n/sq.json
index 1ad0c38e102..25c90519457 100644
--- a/apps/workflowengine/l10n/sq.json
+++ b/apps/workflowengine/l10n/sq.json
@@ -1,4 +1,5 @@
{ "translations": {
+ "Saved" : "E ruajtur",
"Saving failed:" : "Ruajtja dështoi:",
"is" : "është",
"is not" : "nuk është",
diff --git a/apps/workflowengine/l10n/zh_CN.js b/apps/workflowengine/l10n/zh_CN.js
index c9d6a0f1611..4d8806d6f5a 100644
--- a/apps/workflowengine/l10n/zh_CN.js
+++ b/apps/workflowengine/l10n/zh_CN.js
@@ -1,7 +1,9 @@
OC.L10N.register(
"workflowengine",
{
+ "Saved" : "已保存",
"Saving failed:" : "保存失败:",
+ "File MIME type" : "文件MIME类型",
"is" : "是",
"is not" : "不是",
"matches" : "匹配",
@@ -57,6 +59,7 @@ OC.L10N.register(
"Check %s is invalid" : "检查%s是不可用",
"Check #%s does not exist" : "检查#%s是不存在",
"Workflow" : "数据流",
+ "Files workflow engine" : "文件工作流引擎",
"Open documentation" : "打开文档",
"Add rule group" : "添加规则组",
"Short rule description" : "短规则说明",
diff --git a/apps/workflowengine/l10n/zh_CN.json b/apps/workflowengine/l10n/zh_CN.json
index 3e488a1cd7b..1696b35d8f9 100644
--- a/apps/workflowengine/l10n/zh_CN.json
+++ b/apps/workflowengine/l10n/zh_CN.json
@@ -1,5 +1,7 @@
{ "translations": {
+ "Saved" : "已保存",
"Saving failed:" : "保存失败:",
+ "File MIME type" : "文件MIME类型",
"is" : "是",
"is not" : "不是",
"matches" : "匹配",
@@ -55,6 +57,7 @@
"Check %s is invalid" : "检查%s是不可用",
"Check #%s does not exist" : "检查#%s是不存在",
"Workflow" : "数据流",
+ "Files workflow engine" : "文件工作流引擎",
"Open documentation" : "打开文档",
"Add rule group" : "添加规则组",
"Short rule description" : "短规则说明",
diff --git a/autotest-checkers.sh b/autotest-checkers.sh
new file mode 100755
index 00000000000..35c945a17e9
--- /dev/null
+++ b/autotest-checkers.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+#
+RESULT=0
+
+bash ./build/autoloaderchecker.sh
+RESULT=$(($RESULT+$?))
+bash ./build/mergejschecker.sh
+RESULT=$(($RESULT+$?))
+php ./build/translation-checker.php
+RESULT=$(($RESULT+$?))
+php ./build/htaccess-checker.php
+RESULT=$(($RESULT+$?))
+
+
+for app in $(find "apps/" -mindepth 1 -maxdepth 1 -type d -exec basename {} \;); do
+ echo "Testing $app"
+ if
+ [ "$app" == "dav" ] || \
+ [ "$app" == "encryption" ] || \
+ [ "$app" == "federatedfilesharing" ] || \
+ [ "$app" == "files" ] || \
+ [ "$app" == "files_external" ] || \
+ [ "$app" == "files_sharing" ] || \
+ [ "$app" == "files_trashbin" ] || \
+ [ "$app" == "files_versions" ] || \
+ [ "$app" == "lookup_server_connector" ] || \
+ [ "$app" == "provisioning_api" ] || \
+ [ "$app" == "testing" ] || \
+ [ "$app" == "twofactor_backupcodes" ] || \
+ [ "$app" == "updatenotification" ] || \
+ [ "$app" == "user_ldap" ]
+ then
+ ./occ app:check-code --skip-checkers "$app"
+ else
+ ./occ app:check-code "$app"
+ fi
+ RESULT=$(($RESULT+$?))
+done;
+
+php ./build/signed-off-checker.php
+RESULT=$(($RESULT+$?))
+
+exit $RESULT
diff --git a/autotest.sh b/autotest.sh
index b9058efdbc6..069488a3346 100755
--- a/autotest.sh
+++ b/autotest.sh
@@ -184,6 +184,8 @@ function execute_tests {
if [ "$ENABLE_REDIS" == "true" ] ; then
cp tests/redis.config.php config/redis.config.php
+ elif [ "$ENABLE_REDIS_CLUSTER" == "true" ] ; then
+ cp tests/redis-cluster.config.php config/redis.config.php
fi
_DB=$DB
@@ -311,6 +313,8 @@ function execute_tests {
echo "[ERROR] Waited 60 seconds, no response" >&2
exit 1
fi
+ echo "Give it 10 additional seconds ..."
+ sleep 10
if [ -z "$DRONE" ] ; then # no need to drop the DB when we are on CI
dropdb -U "$DATABASEUSER" "$DATABASENAME" || true
diff --git a/build/integration/features/auth.feature b/build/integration/features/auth.feature
index b9f423a9e93..679b2465659 100644
--- a/build/integration/features/auth.feature
+++ b/build/integration/features/auth.feature
@@ -53,6 +53,14 @@ Feature: auth
When requesting "/remote.php/webdav" with "PROPFIND" using restricted basic token auth
Then the HTTP status code should be "207"
+ Scenario: using old WebDAV endpoint with unrestricted client token
+ When requesting "/remote.php/webdav" with "PROPFIND" using an unrestricted client token
+ Then the HTTP status code should be "207"
+
+ Scenario: using new WebDAV endpoint with unrestricted client token
+ When requesting "/remote.php/dav/" with "PROPFIND" using an unrestricted client token
+ Then the HTTP status code should be "207"
+
Scenario: using WebDAV with browser session
Given a new browser session is started
When requesting "/remote.php/webdav" with "PROPFIND" using browser session
diff --git a/build/integration/features/bootstrap/Auth.php b/build/integration/features/bootstrap/Auth.php
index 7addcab5f97..ae411cc7ab3 100644
--- a/build/integration/features/bootstrap/Auth.php
+++ b/build/integration/features/bootstrap/Auth.php
@@ -187,7 +187,7 @@ trait Auth {
* @param string $method
*/
public function requestingWithUsingAnUnrestrictedClientToken($url, $method) {
- $this->sendRequest($url, $method, 'token ' . $this->unrestrictedClientToken);
+ $this->sendRequest($url, $method, 'Bearer ' . $this->unrestrictedClientToken);
}
/**
@@ -197,7 +197,7 @@ trait Auth {
* @param string $method
*/
public function requestingWithUsingARestrictedClientToken($url, $method) {
- $this->sendRequest($url, $method, 'token ' . $this->restrictedClientToken);
+ $this->sendRequest($url, $method, 'Bearer ' . $this->restrictedClientToken);
}
/**
diff --git a/build/integration/features/provisioning-v1.feature b/build/integration/features/provisioning-v1.feature
index 555960b8a55..84e2e30baa1 100644
--- a/build/integration/features/provisioning-v1.feature
+++ b/build/integration/features/provisioning-v1.feature
@@ -342,6 +342,7 @@ Feature: provisioning
| updatenotification |
| workflowengine |
| files_external |
+ | oauth2 |
Scenario: get app info
Given As an "admin"
diff --git a/build/integration/features/webdav-related.feature b/build/integration/features/webdav-related.feature
index b8ed1c4a778..b4fd0511356 100644
--- a/build/integration/features/webdav-related.feature
+++ b/build/integration/features/webdav-related.feature
@@ -8,7 +8,7 @@ Feature: webdav-related
Then the HTTP status code should be "401"
And there are no duplicate headers
And The following headers should be set
- |WWW-Authenticate|Basic realm="Nextcloud"|
+ |WWW-Authenticate|Basic realm="Nextcloud", Bearer realm="Nextcloud"|
Scenario: Unauthenticated call new dav path
Given using new dav path
@@ -16,7 +16,7 @@ Feature: webdav-related
Then the HTTP status code should be "401"
And there are no duplicate headers
And The following headers should be set
- |WWW-Authenticate|Basic realm="Nextcloud"|
+ |WWW-Authenticate|Bearer realm="Nextcloud", Basic realm="Nextcloud"|
Scenario: Moving a file
Given using old dav path
diff --git a/config/config.sample.php b/config/config.sample.php
index 9f2ede88169..b143693082a 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -249,10 +249,11 @@ $CONFIG = array(
),
/**
- * If your user backend does not allow to reset the password (e.g. when it's a
+ * If your user backend does not allow password resets (e.g. when it's a
* read-only user backend like LDAP), you can specify a custom link, where the
* user is redirected to, when clicking the "reset password" link after a failed
* login-attempt.
+ * In case you do not want to provide any link, replace the url with 'disabled'
*/
'lost_password_link' => 'https://example.org/link/to/password/reset',
@@ -435,12 +436,12 @@ $CONFIG = array(
* the correct value would most likely be "/nextcloud". If Nextcloud is running
* under "https://mycloud.org/" then it would be "/".
*
- * Note that above rule is not valid in every case, there are some rare setup
+ * Note that the above rule is not valid in every case, as there are some rare setup
* cases where this may not apply. However, to avoid any update problems this
* configuration value is explicitly opt-in.
*
- * After setting this value run `occ maintenance:update:htaccess` and when following
- * conditions are met Nextcloud uses URLs without index.php in it:
+ * After setting this value run `occ maintenance:update:htaccess`. Now, when the
+ * following conditions are met Nextcloud URLs won't contain `index.php`:
*
* - `mod_rewrite` is installed
* - `mod_env` is installed
@@ -959,7 +960,7 @@ $CONFIG = array(
/**
* Replaces the default System Tags Manager Factory. This can be utilized if an
* own or 3rdParty SystemTagsManager should be used that – for instance – uses the
- * filesystem instead of the database to keep the comments.
+ * filesystem instead of the database to keep the tags.
*
* Defaults to ``\OC\SystemTag\ManagerFactory``
*/
@@ -999,11 +1000,6 @@ $CONFIG = array(
),
/**
- * Allow the configuration of system wide trusted certificates
- */
-'enable_certificate_management' => false,
-
-/**
* Memory caching backend configuration
*
* Available cache backends:
@@ -1067,8 +1063,16 @@ $CONFIG = array(
*
* Available failover modes:
* - \RedisCluster::FAILOVER_NONE - only send commands to master nodes (default)
- * - \RedisCluster::FAILOVER_ERROR - failover to slaves for read commands if master is unavailable
+ * - \RedisCluster::FAILOVER_ERROR - failover to slaves for read commands if master is unavailable (recommended)
* - \RedisCluster::FAILOVER_DISTRIBUTE - randomly distribute read commands across master and slaves
+ *
+ * WARNING: FAILOVER_DISTRIBUTE is a not recommended setting and we strongly
+ * suggest to not use it if you use Redis for file locking. Due to the way Redis
+ * is synchronised it could happen, that the read for an existing lock is
+ * scheduled to a slave that is not fully synchronised with the connected master
+ * which then causes a FileLocked exception.
+ *
+ * See https://redis.io/topics/cluster-spec for details about the Redis cluster
*/
'redis.cluster' => [
'seeds' => [ // provide some/all of the cluster servers to bootstrap discovery, port required
@@ -1077,7 +1081,7 @@ $CONFIG = array(
],
'timeout' => 0.0,
'read_timeout' => 0.0,
- 'failover_mode' => \RedisCluster::FAILOVER_DISTRIBUTE
+ 'failover_mode' => \RedisCluster::FAILOVER_ERROR
],
@@ -1161,7 +1165,7 @@ $CONFIG = array(
'objectstore' => [
'class' => 'OC\\Files\\ObjectStore\\Swift',
'arguments' => [
- // trystack will user your facebook id as the user name
+ // trystack will use your facebook id as the user name
'username' => 'facebook100000123456789',
// in the trystack dashboard go to user -> settings -> API Password to
// generate a password
@@ -1195,7 +1199,7 @@ $CONFIG = array(
/**
* Replaces the default Share Provider Factory. This can be utilized if
- * own or 3rdParty Share Providers be used that – for instance – uses the
+ * own or 3rdParty Share Providers are used that – for instance – use the
* filesystem instead of the database to keep the share information.
*
* Defaults to ``\OC\Share20\ProviderFactory``
@@ -1452,7 +1456,7 @@ $CONFIG = array(
'filelocking.enabled' => true,
/**
- * Set the time-to-live for locks in secconds.
+ * Set the lock's time-to-live in seconds.
*
* Any lock older than this will be automatically cleaned up.
*
diff --git a/core/Application.php b/core/Application.php
index 6fa301e5906..5fafb0441f0 100644
--- a/core/Application.php
+++ b/core/Application.php
@@ -30,12 +30,7 @@
namespace OC\Core;
-use OC\Core\Controller\JsController;
-use OC\Security\IdentityProof\Manager;
use OCP\AppFramework\App;
-use OC\Core\Controller\CssController;
-use OCP\AppFramework\Utility\ITimeFactory;
-use OCP\IRequest;
use OCP\Util;
/**
@@ -53,27 +48,5 @@ class Application extends App {
$container->registerService('defaultMailAddress', function () {
return Util::getDefaultEmailAddress('lostpassword-noreply');
});
- $container->registerService(Manager::class, function () {
- return new Manager(
- \OC::$server->getAppDataDir('identityproof'),
- \OC::$server->getCrypto()
- );
- });
- $container->registerService(CssController::class, function () use ($container) {
- return new CssController(
- $container->query('appName'),
- $container->query(IRequest::class),
- \OC::$server->getAppDataDir('css'),
- $container->query(ITimeFactory::class)
- );
- });
- $container->registerService(JsController::class, function () use ($container) {
- return new JsController(
- $container->query('AppName'),
- $container->query(IRequest::class),
- $container->getServer()->getAppDataDir('js'),
- $container->query(ITimeFactory::class)
- );
- });
}
}
diff --git a/core/Command/App/CheckCode.php b/core/Command/App/CheckCode.php
index aa618b26cec..46b9b748ada 100644
--- a/core/Command/App/CheckCode.php
+++ b/core/Command/App/CheckCode.php
@@ -26,8 +26,10 @@
namespace OC\Core\Command\App;
use OC\App\CodeChecker\CodeChecker;
+use OC\App\CodeChecker\DatabaseSchemaChecker;
use OC\App\CodeChecker\EmptyCheck;
use OC\App\CodeChecker\InfoChecker;
+use OC\App\CodeChecker\LanguageParseChecker;
use OC\App\InfoParser;
use Stecman\Component\Symfony\Console\BashCompletion\Completion\CompletionAwareInterface;
use Stecman\Component\Symfony\Console\BashCompletion\CompletionContext;
@@ -70,6 +72,12 @@ class CheckCode extends Command implements CompletionAwareInterface {
[ 'private', 'deprecation', 'strong-comparison' ]
)
->addOption(
+ '--skip-checkers',
+ null,
+ InputOption::VALUE_NONE,
+ 'skips the the code checkers to only check info.xml, language and database schema'
+ )
+ ->addOption(
'--skip-validate-info',
null,
InputOption::VALUE_NONE,
@@ -117,7 +125,10 @@ class CheckCode extends Command implements CompletionAwareInterface {
$output->writeln(" <error>line $line: {$p['disallowedToken']} - {$p['reason']}</error>");
}
});
- $errors = $codeChecker->analyse($appId);
+ $errors = [];
+ if(!$input->getOption('skip-checkers')) {
+ $errors = $codeChecker->analyse($appId);
+ }
if(!$input->getOption('skip-validate-info')) {
$infoChecker = new InfoChecker($this->infoParser);
@@ -171,6 +182,27 @@ class CheckCode extends Command implements CompletionAwareInterface {
$infoErrors = $infoChecker->analyse($appId);
$errors = array_merge($errors, $infoErrors);
+
+ $languageParser = new LanguageParseChecker();
+ $languageErrors = $languageParser->analyse($appId);
+
+ foreach ($languageErrors as $languageError) {
+ $output->writeln("<error>$languageError</error>");
+ }
+
+ $errors = array_merge($errors, $languageErrors);
+
+ $databaseSchema = new DatabaseSchemaChecker();
+ $schemaErrors = $databaseSchema->analyse($appId);
+
+ foreach ($schemaErrors['errors'] as $schemaError) {
+ $output->writeln("<error>$schemaError</error>");
+ }
+ foreach ($schemaErrors['warnings'] as $schemaWarning) {
+ $output->writeln("<comment>$schemaWarning</comment>");
+ }
+
+ $errors = array_merge($errors, $schemaErrors['errors']);
}
$this->analyseUpdateFile($appId, $output);
diff --git a/core/Command/Upgrade.php b/core/Command/Upgrade.php
index 2e518f52e21..abc37527d2a 100644
--- a/core/Command/Upgrade.php
+++ b/core/Command/Upgrade.php
@@ -220,8 +220,14 @@ class Upgrade extends Command {
$updater->listen('\OC\Updater', 'thirdPartyAppDisabled', function ($app) use ($output) {
$output->writeln('<comment>Disabled 3rd-party app: ' . $app . '</comment>');
});
+ $updater->listen('\OC\Updater', 'checkAppStoreAppBefore', function ($app) use($output) {
+ $output->writeln('<info>Checking for update of app ' . $app . ' in appstore</info>');
+ });
$updater->listen('\OC\Updater', 'upgradeAppStoreApp', function ($app) use($output) {
- $output->writeln('<info>Update 3rd-party app: ' . $app . '</info>');
+ $output->writeln('<info>Update app ' . $app . ' from appstore</info>');
+ });
+ $updater->listen('\OC\Updater', 'checkAppStoreApp', function ($app) use($output) {
+ $output->writeln('<info>Checked for update of app "' . $app . '" in appstore </info>');
});
$updater->listen('\OC\Updater', 'appUpgradeCheckBefore', function () use ($output) {
$output->writeln('<info>Checking updates of apps</info>');
diff --git a/core/Controller/ClientFlowLoginController.php b/core/Controller/ClientFlowLoginController.php
index 8c2c121d5b2..bec81a89d53 100644
--- a/core/Controller/ClientFlowLoginController.php
+++ b/core/Controller/ClientFlowLoginController.php
@@ -25,6 +25,9 @@ use OC\Authentication\Exceptions\InvalidTokenException;
use OC\Authentication\Exceptions\PasswordlessTokenException;
use OC\Authentication\Token\IProvider;
use OC\Authentication\Token\IToken;
+use OCA\OAuth2\Db\AccessToken;
+use OCA\OAuth2\Db\AccessTokenMapper;
+use OCA\OAuth2\Db\ClientMapper;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\Response;
@@ -35,6 +38,7 @@ use OCP\IRequest;
use OCP\ISession;
use OCP\IURLGenerator;
use OCP\IUserSession;
+use OCP\Security\ICrypto;
use OCP\Security\ISecureRandom;
use OCP\Session\Exceptions\SessionNotAvailableException;
@@ -53,6 +57,12 @@ class ClientFlowLoginController extends Controller {
private $random;
/** @var IURLGenerator */
private $urlGenerator;
+ /** @var ClientMapper */
+ private $clientMapper;
+ /** @var AccessTokenMapper */
+ private $accessTokenMapper;
+ /** @var ICrypto */
+ private $crypto;
const stateName = 'client.flow.state.token';
@@ -66,6 +76,9 @@ class ClientFlowLoginController extends Controller {
* @param IProvider $tokenProvider
* @param ISecureRandom $random
* @param IURLGenerator $urlGenerator
+ * @param ClientMapper $clientMapper
+ * @param AccessTokenMapper $accessTokenMapper
+ * @param ICrypto $crypto
*/
public function __construct($appName,
IRequest $request,
@@ -75,7 +88,10 @@ class ClientFlowLoginController extends Controller {
ISession $session,
IProvider $tokenProvider,
ISecureRandom $random,
- IURLGenerator $urlGenerator) {
+ IURLGenerator $urlGenerator,
+ ClientMapper $clientMapper,
+ AccessTokenMapper $accessTokenMapper,
+ ICrypto $crypto) {
parent::__construct($appName, $request);
$this->userSession = $userSession;
$this->l10n = $l10n;
@@ -84,13 +100,17 @@ class ClientFlowLoginController extends Controller {
$this->tokenProvider = $tokenProvider;
$this->random = $random;
$this->urlGenerator = $urlGenerator;
+ $this->clientMapper = $clientMapper;
+ $this->accessTokenMapper = $accessTokenMapper;
+ $this->crypto = $crypto;
}
/**
* @return string
*/
private function getClientName() {
- return $this->request->getHeader('USER_AGENT') !== null ? $this->request->getHeader('USER_AGENT') : 'unknown';
+ $userAgent = $this->request->getHeader('USER_AGENT');
+ return $userAgent !== null ? $userAgent : 'unknown';
}
/**
@@ -126,15 +146,32 @@ class ClientFlowLoginController extends Controller {
* @NoCSRFRequired
* @UseSession
*
+ * @param string $clientIdentifier
+ *
* @return TemplateResponse
*/
- public function showAuthPickerPage() {
- if($this->userSession->isLoggedIn()) {
+ public function showAuthPickerPage($clientIdentifier = '') {
+ $clientName = $this->getClientName();
+ $client = null;
+ if($clientIdentifier !== '') {
+ $client = $this->clientMapper->getByIdentifier($clientIdentifier);
+ $clientName = $client->getName();
+ }
+
+ // No valid clientIdentifier given and no valid API Request (APIRequest header not set)
+ $clientRequest = $this->request->getHeader('OCS-APIREQUEST');
+ if ($clientRequest !== 'true' && $client === null) {
return new TemplateResponse(
$this->appName,
- '403',
+ 'error',
[
- 'file' => $this->l10n->t('Auth flow can only be started unauthenticated.'),
+ 'errors' =>
+ [
+ [
+ 'error' => 'Access Forbidden',
+ 'hint' => 'Invalid request',
+ ],
+ ],
],
'guest'
);
@@ -150,7 +187,8 @@ class ClientFlowLoginController extends Controller {
$this->appName,
'loginflow/authpicker',
[
- 'client' => $this->getClientName(),
+ 'client' => $clientName,
+ 'clientIdentifier' => $clientIdentifier,
'instanceName' => $this->defaults->getName(),
'urlGenerator' => $this->urlGenerator,
'stateToken' => $stateToken,
@@ -166,9 +204,11 @@ class ClientFlowLoginController extends Controller {
* @UseSession
*
* @param string $stateToken
+ * @param string $clientIdentifier
* @return TemplateResponse
*/
- public function redirectPage($stateToken = '') {
+ public function redirectPage($stateToken = '',
+ $clientIdentifier = '') {
if(!$this->isValidToken($stateToken)) {
return $this->stateTokenForbiddenResponse();
}
@@ -179,6 +219,8 @@ class ClientFlowLoginController extends Controller {
[
'urlGenerator' => $this->urlGenerator,
'stateToken' => $stateToken,
+ 'clientIdentifier' => $clientIdentifier,
+ 'oauthState' => $this->session->get('oauth.state'),
],
'empty'
);
@@ -189,9 +231,11 @@ class ClientFlowLoginController extends Controller {
* @UseSession
*
* @param string $stateToken
+ * @param string $clientIdentifier
* @return Http\RedirectResponse|Response
*/
- public function generateAppPassword($stateToken) {
+ public function generateAppPassword($stateToken,
+ $clientIdentifier = '') {
if(!$this->isValidToken($stateToken)) {
$this->session->remove(self::stateName);
return $this->stateTokenForbiddenResponse();
@@ -221,18 +265,45 @@ class ClientFlowLoginController extends Controller {
return $response;
}
- $token = $this->random->generate(72);
- $this->tokenProvider->generateToken(
+ $clientName = $this->getClientName();
+ $client = false;
+ if($clientIdentifier !== '') {
+ $client = $this->clientMapper->getByIdentifier($clientIdentifier);
+ $clientName = $client->getName();
+ }
+
+ $token = $this->random->generate(72, ISecureRandom::CHAR_UPPER.ISecureRandom::CHAR_LOWER.ISecureRandom::CHAR_DIGITS);
+ $uid = $this->userSession->getUser()->getUID();
+ $generatedToken = $this->tokenProvider->generateToken(
$token,
- $this->userSession->getUser()->getUID(),
+ $uid,
$loginName,
$password,
- $this->getClientName(),
+ $clientName,
IToken::PERMANENT_TOKEN,
IToken::DO_NOT_REMEMBER
);
- return new Http\RedirectResponse('nc://login/server:' . $this->request->getServerHost() . '&user:' . urlencode($loginName) . '&password:' . urlencode($token));
- }
+ if($client) {
+ $code = $this->random->generate(128);
+ $accessToken = new AccessToken();
+ $accessToken->setClientId($client->getId());
+ $accessToken->setEncryptedToken($this->crypto->encrypt($token, $code));
+ $accessToken->setHashedCode(hash('sha512', $code));
+ $accessToken->setTokenId($generatedToken->getId());
+ $this->accessTokenMapper->insert($accessToken);
+ $redirectUri = sprintf(
+ '%s?state=%s&code=%s',
+ $client->getRedirectUri(),
+ urlencode($this->session->get('oauth.state')),
+ urlencode($code)
+ );
+ $this->session->remove('oauth.state');
+ } else {
+ $redirectUri = 'nc://login/server:' . $this->request->getServerHost() . '&user:' . urlencode($loginName) . '&password:' . urlencode($token);
+ }
+
+ return new Http\RedirectResponse($redirectUri);
+ }
}
diff --git a/core/Controller/CssController.php b/core/Controller/CssController.php
index 57197e9999e..3cf477290fe 100644
--- a/core/Controller/CssController.php
+++ b/core/Controller/CssController.php
@@ -21,6 +21,7 @@
namespace OC\Core\Controller;
+use OC\Files\AppData\Factory;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\NotFoundResponse;
@@ -43,13 +44,13 @@ class CssController extends Controller {
/**
* @param string $appName
* @param IRequest $request
- * @param IAppData $appData
+ * @param Factory $appDataFactory
* @param ITimeFactory $timeFactory
*/
- public function __construct($appName, IRequest $request, IAppData $appData, ITimeFactory $timeFactory) {
+ public function __construct($appName, IRequest $request, Factory $appDataFactory, ITimeFactory $timeFactory) {
parent::__construct($appName, $request);
- $this->appData = $appData;
+ $this->appData = $appDataFactory->get('css');
$this->timeFactory = $timeFactory;
}
diff --git a/core/Controller/JsController.php b/core/Controller/JsController.php
index c7c9dea9101..1a025edbcad 100644
--- a/core/Controller/JsController.php
+++ b/core/Controller/JsController.php
@@ -22,6 +22,7 @@
*/
namespace OC\Core\Controller;
+use OC\Files\AppData\Factory;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\NotFoundResponse;
@@ -44,13 +45,13 @@ class JsController extends Controller {
/**
* @param string $appName
* @param IRequest $request
- * @param IAppData $appData
+ * @param Factory $appDataFactory
* @param ITimeFactory $timeFactory
*/
- public function __construct($appName, IRequest $request, IAppData $appData, ITimeFactory $timeFactory) {
+ public function __construct($appName, IRequest $request, Factory $appDataFactory, ITimeFactory $timeFactory) {
parent::__construct($appName, $request);
- $this->appData = $appData;
+ $this->appData = $appDataFactory->get('js');
$this->timeFactory = $timeFactory;
}
diff --git a/core/Controller/LoginController.php b/core/Controller/LoginController.php
index 691d74cdc60..93b695dd999 100644
--- a/core/Controller/LoginController.php
+++ b/core/Controller/LoginController.php
@@ -159,6 +159,8 @@ class LoginController extends Controller {
$parameters['canResetPassword'] = $userObj->canChangePassword();
}
}
+ } elseif ($parameters['resetPasswordLink'] === 'disabled') {
+ $parameters['canResetPassword'] = false;
}
$parameters['alt_login'] = OC_App::getAlternativeLogIns();
diff --git a/core/Controller/LostController.php b/core/Controller/LostController.php
index 3f9ef172365..0d5988a2495 100644
--- a/core/Controller/LostController.php
+++ b/core/Controller/LostController.php
@@ -131,6 +131,14 @@ class LostController extends Controller {
* @return TemplateResponse
*/
public function resetform($token, $userId) {
+ if ($this->config->getSystemValue('lost_password_link', '') !== '') {
+ return new TemplateResponse('core', 'error', [
+ 'errors' => [['error' => $this->l10n->t('Password reset is disabled')]]
+ ],
+ 'guest'
+ );
+ }
+
try {
$this->checkPasswordResetToken($token, $userId);
} catch (\Exception $e) {
@@ -211,6 +219,10 @@ class LostController extends Controller {
* @return JSONResponse
*/
public function email($user){
+ if ($this->config->getSystemValue('lost_password_link', '') !== '') {
+ return new JSONResponse($this->error($this->l10n->t('Password reset is disabled')));
+ }
+
// FIXME: use HTTP error codes
try {
$this->sendEmail($user);
@@ -234,6 +246,10 @@ class LostController extends Controller {
* @return array
*/
public function setPassword($token, $userId, $password, $proceed) {
+ if ($this->config->getSystemValue('lost_password_link', '') !== '') {
+ return $this->error($this->l10n->t('Password reset is disabled'));
+ }
+
if ($this->encryptionManager->isEnabled() && !$proceed) {
return $this->error('', array('encryption' => true));
}
diff --git a/core/Middleware/TwoFactorMiddleware.php b/core/Middleware/TwoFactorMiddleware.php
index c4c3b724eb5..e35c53d4049 100644
--- a/core/Middleware/TwoFactorMiddleware.php
+++ b/core/Middleware/TwoFactorMiddleware.php
@@ -124,9 +124,11 @@ class TwoFactorMiddleware extends Middleware {
public function afterException($controller, $methodName, Exception $exception) {
if ($exception instanceof TwoFactorAuthRequiredException) {
- return new RedirectResponse($this->urlGenerator->linkToRoute('core.TwoFactorChallenge.selectChallenge', [
- 'redirect_url' => urlencode($this->request->server['REQUEST_URI']),
- ]));
+ $params = [];
+ if (isset($this->request->server['REQUEST_URI'])) {
+ $params['redirect_url'] = $this->request->server['REQUEST_URI'];
+ }
+ return new RedirectResponse($this->urlGenerator->linkToRoute('core.TwoFactorChallenge.selectChallenge', $params));
}
if ($exception instanceof UserAlreadyLoggedInException) {
return new RedirectResponse($this->urlGenerator->linkToRoute('files.view.index'));
diff --git a/core/ajax/update.php b/core/ajax/update.php
index 37abdc5dc3b..d23e3b0d56d 100644
--- a/core/ajax/update.php
+++ b/core/ajax/update.php
@@ -160,6 +160,15 @@ if (OC::checkUpgrade(false)) {
$updater->listen('\OC\Updater', 'appUpgradeCheckBefore', function () use ($eventSource, $l) {
$eventSource->send('success', (string)$l->t('Checking updates of apps'));
});
+ $updater->listen('\OC\Updater', 'checkAppStoreAppBefore', function ($app) use ($eventSource, $l) {
+ $eventSource->send('success', (string)$l->t('Checking for update of app "%s" in appstore', [$app]));
+ });
+ $updater->listen('\OC\Updater', 'upgradeAppStoreApp', function ($app) use ($eventSource, $l) {
+ $eventSource->send('success', (string)$l->t('Update app "%s" from appstore', [$app]));
+ });
+ $updater->listen('\OC\Updater', 'checkAppStoreApp', function ($app) use ($eventSource, $l) {
+ $eventSource->send('success', (string)$l->t('Checked for update of app "%s" in appstore', [$app]));
+ });
$updater->listen('\OC\Updater', 'appSimulateUpdate', function ($app) use ($eventSource, $l) {
$eventSource->send('success', (string)$l->t('Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)', [$app]));
});
diff --git a/core/css/apps.scss b/core/css/apps.scss
index f885c1f2792..633d889f180 100644
--- a/core/css/apps.scss
+++ b/core/css/apps.scss
@@ -601,11 +601,7 @@ kbd {
margin: 5px;
margin-top: -5px;
right: 0;
- -webkit-filter: drop-shadow(0 0 5px $color-box-shadow);
- -moz-filter: drop-shadow(0 0 5px $color-box-shadow);
- -ms-filter: drop-shadow(0 0 5px $color-box-shadow);
- -o-filter: drop-shadow(0 0 5px $color-box-shadow);
- filter: drop-shadow(0 0 5px $color-box-shadow);
+ box-shadow: 0 1px 10px $color-box-shadow;
display: none;
&:after {
diff --git a/core/css/guest.css b/core/css/guest.css
index 689eb45d65f..d55d8785b43 100644
--- a/core/css/guest.css
+++ b/core/css/guest.css
@@ -178,6 +178,17 @@ input.updateButton,
input.update-continue {
padding: 10px 20px; /* larger log in and installation buttons */
}
+.updateAnyways a.updateAnywaysButton {
+ font-size: 14px;
+ padding: 10px 20px;
+ color: #666 !important;
+ display: inline-block;
+ border-radius: 3px;
+ margin: 15px 5px;
+}
+.updateAnyways a.updateAnywaysButton:hover {
+ color: #222 !important;
+}
input.primary,
button.primary {
border: 1px solid #0082c9;
@@ -336,8 +347,18 @@ form .warning input[type='checkbox']+label {
}
.two-factor-link {
display: inline-block;
- padding: 12px;
color: rgba(255, 255, 255, 0.75);
+ width: 100%;
+}
+.two-factor-link .button {
+ padding: 10px;
+ border-radius: 3px;
+ color: #555 !important;
+ display: inline-block;
+ margin: 5px 0;
+ text-align: center;
+ width: 100%;
+ box-sizing: border-box
}
/* Additional login options */
@@ -442,6 +463,12 @@ form #selectDbType label.ui-state-active {
border-radius: 3px;
cursor: default;
}
+.warning {
+ margin-top: 15px;
+}
+.warning.updateAnyways {
+ text-align: center;
+}
.warning legend,
.warning a,
.error a {
@@ -632,6 +659,10 @@ footer,
height: 70px;
}
+footer .info a {
+ font-weight: 600;
+}
+
.hidden {
display: none;
}
diff --git a/core/css/header.scss b/core/css/header.scss
index 358a08c4eef..cd6933d2755 100644
--- a/core/css/header.scss
+++ b/core/css/header.scss
@@ -27,7 +27,7 @@
position: absolute;
top: 45px;
background-color: #fff;
- box-shadow: 0 1px 10px rgba(150, 150, 150, 0.75);
+ box-shadow: 0 1px 10px $color-box-shadow;
border-radius: 0 0 3px 3px;
display: none;
box-sizing: border-box;
@@ -508,11 +508,7 @@ nav {
top: 45px;
transform: translateX(-50%);
padding: 4px 10px;
- -webkit-filter: drop-shadow(0 0 5px rgba(150, 150, 150, .75));
- -moz-filter: drop-shadow(0 0 5px rgba(150, 150, 150, .75));
- -ms-filter: drop-shadow(0 0 5px rgba(150, 150, 150, .75));
- -o-filter: drop-shadow(0 0 5px rgba(150, 150, 150, .75));
- filter: drop-shadow(0 0 5px rgba(150, 150, 150, .75));
+ box-shadow: 0 1px 10px $color-box-shadow;
}
li:hover span {
diff --git a/core/css/login/authpicker.css b/core/css/login/authpicker.css
index 85016ee6a0e..3603a7906e4 100644
--- a/core/css/login/authpicker.css
+++ b/core/css/login/authpicker.css
@@ -1,7 +1,7 @@
.picker-window {
display: block;
padding: 10px;
- margin-bottom: 20px;
+ margin: 20px 0;
background-color: rgba(0,0,0,.3);
color: #fff;
border-radius: 3px;
diff --git a/core/css/styles.scss b/core/css/styles.scss
index 3468cf6900a..a8ddcfd172c 100644
--- a/core/css/styles.scss
+++ b/core/css/styles.scss
@@ -1090,6 +1090,7 @@ span.ui-icon {
.content {
max-height: calc(100% - 50px);
+ height: 100%;
overflow-y: auto;
.footer {
diff --git a/core/js/lostpassword.js b/core/js/lostpassword.js
index 2f96911f162..1923b73a179 100644
--- a/core/js/lostpassword.js
+++ b/core/js/lostpassword.js
@@ -22,7 +22,9 @@ OC.Lostpassword = {
if (!$('#user').val().length){
$('#submit').trigger('click');
} else {
- if (OC.config.lost_password_link) {
+ if (OC.config.lost_password_link === 'disabled') {
+ return;
+ } else if (OC.config.lost_password_link) {
window.location = OC.config.lost_password_link;
} else {
$.post(
diff --git a/core/l10n/bg.js b/core/l10n/bg.js
index 61a4a3581a8..f67b78a6281 100644
--- a/core/l10n/bg.js
+++ b/core/l10n/bg.js
@@ -249,7 +249,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "За да избегнеш таймаутове при по-големи инсталации, можеш да изпълниш следните команди в инсталанционната директория:",
"Detailed logs" : "Подробни логове",
"Update needed" : "Нужно е обновяване",
- "Please use the command line updater because you have a big instance." : "Моля използвайте съветникът за обновяване в команден ред, защото инстанцията ви е голяма.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "За помощ, вижте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документацията</a>.",
"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 е отново на линия.",
@@ -285,6 +284,7 @@ OC.L10N.register(
"The share will expire on %s." : "Споделянето ще изтече на %s.",
"Cheers!" : "Поздрави!",
"Use the following link to reset your password: {link}" : "Използвайте следната връзка, за да възстановите паролата си: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Здравейте,<br><br>само ви уведомяваме, че %s сподели <strong>%s</strong> с вас.\n<br><a href=\"%s\">Разгледай го!</a><br><br>."
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Здравейте,<br><br>само ви уведомяваме, че %s сподели <strong>%s</strong> с вас.\n<br><a href=\"%s\">Разгледай го!</a><br><br>.",
+ "Please use the command line updater because you have a big instance." : "Моля използвайте съветникът за обновяване в команден ред, защото инстанцията ви е голяма."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/bg.json b/core/l10n/bg.json
index 4483911793c..3efb3f99f52 100644
--- a/core/l10n/bg.json
+++ b/core/l10n/bg.json
@@ -247,7 +247,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "За да избегнеш таймаутове при по-големи инсталации, можеш да изпълниш следните команди в инсталанционната директория:",
"Detailed logs" : "Подробни логове",
"Update needed" : "Нужно е обновяване",
- "Please use the command line updater because you have a big instance." : "Моля използвайте съветникът за обновяване в команден ред, защото инстанцията ви е голяма.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "За помощ, вижте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">документацията</a>.",
"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 е отново на линия.",
@@ -283,6 +282,7 @@
"The share will expire on %s." : "Споделянето ще изтече на %s.",
"Cheers!" : "Поздрави!",
"Use the following link to reset your password: {link}" : "Използвайте следната връзка, за да възстановите паролата си: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Здравейте,<br><br>само ви уведомяваме, че %s сподели <strong>%s</strong> с вас.\n<br><a href=\"%s\">Разгледай го!</a><br><br>."
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Здравейте,<br><br>само ви уведомяваме, че %s сподели <strong>%s</strong> с вас.\n<br><a href=\"%s\">Разгледай го!</a><br><br>.",
+ "Please use the command line updater because you have a big instance." : "Моля използвайте съветникът за обновяване в команден ред, защото инстанцията ви е голяма."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/cs.js b/core/l10n/cs.js
index b29e1f0dd00..e26da03dc13 100644
--- a/core/l10n/cs.js
+++ b/core/l10n/cs.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Crop is not square" : "Ořez není čtvercový",
"State token does not match" : "Stavový token neodpovídá",
"Auth flow can only be started unauthenticated." : "Sekvence autentizace může být zahájena pouze jako neautentizovaný.",
+ "Password reset is disabled" : "Reset hesla je vypnut",
"Couldn't reset password because the token is invalid" : "Heslo nebylo změněno kvůli neplatnému tokenu",
"Couldn't reset password because the token is expired" : "Heslo nebylo změněno z důvodu vypršení tokenu",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Nelze odeslat email pro změnu hesla, protože u tohoto uživatelského jména není uvedena emailová adresa. Kontaktujte prosím svého administrátora.",
@@ -40,6 +41,9 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Probíhá ověření, zda je možné aktualizovat schéma databáze (toto může trvat déle v závislosti na velikosti databáze)",
"Checked database schema update" : "Aktualizace schéma databáze byla ověřena",
"Checking updates of apps" : "Kontrola aktualizace aplikací",
+ "Checking for update of app \"%s\" in appstore" : "Hledám aktualizaci aplikace \"%s\" v obchodu s aplikacemi",
+ "Update app \"%s\" from appstore" : "Aktualizuji aplikaci \"%s\" z obchodu s aplikacemi",
+ "Checked for update of app \"%s\" in appstore" : "Zkontrolována aktualizace aplikace \"%s\" v obchodu s aplikacemi",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Probíhá ověření, zda je možné aktualizovat schéma databáze %s (toto může trvat déle v závislosti na velikosti databáze)",
"Checked database schema update for apps" : "Aktualizace schéma databáze aplikací byla ověřena",
"Updated \"%s\" to %s" : "Aktualizováno z \"%s\" na %s",
@@ -139,6 +143,7 @@ OC.L10N.register(
"Email link to person" : "Odeslat osobě odkaz emailem",
"Send" : "Odeslat",
"Allow upload and editing" : "Povolit nahrávání a úpravy",
+ "Read only" : "Pouze pro čtení",
"Secure drop (upload only)" : "Bezpečné doručení (pouze nahrání)",
"Shared with you and the group {group} by {owner}" : "S Vámi a skupinou {group} sdílí {owner}",
"Shared with you by {owner}" : "S Vámi sdílí {owner}",
@@ -297,7 +302,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Abyste zabránili vypršení časového limitu u větších instalací, můžete namísto toho spustit následující příkaz v hlavním adresáři:",
"Detailed logs" : "Podrobné logy",
"Update needed" : "Potřeba aktualizace",
- "Please use the command line updater because you have a big instance." : "Prosím použijte aktualizační příkazový řádek, protože máte velkou instanci.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pro pomoc, shlédněte <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentaci</a>.",
"This %s instance is currently in maintenance mode, which may take a while." : "Tato instalace %s je právě ve stavu údržby a to může chvíli trvat.",
"This page will refresh itself when the %s instance is available again." : "Tato stránka se automaticky načte poté, co bude opět dostupná instance %s.",
@@ -333,6 +337,7 @@ OC.L10N.register(
"The share will expire on %s." : "Sdílení vyprší %s.",
"Cheers!" : "Ať slouží!",
"Use the following link to reset your password: {link}" : "Heslo obnovíte použitím následujícího odkazu: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Ahoj,<br><br>jen ti dávám vědět, že s tebou %s sdílí <strong>%s</strong>.<br><a href=\"%s\">Zkontroluj to!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Ahoj,<br><br>jen ti dávám vědět, že s tebou %s sdílí <strong>%s</strong>.<br><a href=\"%s\">Zkontroluj to!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Prosím použijte aktualizační příkazový řádek, protože máte velkou instanci."
},
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/core/l10n/cs.json b/core/l10n/cs.json
index a23b093e1a5..aaed68eda62 100644
--- a/core/l10n/cs.json
+++ b/core/l10n/cs.json
@@ -14,6 +14,7 @@
"Crop is not square" : "Ořez není čtvercový",
"State token does not match" : "Stavový token neodpovídá",
"Auth flow can only be started unauthenticated." : "Sekvence autentizace může být zahájena pouze jako neautentizovaný.",
+ "Password reset is disabled" : "Reset hesla je vypnut",
"Couldn't reset password because the token is invalid" : "Heslo nebylo změněno kvůli neplatnému tokenu",
"Couldn't reset password because the token is expired" : "Heslo nebylo změněno z důvodu vypršení tokenu",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Nelze odeslat email pro změnu hesla, protože u tohoto uživatelského jména není uvedena emailová adresa. Kontaktujte prosím svého administrátora.",
@@ -38,6 +39,9 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Probíhá ověření, zda je možné aktualizovat schéma databáze (toto může trvat déle v závislosti na velikosti databáze)",
"Checked database schema update" : "Aktualizace schéma databáze byla ověřena",
"Checking updates of apps" : "Kontrola aktualizace aplikací",
+ "Checking for update of app \"%s\" in appstore" : "Hledám aktualizaci aplikace \"%s\" v obchodu s aplikacemi",
+ "Update app \"%s\" from appstore" : "Aktualizuji aplikaci \"%s\" z obchodu s aplikacemi",
+ "Checked for update of app \"%s\" in appstore" : "Zkontrolována aktualizace aplikace \"%s\" v obchodu s aplikacemi",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Probíhá ověření, zda je možné aktualizovat schéma databáze %s (toto může trvat déle v závislosti na velikosti databáze)",
"Checked database schema update for apps" : "Aktualizace schéma databáze aplikací byla ověřena",
"Updated \"%s\" to %s" : "Aktualizováno z \"%s\" na %s",
@@ -137,6 +141,7 @@
"Email link to person" : "Odeslat osobě odkaz emailem",
"Send" : "Odeslat",
"Allow upload and editing" : "Povolit nahrávání a úpravy",
+ "Read only" : "Pouze pro čtení",
"Secure drop (upload only)" : "Bezpečné doručení (pouze nahrání)",
"Shared with you and the group {group} by {owner}" : "S Vámi a skupinou {group} sdílí {owner}",
"Shared with you by {owner}" : "S Vámi sdílí {owner}",
@@ -295,7 +300,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Abyste zabránili vypršení časového limitu u větších instalací, můžete namísto toho spustit následující příkaz v hlavním adresáři:",
"Detailed logs" : "Podrobné logy",
"Update needed" : "Potřeba aktualizace",
- "Please use the command line updater because you have a big instance." : "Prosím použijte aktualizační příkazový řádek, protože máte velkou instanci.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pro pomoc, shlédněte <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentaci</a>.",
"This %s instance is currently in maintenance mode, which may take a while." : "Tato instalace %s je právě ve stavu údržby a to může chvíli trvat.",
"This page will refresh itself when the %s instance is available again." : "Tato stránka se automaticky načte poté, co bude opět dostupná instance %s.",
@@ -331,6 +335,7 @@
"The share will expire on %s." : "Sdílení vyprší %s.",
"Cheers!" : "Ať slouží!",
"Use the following link to reset your password: {link}" : "Heslo obnovíte použitím následujícího odkazu: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Ahoj,<br><br>jen ti dávám vědět, že s tebou %s sdílí <strong>%s</strong>.<br><a href=\"%s\">Zkontroluj to!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Ahoj,<br><br>jen ti dávám vědět, že s tebou %s sdílí <strong>%s</strong>.<br><a href=\"%s\">Zkontroluj to!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Prosím použijte aktualizační příkazový řádek, protože máte velkou instanci."
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
} \ No newline at end of file
diff --git a/core/l10n/de.js b/core/l10n/de.js
index 89fae89bb8b..3183c9814d0 100644
--- a/core/l10n/de.js
+++ b/core/l10n/de.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Crop is not square" : "Zuschnitt ist nicht quadratisch",
"State token does not match" : "Status-Token stimmen nicht überein",
"Auth flow can only be started unauthenticated." : "Der Authentifizierungs-Ablauf kann nur als \"nicht angemeldet\" gestartet werden.",
+ "Password reset is disabled" : "Passwort-Reset ist deaktiviert",
"Couldn't reset password because the token is invalid" : "Das Passwort konnte aufgrund eines ungültigen Tokens nicht zurückgesetzt werden",
"Couldn't reset password because the token is expired" : "Das Passwort konnte nicht zurückgesetzt werden, da der Token abgelaufen ist",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Es konnte keine E-Mail verschickt werden um das Passwort zurückzusetzten, da keine E-Mail im Benutzerkonto hinterlegt ist. Bitte kontaktiere deinen Administrator.",
@@ -40,6 +41,9 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Prüfen, ob das Datenbankschema aktualisiert werden kann (dies kann je nach Datenbankgröße sehr lange dauern)",
"Checked database schema update" : "Datenbankschema-Aktualisierung überprüft",
"Checking updates of apps" : "Es wird nach Aktualisierungen für die Apps gesucht",
+ "Checking for update of app \"%s\" in appstore" : "Suche nach einer Aktualisierung für die App \"%s\" im App-Store",
+ "Update app \"%s\" from appstore" : "Aktualisiere die App \"%s\" aus dem App-Store",
+ "Checked for update of app \"%s\" in appstore" : "App-Store auf Aktualalisierung für die App \"%s\" geprüft",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Prüfen, ob das Datenbankschema für %s aktualisiert werden kann (dies kann je nach Datenbankgröße sehr lange dauern)",
"Checked database schema update for apps" : "Datenbankschema-Aktualisierung für Apps überprüft",
"Updated \"%s\" to %s" : "„%s“ zu %s aktualisiert",
@@ -298,8 +302,10 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Zur Vermeidung von Zeitüberschreitungen bei größeren Installationen kannst Du stattdessen den folgenden Befehl in deinem Installationsverzeichnis ausführen:",
"Detailed logs" : "Detaillierte Protokollmeldungen",
"Update needed" : "Update wird benötigt",
- "Please use the command line updater because you have a big instance." : "Da Du eine große Instanz nutzt, verwende bitte das Aktualisierungsprogramm über die Kommandozeile.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Bitte verwende den Komandozeilen-Updater, da Du eine große Installation mit mehr als 50 Nutzern betreibst.",
"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>.",
+ "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 Sciherung 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",
"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.",
"Problem loading page, reloading in 5 seconds" : "Problem beim Laden der Seite, Seite wird in 5 Sekunden nochmals geladen",
@@ -334,6 +340,7 @@ OC.L10N.register(
"The share will expire on %s." : "Die Freigabe wird am %s ablaufen.",
"Cheers!" : "Noch einen schönen Tag!",
"Use the following link to reset your password: {link}" : "Verwende den folgenden Link, um dein Passwort zurückzusetzen: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hallo,<br><br>hier nur kurz die Mitteilung, dass %s <strong>%s</strong> mit dir geteilt hat.<br><a href=\"%s\">Sieh es Dir an!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hallo,<br><br>hier nur kurz die Mitteilung, dass %s <strong>%s</strong> mit dir geteilt hat.<br><a href=\"%s\">Sieh es Dir an!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Da Du eine große Instanz nutzt, verwende bitte das Aktualisierungsprogramm über die Kommandozeile."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/de.json b/core/l10n/de.json
index 2b2a62ff7bc..30c235e8e4c 100644
--- a/core/l10n/de.json
+++ b/core/l10n/de.json
@@ -14,6 +14,7 @@
"Crop is not square" : "Zuschnitt ist nicht quadratisch",
"State token does not match" : "Status-Token stimmen nicht überein",
"Auth flow can only be started unauthenticated." : "Der Authentifizierungs-Ablauf kann nur als \"nicht angemeldet\" gestartet werden.",
+ "Password reset is disabled" : "Passwort-Reset ist deaktiviert",
"Couldn't reset password because the token is invalid" : "Das Passwort konnte aufgrund eines ungültigen Tokens nicht zurückgesetzt werden",
"Couldn't reset password because the token is expired" : "Das Passwort konnte nicht zurückgesetzt werden, da der Token abgelaufen ist",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Es konnte keine E-Mail verschickt werden um das Passwort zurückzusetzten, da keine E-Mail im Benutzerkonto hinterlegt ist. Bitte kontaktiere deinen Administrator.",
@@ -38,6 +39,9 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Prüfen, ob das Datenbankschema aktualisiert werden kann (dies kann je nach Datenbankgröße sehr lange dauern)",
"Checked database schema update" : "Datenbankschema-Aktualisierung überprüft",
"Checking updates of apps" : "Es wird nach Aktualisierungen für die Apps gesucht",
+ "Checking for update of app \"%s\" in appstore" : "Suche nach einer Aktualisierung für die App \"%s\" im App-Store",
+ "Update app \"%s\" from appstore" : "Aktualisiere die App \"%s\" aus dem App-Store",
+ "Checked for update of app \"%s\" in appstore" : "App-Store auf Aktualalisierung für die App \"%s\" geprüft",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Prüfen, ob das Datenbankschema für %s aktualisiert werden kann (dies kann je nach Datenbankgröße sehr lange dauern)",
"Checked database schema update for apps" : "Datenbankschema-Aktualisierung für Apps überprüft",
"Updated \"%s\" to %s" : "„%s“ zu %s aktualisiert",
@@ -296,8 +300,10 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Zur Vermeidung von Zeitüberschreitungen bei größeren Installationen kannst Du stattdessen den folgenden Befehl in deinem Installationsverzeichnis ausführen:",
"Detailed logs" : "Detaillierte Protokollmeldungen",
"Update needed" : "Update wird benötigt",
- "Please use the command line updater because you have a big instance." : "Da Du eine große Instanz nutzt, verwende bitte das Aktualisierungsprogramm über die Kommandozeile.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Bitte verwende den Komandozeilen-Updater, da Du eine große Installation mit mehr als 50 Nutzern betreibst.",
"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>.",
+ "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 Sciherung 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",
"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.",
"Problem loading page, reloading in 5 seconds" : "Problem beim Laden der Seite, Seite wird in 5 Sekunden nochmals geladen",
@@ -332,6 +338,7 @@
"The share will expire on %s." : "Die Freigabe wird am %s ablaufen.",
"Cheers!" : "Noch einen schönen Tag!",
"Use the following link to reset your password: {link}" : "Verwende den folgenden Link, um dein Passwort zurückzusetzen: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hallo,<br><br>hier nur kurz die Mitteilung, dass %s <strong>%s</strong> mit dir geteilt hat.<br><a href=\"%s\">Sieh es Dir an!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hallo,<br><br>hier nur kurz die Mitteilung, dass %s <strong>%s</strong> mit dir geteilt hat.<br><a href=\"%s\">Sieh es Dir an!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Da Du eine große Instanz nutzt, verwende bitte das Aktualisierungsprogramm über die Kommandozeile."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js
index 5a79d96372c..b2365f08ee6 100644
--- a/core/l10n/de_DE.js
+++ b/core/l10n/de_DE.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Crop is not square" : "Zuschnitt ist nicht quadratisch",
"State token does not match" : "Status-Token stimmen nicht überein",
"Auth flow can only be started unauthenticated." : "Der Authentifizierungs-Ablauf kann nur als \"nicht angemeldet\" gestartet werden.",
+ "Password reset is disabled" : "Passwort-Reset ist deaktiviert",
"Couldn't reset password because the token is invalid" : "Das Passwort konnte aufgrund eines ungültigen Tokens nicht zurückgesetzt werden",
"Couldn't reset password because the token is expired" : "Das Passwort konnte nicht zurückgesetzt werden, da der Token abgelaufen ist",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Es konnte keine E-Mail verschickt werden um das Passwort zurückzusetzten, da keine E-Mail im Benutzerkonto hinterlegt ist. Bitte kontaktieren Sie den Administrator.",
@@ -40,6 +41,9 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Prüft, ob das Datenbankschema aktualisiert werden kann (dies kann je nach Datenbankgröße sehr lange dauern)",
"Checked database schema update" : "Datenbankschema-Aktualisierung überprüft",
"Checking updates of apps" : "Es wird nach Updates für die Apps gesucht",
+ "Checking for update of app \"%s\" in appstore" : "Suche nach einer Aktualisierung für die App \"%s\" im App-Store",
+ "Update app \"%s\" from appstore" : "Aktualisiere die App \"%s\" aus dem App-Store",
+ "Checked for update of app \"%s\" in appstore" : "App-Store auf Aktualalisierung für die App \"%s\" geprüft",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Prüft, ob das Datenbankschema für %s aktualisiert werden kann (dies kann je nach Datenbankgröße sehr lange dauern)",
"Checked database schema update for apps" : "Datenbankschema-Aktualisierung für Apps überprüft",
"Updated \"%s\" to %s" : "„%s“ zu %s aktualisiert",
@@ -298,8 +302,10 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Zur Vermeidung von Zeitüberschreitungen bei größeren Installationen können Sie stattdessen den folgenden Befehl in Ihrem Installationsverzeichnis ausführen:",
"Detailed logs" : "Detaillierte Protokollmeldungen",
"Update needed" : "Aktualisierung erforderlich",
- "Please use the command line updater because you have a big instance." : "Da Sie eine große Instanz von Nextcloud besitzen, wird die Benutzung des Aktualisierungsprogrammes über die Kommandozeile empfohlen.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Bitte verwenden Sie den Komandozeilen-Updater, da Sie eine große Installation mit mehr als 50 Nutzern betreiben.",
"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>.",
+ "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 Sciherung 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",
"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.",
"Problem loading page, reloading in 5 seconds" : "Problem beim Laden der Seite, Seite wird in 5 Sekunden nochmals geladen",
@@ -334,6 +340,7 @@ OC.L10N.register(
"The share will expire on %s." : "Die Freigabe wird am %s ablaufen.",
"Cheers!" : "Noch einen schönen Tag!",
"Use the following link to reset your password: {link}" : "Benutzen Sie den folgenden Link, um Ihr Passwort zurückzusetzen: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hallo,<br><br>hier nur kurz die Mitteilung, dass %s <strong>%s</strong> mit Ihnen geteilt hat.<br><a href=\"%s\">Sehen Sie es sich an!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hallo,<br><br>hier nur kurz die Mitteilung, dass %s <strong>%s</strong> mit Ihnen geteilt hat.<br><a href=\"%s\">Sehen Sie es sich an!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Da Sie eine große Instanz von Nextcloud besitzen, wird die Benutzung des Aktualisierungsprogrammes über die Kommandozeile empfohlen."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json
index c298f9004ea..bb3396d9a08 100644
--- a/core/l10n/de_DE.json
+++ b/core/l10n/de_DE.json
@@ -14,6 +14,7 @@
"Crop is not square" : "Zuschnitt ist nicht quadratisch",
"State token does not match" : "Status-Token stimmen nicht überein",
"Auth flow can only be started unauthenticated." : "Der Authentifizierungs-Ablauf kann nur als \"nicht angemeldet\" gestartet werden.",
+ "Password reset is disabled" : "Passwort-Reset ist deaktiviert",
"Couldn't reset password because the token is invalid" : "Das Passwort konnte aufgrund eines ungültigen Tokens nicht zurückgesetzt werden",
"Couldn't reset password because the token is expired" : "Das Passwort konnte nicht zurückgesetzt werden, da der Token abgelaufen ist",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Es konnte keine E-Mail verschickt werden um das Passwort zurückzusetzten, da keine E-Mail im Benutzerkonto hinterlegt ist. Bitte kontaktieren Sie den Administrator.",
@@ -38,6 +39,9 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Prüft, ob das Datenbankschema aktualisiert werden kann (dies kann je nach Datenbankgröße sehr lange dauern)",
"Checked database schema update" : "Datenbankschema-Aktualisierung überprüft",
"Checking updates of apps" : "Es wird nach Updates für die Apps gesucht",
+ "Checking for update of app \"%s\" in appstore" : "Suche nach einer Aktualisierung für die App \"%s\" im App-Store",
+ "Update app \"%s\" from appstore" : "Aktualisiere die App \"%s\" aus dem App-Store",
+ "Checked for update of app \"%s\" in appstore" : "App-Store auf Aktualalisierung für die App \"%s\" geprüft",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Prüft, ob das Datenbankschema für %s aktualisiert werden kann (dies kann je nach Datenbankgröße sehr lange dauern)",
"Checked database schema update for apps" : "Datenbankschema-Aktualisierung für Apps überprüft",
"Updated \"%s\" to %s" : "„%s“ zu %s aktualisiert",
@@ -296,8 +300,10 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Zur Vermeidung von Zeitüberschreitungen bei größeren Installationen können Sie stattdessen den folgenden Befehl in Ihrem Installationsverzeichnis ausführen:",
"Detailed logs" : "Detaillierte Protokollmeldungen",
"Update needed" : "Aktualisierung erforderlich",
- "Please use the command line updater because you have a big instance." : "Da Sie eine große Instanz von Nextcloud besitzen, wird die Benutzung des Aktualisierungsprogrammes über die Kommandozeile empfohlen.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Bitte verwenden Sie den Komandozeilen-Updater, da Sie eine große Installation mit mehr als 50 Nutzern betreiben.",
"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>.",
+ "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 Sciherung 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",
"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.",
"Problem loading page, reloading in 5 seconds" : "Problem beim Laden der Seite, Seite wird in 5 Sekunden nochmals geladen",
@@ -332,6 +338,7 @@
"The share will expire on %s." : "Die Freigabe wird am %s ablaufen.",
"Cheers!" : "Noch einen schönen Tag!",
"Use the following link to reset your password: {link}" : "Benutzen Sie den folgenden Link, um Ihr Passwort zurückzusetzen: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hallo,<br><br>hier nur kurz die Mitteilung, dass %s <strong>%s</strong> mit Ihnen geteilt hat.<br><a href=\"%s\">Sehen Sie es sich an!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hallo,<br><br>hier nur kurz die Mitteilung, dass %s <strong>%s</strong> mit Ihnen geteilt hat.<br><a href=\"%s\">Sehen Sie es sich an!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Da Sie eine große Instanz von Nextcloud besitzen, wird die Benutzung des Aktualisierungsprogrammes über die Kommandozeile empfohlen."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/el.js b/core/l10n/el.js
index d347b706b97..9b4d073f6e1 100644
--- a/core/l10n/el.js
+++ b/core/l10n/el.js
@@ -15,6 +15,7 @@ OC.L10N.register(
"No valid crop data provided" : "Έχουν δοθεί μη έγκυρα δεδομένα περικοπής",
"Crop is not square" : "Η περικοπή δεν εχει τετραγωνικό σχήμα",
"State token does not match" : "Το αναγνωριστικό κατάστασης δεν ταιριάζει",
+ "Password reset is disabled" : "Η επαναφορά συνθηματικού είναι απενεργοποιημένη",
"Couldn't reset password because the token is invalid" : "Αδυναμία επαναφοράς συνθηματικού λόγω μη έγκυρου διακριτικού",
"Couldn't reset password because the token is expired" : "Αδυναμία επαναφοράς συνθηματικού επειδή το διακριτικό έχει λήξει",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Αδυναμία αποστολής ηλεκτρονικού μηνύματος επαναφοράς διότι δεν υπάρχει διεύθυνση ηλεκτρινικής αλληλογραφίας για αυτόν τον χρήστη. Παρακαλώ επικοινωνήστε με το διαχειριστή.",
@@ -39,6 +40,8 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Έλεγχος αν η διάταξη της βάσης δεδομένων μπορεί να ενημερωθεί (αυτό μπορεί να πάρει αρκετή ώρα ανάλογα με το μέγεθος της βάσης δεδομένων)",
"Checked database schema update" : "Έλεγχος ενημέρωσης διάταξης βάσης δεδομένων",
"Checking updates of apps" : "Έλεγχος ενημερώσεων εφαρμογών",
+ "Checking for update of app \"%s\" in appstore" : "Έλεγχος για ενημέρωση της εφαρμογής \"%s\" στο κέτρο εφαρμογών",
+ "Update app \"%s\" from appstore" : "Ενημέρωση εφαρμογής \"%s\" από το κέντρο εφαρμογών",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Έλεγχος αν η διάταξη της βάσης δεδομένων για %s μπορεί να ενημερωθεί (αυτό μπορεί να πάρει αρκετή ώρα ανάλογα με το μέγεθος της βάσης δεδομένων)",
"Checked database schema update for apps" : "Έλεγχος ενημέρωσης διάταξης βάσης δεδομένων για εφαρμογές",
"Updated \"%s\" to %s" : "Ενημερώθηκε \"%s\" σε %s",
@@ -296,7 +299,7 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Για να αποφύγετε τη λήξη χρόνου με μεγαλύτερες εγκαταστάσεις, μπορείτε αντί αυτού να εκτελέσετε την ακόλουθη εντολή στον κατάλογο εγκατάστασης:",
"Detailed logs" : "Λεπτομερές ιστορικό",
"Update needed" : "Απαιτείται ενημέρωση",
- "Please use the command line updater because you have a big instance." : "Παρακαλούμε χρησιμοποιήστε την ενημέρωση μέσω γραμμής εντολών διότι έχετε μεγάλη εγκατάσταση.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Παρακαλούμε χρησιμοποιήστε την ενημέρωση μέσω γραμμής εντολών διότι έχετε μια μεγάλη εγκατάσταση με περισσότερους από 50 χρήστες.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Για βοήθεια, δείτε στην <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">τεκμηρίωση</a>.",
"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 εγκατάσταση είναι διαθέσιμη ξανά.",
@@ -332,6 +335,7 @@ OC.L10N.register(
"The share will expire on %s." : "Ο διαμοιρασμός θα λήξει σε %s.",
"Cheers!" : "Με εκτίμηση!",
"Use the following link to reset your password: {link}" : "Χρησιμοποιήστε τον ακόλουθο σύνδεσμο για να επαναφέρετε το συνθηματικό: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Γεια χαρά,<br><br>απλά σας ενημερώνω πως ο %s μοιράστηκε το<strong>%s</strong> με εσάς.<br><a href=\"%s\">Δείτε το!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Γεια χαρά,<br><br>απλά σας ενημερώνω πως ο %s μοιράστηκε το<strong>%s</strong> με εσάς.<br><a href=\"%s\">Δείτε το!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Παρακαλούμε χρησιμοποιήστε την ενημέρωση μέσω γραμμής εντολών διότι έχετε μεγάλη εγκατάσταση."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/el.json b/core/l10n/el.json
index fbd6a98ab36..d98035a0863 100644
--- a/core/l10n/el.json
+++ b/core/l10n/el.json
@@ -13,6 +13,7 @@
"No valid crop data provided" : "Έχουν δοθεί μη έγκυρα δεδομένα περικοπής",
"Crop is not square" : "Η περικοπή δεν εχει τετραγωνικό σχήμα",
"State token does not match" : "Το αναγνωριστικό κατάστασης δεν ταιριάζει",
+ "Password reset is disabled" : "Η επαναφορά συνθηματικού είναι απενεργοποιημένη",
"Couldn't reset password because the token is invalid" : "Αδυναμία επαναφοράς συνθηματικού λόγω μη έγκυρου διακριτικού",
"Couldn't reset password because the token is expired" : "Αδυναμία επαναφοράς συνθηματικού επειδή το διακριτικό έχει λήξει",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Αδυναμία αποστολής ηλεκτρονικού μηνύματος επαναφοράς διότι δεν υπάρχει διεύθυνση ηλεκτρινικής αλληλογραφίας για αυτόν τον χρήστη. Παρακαλώ επικοινωνήστε με το διαχειριστή.",
@@ -37,6 +38,8 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Έλεγχος αν η διάταξη της βάσης δεδομένων μπορεί να ενημερωθεί (αυτό μπορεί να πάρει αρκετή ώρα ανάλογα με το μέγεθος της βάσης δεδομένων)",
"Checked database schema update" : "Έλεγχος ενημέρωσης διάταξης βάσης δεδομένων",
"Checking updates of apps" : "Έλεγχος ενημερώσεων εφαρμογών",
+ "Checking for update of app \"%s\" in appstore" : "Έλεγχος για ενημέρωση της εφαρμογής \"%s\" στο κέτρο εφαρμογών",
+ "Update app \"%s\" from appstore" : "Ενημέρωση εφαρμογής \"%s\" από το κέντρο εφαρμογών",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Έλεγχος αν η διάταξη της βάσης δεδομένων για %s μπορεί να ενημερωθεί (αυτό μπορεί να πάρει αρκετή ώρα ανάλογα με το μέγεθος της βάσης δεδομένων)",
"Checked database schema update for apps" : "Έλεγχος ενημέρωσης διάταξης βάσης δεδομένων για εφαρμογές",
"Updated \"%s\" to %s" : "Ενημερώθηκε \"%s\" σε %s",
@@ -294,7 +297,7 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Για να αποφύγετε τη λήξη χρόνου με μεγαλύτερες εγκαταστάσεις, μπορείτε αντί αυτού να εκτελέσετε την ακόλουθη εντολή στον κατάλογο εγκατάστασης:",
"Detailed logs" : "Λεπτομερές ιστορικό",
"Update needed" : "Απαιτείται ενημέρωση",
- "Please use the command line updater because you have a big instance." : "Παρακαλούμε χρησιμοποιήστε την ενημέρωση μέσω γραμμής εντολών διότι έχετε μεγάλη εγκατάσταση.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Παρακαλούμε χρησιμοποιήστε την ενημέρωση μέσω γραμμής εντολών διότι έχετε μια μεγάλη εγκατάσταση με περισσότερους από 50 χρήστες.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Για βοήθεια, δείτε στην <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">τεκμηρίωση</a>.",
"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 εγκατάσταση είναι διαθέσιμη ξανά.",
@@ -330,6 +333,7 @@
"The share will expire on %s." : "Ο διαμοιρασμός θα λήξει σε %s.",
"Cheers!" : "Με εκτίμηση!",
"Use the following link to reset your password: {link}" : "Χρησιμοποιήστε τον ακόλουθο σύνδεσμο για να επαναφέρετε το συνθηματικό: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Γεια χαρά,<br><br>απλά σας ενημερώνω πως ο %s μοιράστηκε το<strong>%s</strong> με εσάς.<br><a href=\"%s\">Δείτε το!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Γεια χαρά,<br><br>απλά σας ενημερώνω πως ο %s μοιράστηκε το<strong>%s</strong> με εσάς.<br><a href=\"%s\">Δείτε το!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Παρακαλούμε χρησιμοποιήστε την ενημέρωση μέσω γραμμής εντολών διότι έχετε μεγάλη εγκατάσταση."
},"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
deleted file mode 100644
index aae14992022..00000000000
--- a/core/l10n/en_GB.js
+++ /dev/null
@@ -1,256 +0,0 @@
-OC.L10N.register(
- "core",
- {
- "Please select a file." : "Please select a file.",
- "File is too big" : "File is too big",
- "The selected file is not an image." : "The selected file is not an image.",
- "The selected file cannot be read." : "The selected file cannot be read.",
- "Invalid file provided" : "Invalid file provided",
- "No image or file provided" : "No image or file provided",
- "Unknown filetype" : "Unknown filetype",
- "Invalid image" : "Invalid image",
- "An error occurred. Please contact your admin." : "An error occurred. Please contact your admin.",
- "No temporary profile picture available, try again" : "No temporary profile picture available, try again",
- "No crop data provided" : "No crop data provided",
- "No valid crop data provided" : "No valid crop data provided",
- "Crop is not square" : "Crop is not square",
- "Couldn't reset password because the token is invalid" : "Couldn't reset password because the token is invalid",
- "Couldn't reset password because the token is expired" : "Couldn't reset password because the token is expired",
- "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Could not send reset email because there is no email address for this username. Please contact your administrator.",
- "%s password reset" : "%s password reset",
- "Couldn't send reset email. Please contact your administrator." : "Couldn't send reset email. Please contact your administrator.",
- "Couldn't send reset email. Please make sure your username is correct." : "Couldn't send reset email. Please make sure your username is correct.",
- "Preparing update" : "Preparing update",
- "[%d / %d]: %s" : "[%d / %d]: %s",
- "Repair warning: " : "Repair warning: ",
- "Repair error: " : "Repair error: ",
- "Please use the command line updater because automatic updating is disabled in the config.php." : "Please use the command line updater because automatic updating is disabled in the config.php.",
- "[%d / %d]: Checking table %s" : "[%d / %d]: Checking table %s",
- "Turned on maintenance mode" : "Turned on maintenance mode",
- "Turned off maintenance mode" : "Turned off maintenance mode",
- "Maintenance mode is kept active" : "Maintenance mode is kept active",
- "Updating database schema" : "Updating database schema",
- "Updated database" : "Updated database",
- "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Checking whether the database schema can be updated (this can take a long time depending on the database size)",
- "Checked database schema update" : "Checked database schema update",
- "Checking updates of apps" : "Checking updates of apps",
- "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)",
- "Checked database schema update for apps" : "Checked database schema update for apps",
- "Updated \"%s\" to %s" : "Updated \"%s\" to %s",
- "Set log level to debug" : "Set log level to debug",
- "Reset log level" : "Reset log level",
- "Starting code integrity check" : "Starting code integrity check",
- "Finished code integrity check" : "Finished code integrity check",
- "%s (3rdparty)" : "%s (3rdparty)",
- "%s (incompatible)" : "%s (incompatible)",
- "Following apps have been disabled: %s" : "Following apps have been disabled: %s",
- "Already up to date" : "Already up to date",
- "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>",
- "Settings" : "Settings",
- "Connection to server lost" : "Connection to server lost",
- "Saving..." : "Saving...",
- "Dismiss" : "Dismiss",
- "This action requires you to confirm your password" : "This action requires you to confirm your password",
- "Authentication required" : "Authentication required",
- "Password" : "Password",
- "Cancel" : "Cancel",
- "Confirm" : "Confirm",
- "Failed to authenticate, try again" : "Failed to authenticate, try again",
- "seconds ago" : "seconds ago",
- "Logging in …" : "Logging in …",
- "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator.",
- "I know what I'm doing" : "I know what I'm doing",
- "Password can not be changed. Please contact your administrator." : "Password can not be changed. Please contact your administrator.",
- "No" : "No",
- "Yes" : "Yes",
- "No files in here" : "No files in here",
- "Choose" : "Choose",
- "Error loading file picker template: {error}" : "Error loading file picker template: {error}",
- "Error loading message template: {error}" : "Error loading message template: {error}",
- "read-only" : "read-only",
- "_{count} file conflict_::_{count} file conflicts_" : ["{count} file conflict","{count} file conflicts"],
- "One file conflict" : "One file conflict",
- "New Files" : "New Files",
- "Already existing files" : "Already existing files",
- "Which files do you want to keep?" : "Which files do you wish to keep?",
- "If you select both versions, the copied file will have a number added to its name." : "If you select both versions, the copied file will have a number added to its name.",
- "Continue" : "Continue",
- "(all selected)" : "(all selected)",
- "({count} selected)" : "({count} selected)",
- "Error loading file exists template" : "Error loading file exists template",
- "Pending" : "Pending",
- "Very weak password" : "Very weak password",
- "Weak password" : "Weak password",
- "So-so password" : "So-so password",
- "Good password" : "Good password",
- "Strong password" : "Strong password",
- "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Your web server is not yet set up properly to allow file synchronisation because the WebDAV interface seems to be broken.",
- "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>." : "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>.",
- "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." : "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.",
- "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 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>.",
- "/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>." : "/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>.",
- "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." : "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.",
- "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>." : "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>.",
- "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 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>.",
- "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>)" : "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>)",
- "Error occurred while checking server setup" : "Error occurred whilst checking server setup",
- "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>." : "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>.",
- "Shared" : "Shared",
- "Shared with {recipients}" : "Shared with {recipients}",
- "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",
- "Set expiration date" : "Set expiration date",
- "Expiration" : "Expiration",
- "Expiration date" : "Expiration date",
- "Choose a password for the public link" : "Choose a password for the public link",
- "Copied!" : "Copied!",
- "Resharing is not allowed" : "Resharing is not allowed",
- "Share link" : "Share link",
- "Link" : "Link",
- "Password protect" : "Password protect",
- "Allow editing" : "Allow editing",
- "Email link to person" : "Email link to person",
- "Send" : "Send",
- "Shared with you and the group {group} by {owner}" : "Shared with you and the group {group} by {owner}",
- "Shared with you by {owner}" : "Shared with you by {owner}",
- "group" : "group",
- "remote" : "remote",
- "Unshare" : "Unshare",
- "Could not unshare" : "Could not unshare",
- "Error while sharing" : "Error whilst sharing",
- "Share details could not be loaded for this item." : "Share details could not be loaded for this item.",
- "No users or groups found for {search}" : "No users or groups found for {search}",
- "No users found for {search}" : "No users found for {search}",
- "An error occurred. Please try again" : "An error occurred. Please try again",
- "{sharee} (group)" : "{sharee} (group)",
- "{sharee} (remote)" : "{sharee} (remote)",
- "Share" : "Share",
- "Error" : "Error",
- "Error removing share" : "Error removing share",
- "Non-existing tag #{tag}" : "Non-existing tag #{tag}",
- "restricted" : "restricted",
- "invisible" : "invisible",
- "({scope})" : "({scope})",
- "Delete" : "Delete",
- "Rename" : "Rename",
- "Collaborative tags" : "Collaborative tags",
- "unknown text" : "unknown text",
- "Hello world!" : "Hello world!",
- "sunny" : "sunny",
- "Hello {name}, the weather is {weather}" : "Hello {name}, the weather is {weather}",
- "Hello {name}" : "Hello {name}",
- "new" : "new",
- "_download %n file_::_download %n files_" : ["download %n file","download %n files"],
- "An error occurred." : "An error occurred.",
- "Please reload the page." : "Please reload the page.",
- "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue.",
- "The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">Nextcloud community</a>." : "The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">Nextcloud community</a>.",
- "Searching other places" : "Searching other places",
- "_{count} search result in another folder_::_{count} search results in other folders_" : ["{count} search result in another folder","{count} search results in other folders"],
- "Personal" : "Personal",
- "Users" : "Users",
- "Apps" : "Apps",
- "Admin" : "Admin",
- "Help" : "Help",
- "Access forbidden" : "Access denied",
- "File not found" : "File not found",
- "The specified document has not been found on the server." : "The specified document has not been found on the server.",
- "You can click here to return to %s." : "You can click here to return to %s.",
- "Internal Server Error" : "Internal Server Error",
- "The server encountered an internal error and was unable to complete your request." : "The server encountered an internal error and was unable to complete your request.",
- "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.",
- "More details can be found in the server log." : "More details can be found in the server log.",
- "Technical details" : "Technical details",
- "Remote Address: %s" : "Remote Address: %s",
- "Request ID: %s" : "Request ID: %s",
- "Type: %s" : "Type: %s",
- "Code: %s" : "Code: %s",
- "Message: %s" : "Message: %s",
- "File: %s" : "File: %s",
- "Line: %s" : "Line: %s",
- "Trace" : "Trace",
- "Security warning" : "Security warning",
- "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Your data directory and files are probably accessible from the internet because the .htaccess file does not work.",
- "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>.",
- "Create an <strong>admin account</strong>" : "Create an <strong>admin account</strong>",
- "Username" : "Username",
- "Storage & database" : "Storage & database",
- "Data folder" : "Data folder",
- "Configure the database" : "Configure the database",
- "Only %s is available." : "Only %s is available.",
- "Install and activate additional PHP modules to choose other database types." : "Install and activate additional PHP modules to choose other database types.",
- "For more details check out the documentation." : "For more details check out the documentation.",
- "Database user" : "Database user",
- "Database password" : "Database password",
- "Database name" : "Database name",
- "Database tablespace" : "Database tablespace",
- "Database host" : "Database host",
- "Performance warning" : "Performance warning",
- "SQLite will be used as database." : "SQLite will be used as database.",
- "For larger installations we recommend to choose a different database backend." : "For larger installations we recommend to choose a different database backend.",
- "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especially when using the desktop client for file syncing, the use of SQLite is discouraged.",
- "Finish setup" : "Finish setup",
- "Finishing …" : "Finishing …",
- "Need help?" : "Need help?",
- "See the documentation" : "See the documentation",
- "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page.",
- "Search" : "Search",
- "Server side authentication failed!" : "Server side authentication failed!",
- "Please contact your administrator." : "Please contact your administrator.",
- "An internal error occurred." : "An internal error occurred.",
- "Please try again or contact your administrator." : "Please try again or contact your administrator.",
- "Username or email" : "Username or email",
- "Wrong password. Reset it?" : "Wrong password. Reset it?",
- "Wrong password." : "Wrong password.",
- "Log in" : "Log in",
- "Stay logged in" : "Stay logged in",
- "Alternative Logins" : "Alternative Logins",
- "New password" : "New password",
- "New Password" : "New Password",
- "Reset password" : "Reset password",
- "This Nextcloud instance is currently in single user mode." : "This Nextcloud instance is currently in single user mode.",
- "This means only administrators can use the instance." : "This means only administrators can use the instance.",
- "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.",
- "Log out" : "Log out",
- "You are accessing the server from an untrusted domain." : "You are accessing the server from an untrusted domain.",
- "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php.",
- "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain.",
- "Add \"%s\" as trusted domain" : "Add \"%s\" as a trusted domain",
- "App update required" : "App update required",
- "%s will be updated to version %s" : "%s will be updated to version %s",
- "These apps will be updated:" : "These apps will be updated:",
- "These incompatible apps will be disabled:" : "These incompatible apps will be disabled:",
- "The theme %s has been disabled." : "The theme %s has been disabled.",
- "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Please make sure that the database, the config folder and the data folder have been backed up before proceeding.",
- "Start update" : "Start update",
- "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:",
- "Detailed logs" : "Detailed logs",
- "Update needed" : "Update needed",
- "Please use the command line updater because you have a big instance." : "Please use the command line updater because you have a big instance.",
- "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 %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.",
- "Problem loading page, reloading in 5 seconds" : "Problem loading page, reloading in 5 seconds",
- "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?",
- "Ok" : "OK",
- "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root.",
- "Error while unsharing" : "Error whilst unsharing",
- "can edit" : "can edit",
- "access control" : "access control",
- "The object type is not specified." : "The object type is not specified.",
- "Enter new" : "Enter new",
- "Add" : "Add",
- "Edit tags" : "Edit tags",
- "Error loading dialog template: {error}" : "Error loading dialog template: {error}",
- "No tags selected for deletion." : "No tags selected for deletion.",
- "The update was successful. Redirecting you to Nextcloud now." : "The update was successful. Redirecting you to Nextcloud.",
- "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n",
- "The share will expire on %s." : "The share will expire on %s.",
- "Cheers!" : "Cheers!",
- "Use the following link to reset your password: {link}" : "Use the following link to reset your password: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>"
-},
-"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/en_GB.json b/core/l10n/en_GB.json
deleted file mode 100644
index a44f18dd91e..00000000000
--- a/core/l10n/en_GB.json
+++ /dev/null
@@ -1,254 +0,0 @@
-{ "translations": {
- "Please select a file." : "Please select a file.",
- "File is too big" : "File is too big",
- "The selected file is not an image." : "The selected file is not an image.",
- "The selected file cannot be read." : "The selected file cannot be read.",
- "Invalid file provided" : "Invalid file provided",
- "No image or file provided" : "No image or file provided",
- "Unknown filetype" : "Unknown filetype",
- "Invalid image" : "Invalid image",
- "An error occurred. Please contact your admin." : "An error occurred. Please contact your admin.",
- "No temporary profile picture available, try again" : "No temporary profile picture available, try again",
- "No crop data provided" : "No crop data provided",
- "No valid crop data provided" : "No valid crop data provided",
- "Crop is not square" : "Crop is not square",
- "Couldn't reset password because the token is invalid" : "Couldn't reset password because the token is invalid",
- "Couldn't reset password because the token is expired" : "Couldn't reset password because the token is expired",
- "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Could not send reset email because there is no email address for this username. Please contact your administrator.",
- "%s password reset" : "%s password reset",
- "Couldn't send reset email. Please contact your administrator." : "Couldn't send reset email. Please contact your administrator.",
- "Couldn't send reset email. Please make sure your username is correct." : "Couldn't send reset email. Please make sure your username is correct.",
- "Preparing update" : "Preparing update",
- "[%d / %d]: %s" : "[%d / %d]: %s",
- "Repair warning: " : "Repair warning: ",
- "Repair error: " : "Repair error: ",
- "Please use the command line updater because automatic updating is disabled in the config.php." : "Please use the command line updater because automatic updating is disabled in the config.php.",
- "[%d / %d]: Checking table %s" : "[%d / %d]: Checking table %s",
- "Turned on maintenance mode" : "Turned on maintenance mode",
- "Turned off maintenance mode" : "Turned off maintenance mode",
- "Maintenance mode is kept active" : "Maintenance mode is kept active",
- "Updating database schema" : "Updating database schema",
- "Updated database" : "Updated database",
- "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Checking whether the database schema can be updated (this can take a long time depending on the database size)",
- "Checked database schema update" : "Checked database schema update",
- "Checking updates of apps" : "Checking updates of apps",
- "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)",
- "Checked database schema update for apps" : "Checked database schema update for apps",
- "Updated \"%s\" to %s" : "Updated \"%s\" to %s",
- "Set log level to debug" : "Set log level to debug",
- "Reset log level" : "Reset log level",
- "Starting code integrity check" : "Starting code integrity check",
- "Finished code integrity check" : "Finished code integrity check",
- "%s (3rdparty)" : "%s (3rdparty)",
- "%s (incompatible)" : "%s (incompatible)",
- "Following apps have been disabled: %s" : "Following apps have been disabled: %s",
- "Already up to date" : "Already up to date",
- "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>",
- "Settings" : "Settings",
- "Connection to server lost" : "Connection to server lost",
- "Saving..." : "Saving...",
- "Dismiss" : "Dismiss",
- "This action requires you to confirm your password" : "This action requires you to confirm your password",
- "Authentication required" : "Authentication required",
- "Password" : "Password",
- "Cancel" : "Cancel",
- "Confirm" : "Confirm",
- "Failed to authenticate, try again" : "Failed to authenticate, try again",
- "seconds ago" : "seconds ago",
- "Logging in …" : "Logging in …",
- "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator.",
- "I know what I'm doing" : "I know what I'm doing",
- "Password can not be changed. Please contact your administrator." : "Password can not be changed. Please contact your administrator.",
- "No" : "No",
- "Yes" : "Yes",
- "No files in here" : "No files in here",
- "Choose" : "Choose",
- "Error loading file picker template: {error}" : "Error loading file picker template: {error}",
- "Error loading message template: {error}" : "Error loading message template: {error}",
- "read-only" : "read-only",
- "_{count} file conflict_::_{count} file conflicts_" : ["{count} file conflict","{count} file conflicts"],
- "One file conflict" : "One file conflict",
- "New Files" : "New Files",
- "Already existing files" : "Already existing files",
- "Which files do you want to keep?" : "Which files do you wish to keep?",
- "If you select both versions, the copied file will have a number added to its name." : "If you select both versions, the copied file will have a number added to its name.",
- "Continue" : "Continue",
- "(all selected)" : "(all selected)",
- "({count} selected)" : "({count} selected)",
- "Error loading file exists template" : "Error loading file exists template",
- "Pending" : "Pending",
- "Very weak password" : "Very weak password",
- "Weak password" : "Weak password",
- "So-so password" : "So-so password",
- "Good password" : "Good password",
- "Strong password" : "Strong password",
- "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Your web server is not yet set up properly to allow file synchronisation because the WebDAV interface seems to be broken.",
- "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>." : "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>.",
- "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." : "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.",
- "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 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>.",
- "/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>." : "/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>.",
- "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." : "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.",
- "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>." : "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>.",
- "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 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>.",
- "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>)" : "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>)",
- "Error occurred while checking server setup" : "Error occurred whilst checking server setup",
- "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting.",
- "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>." : "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>.",
- "Shared" : "Shared",
- "Shared with {recipients}" : "Shared with {recipients}",
- "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",
- "Set expiration date" : "Set expiration date",
- "Expiration" : "Expiration",
- "Expiration date" : "Expiration date",
- "Choose a password for the public link" : "Choose a password for the public link",
- "Copied!" : "Copied!",
- "Resharing is not allowed" : "Resharing is not allowed",
- "Share link" : "Share link",
- "Link" : "Link",
- "Password protect" : "Password protect",
- "Allow editing" : "Allow editing",
- "Email link to person" : "Email link to person",
- "Send" : "Send",
- "Shared with you and the group {group} by {owner}" : "Shared with you and the group {group} by {owner}",
- "Shared with you by {owner}" : "Shared with you by {owner}",
- "group" : "group",
- "remote" : "remote",
- "Unshare" : "Unshare",
- "Could not unshare" : "Could not unshare",
- "Error while sharing" : "Error whilst sharing",
- "Share details could not be loaded for this item." : "Share details could not be loaded for this item.",
- "No users or groups found for {search}" : "No users or groups found for {search}",
- "No users found for {search}" : "No users found for {search}",
- "An error occurred. Please try again" : "An error occurred. Please try again",
- "{sharee} (group)" : "{sharee} (group)",
- "{sharee} (remote)" : "{sharee} (remote)",
- "Share" : "Share",
- "Error" : "Error",
- "Error removing share" : "Error removing share",
- "Non-existing tag #{tag}" : "Non-existing tag #{tag}",
- "restricted" : "restricted",
- "invisible" : "invisible",
- "({scope})" : "({scope})",
- "Delete" : "Delete",
- "Rename" : "Rename",
- "Collaborative tags" : "Collaborative tags",
- "unknown text" : "unknown text",
- "Hello world!" : "Hello world!",
- "sunny" : "sunny",
- "Hello {name}, the weather is {weather}" : "Hello {name}, the weather is {weather}",
- "Hello {name}" : "Hello {name}",
- "new" : "new",
- "_download %n file_::_download %n files_" : ["download %n file","download %n files"],
- "An error occurred." : "An error occurred.",
- "Please reload the page." : "Please reload the page.",
- "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue.",
- "The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">Nextcloud community</a>." : "The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">Nextcloud community</a>.",
- "Searching other places" : "Searching other places",
- "_{count} search result in another folder_::_{count} search results in other folders_" : ["{count} search result in another folder","{count} search results in other folders"],
- "Personal" : "Personal",
- "Users" : "Users",
- "Apps" : "Apps",
- "Admin" : "Admin",
- "Help" : "Help",
- "Access forbidden" : "Access denied",
- "File not found" : "File not found",
- "The specified document has not been found on the server." : "The specified document has not been found on the server.",
- "You can click here to return to %s." : "You can click here to return to %s.",
- "Internal Server Error" : "Internal Server Error",
- "The server encountered an internal error and was unable to complete your request." : "The server encountered an internal error and was unable to complete your request.",
- "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.",
- "More details can be found in the server log." : "More details can be found in the server log.",
- "Technical details" : "Technical details",
- "Remote Address: %s" : "Remote Address: %s",
- "Request ID: %s" : "Request ID: %s",
- "Type: %s" : "Type: %s",
- "Code: %s" : "Code: %s",
- "Message: %s" : "Message: %s",
- "File: %s" : "File: %s",
- "Line: %s" : "Line: %s",
- "Trace" : "Trace",
- "Security warning" : "Security warning",
- "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Your data directory and files are probably accessible from the internet because the .htaccess file does not work.",
- "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>.",
- "Create an <strong>admin account</strong>" : "Create an <strong>admin account</strong>",
- "Username" : "Username",
- "Storage & database" : "Storage & database",
- "Data folder" : "Data folder",
- "Configure the database" : "Configure the database",
- "Only %s is available." : "Only %s is available.",
- "Install and activate additional PHP modules to choose other database types." : "Install and activate additional PHP modules to choose other database types.",
- "For more details check out the documentation." : "For more details check out the documentation.",
- "Database user" : "Database user",
- "Database password" : "Database password",
- "Database name" : "Database name",
- "Database tablespace" : "Database tablespace",
- "Database host" : "Database host",
- "Performance warning" : "Performance warning",
- "SQLite will be used as database." : "SQLite will be used as database.",
- "For larger installations we recommend to choose a different database backend." : "For larger installations we recommend to choose a different database backend.",
- "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especially when using the desktop client for file syncing, the use of SQLite is discouraged.",
- "Finish setup" : "Finish setup",
- "Finishing …" : "Finishing …",
- "Need help?" : "Need help?",
- "See the documentation" : "See the documentation",
- "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page.",
- "Search" : "Search",
- "Server side authentication failed!" : "Server side authentication failed!",
- "Please contact your administrator." : "Please contact your administrator.",
- "An internal error occurred." : "An internal error occurred.",
- "Please try again or contact your administrator." : "Please try again or contact your administrator.",
- "Username or email" : "Username or email",
- "Wrong password. Reset it?" : "Wrong password. Reset it?",
- "Wrong password." : "Wrong password.",
- "Log in" : "Log in",
- "Stay logged in" : "Stay logged in",
- "Alternative Logins" : "Alternative Logins",
- "New password" : "New password",
- "New Password" : "New Password",
- "Reset password" : "Reset password",
- "This Nextcloud instance is currently in single user mode." : "This Nextcloud instance is currently in single user mode.",
- "This means only administrators can use the instance." : "This means only administrators can use the instance.",
- "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.",
- "Log out" : "Log out",
- "You are accessing the server from an untrusted domain." : "You are accessing the server from an untrusted domain.",
- "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php.",
- "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain.",
- "Add \"%s\" as trusted domain" : "Add \"%s\" as a trusted domain",
- "App update required" : "App update required",
- "%s will be updated to version %s" : "%s will be updated to version %s",
- "These apps will be updated:" : "These apps will be updated:",
- "These incompatible apps will be disabled:" : "These incompatible apps will be disabled:",
- "The theme %s has been disabled." : "The theme %s has been disabled.",
- "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Please make sure that the database, the config folder and the data folder have been backed up before proceeding.",
- "Start update" : "Start update",
- "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:",
- "Detailed logs" : "Detailed logs",
- "Update needed" : "Update needed",
- "Please use the command line updater because you have a big instance." : "Please use the command line updater because you have a big instance.",
- "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 %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.",
- "Problem loading page, reloading in 5 seconds" : "Problem loading page, reloading in 5 seconds",
- "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?",
- "Ok" : "OK",
- "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root.",
- "Error while unsharing" : "Error whilst unsharing",
- "can edit" : "can edit",
- "access control" : "access control",
- "The object type is not specified." : "The object type is not specified.",
- "Enter new" : "Enter new",
- "Add" : "Add",
- "Edit tags" : "Edit tags",
- "Error loading dialog template: {error}" : "Error loading dialog template: {error}",
- "No tags selected for deletion." : "No tags selected for deletion.",
- "The update was successful. Redirecting you to Nextcloud now." : "The update was successful. Redirecting you to Nextcloud.",
- "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n",
- "The share will expire on %s." : "The share will expire on %s.",
- "Cheers!" : "Cheers!",
- "Use the following link to reset your password: {link}" : "Use the following link to reset your password: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>"
-},"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 5d35a93474f..3a362ebd8a9 100644
--- a/core/l10n/es.js
+++ b/core/l10n/es.js
@@ -298,7 +298,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Para evitar tiempos de espera en grandes instalaciones, en su lugar puede ejecutar el siguiente comando desde el directorio de instalación:",
"Detailed logs" : "Registros detallados",
"Update needed" : "Se necesita actualización",
- "Please use the command line updater because you have a big instance." : "Por favor utilice la actualización mediante la linea de comandos porque tiene pendiente una gran actualización.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para ayuda, mirar <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\"> la documentación</a>.",
"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.",
@@ -334,6 +333,7 @@ OC.L10N.register(
"The share will expire on %s." : "El objeto dejará de ser compartido el %s.",
"Cheers!" : "¡Saludos!",
"Use the following link to reset your password: {link}" : "Utilice el siguiente enlace para restablecer su contraseña: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hola:<br><br>Te comentamos que %s compartió <strong>%s</strong> contigo.<br><a href=\"%s\">¡Échale un vistazo!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hola:<br><br>Te comentamos que %s compartió <strong>%s</strong> contigo.<br><a href=\"%s\">¡Échale un vistazo!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Por favor utilice la actualización mediante la linea de comandos porque tiene pendiente una gran actualización."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/es.json b/core/l10n/es.json
index c4f38f116fd..dbdf2300c89 100644
--- a/core/l10n/es.json
+++ b/core/l10n/es.json
@@ -296,7 +296,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Para evitar tiempos de espera en grandes instalaciones, en su lugar puede ejecutar el siguiente comando desde el directorio de instalación:",
"Detailed logs" : "Registros detallados",
"Update needed" : "Se necesita actualización",
- "Please use the command line updater because you have a big instance." : "Por favor utilice la actualización mediante la linea de comandos porque tiene pendiente una gran actualización.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para ayuda, mirar <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\"> la documentación</a>.",
"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.",
@@ -332,6 +331,7 @@
"The share will expire on %s." : "El objeto dejará de ser compartido el %s.",
"Cheers!" : "¡Saludos!",
"Use the following link to reset your password: {link}" : "Utilice el siguiente enlace para restablecer su contraseña: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hola:<br><br>Te comentamos que %s compartió <strong>%s</strong> contigo.<br><a href=\"%s\">¡Échale un vistazo!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hola:<br><br>Te comentamos que %s compartió <strong>%s</strong> contigo.<br><a href=\"%s\">¡Échale un vistazo!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Por favor utilice la actualización mediante la linea de comandos porque tiene pendiente una gran actualización."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/es_MX.js b/core/l10n/es_MX.js
index 60946f5a0f8..edabcaaafd3 100644
--- a/core/l10n/es_MX.js
+++ b/core/l10n/es_MX.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Crop is not square" : "El recorte no está cuadrado",
"State token does not match" : "La ficha de estado no corresponde",
"Auth flow can only be started unauthenticated." : "El flujo de autenticación solo se puede iniciar sin encontrarse autenticado. ",
+ "Password reset is disabled" : "Restablecer contraseña se encuentra deshabilitado",
"Couldn't reset password because the token is invalid" : "No ha sido posible restablecer la contraseña porque la ficha es inválida",
"Couldn't reset password because the token is expired" : "No ha sido posible restablecer la contraseña porque la ficha ha expirado",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "No fue posible enviar el correo electrónico para restablecer porque no hay una dirección de correo electrónico para este usuario. Favor de contactar a su adminsitrador. ",
@@ -40,6 +41,9 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Verificando si el archivo del esquema de base de datos puede ser actualizado (esto puedo tomar mucho tiempo dependiendo del tamaño de la base de datos)",
"Checked database schema update" : "Actualización del esquema de base de datos verificada",
"Checking updates of apps" : "Verificando actualizaciónes para aplicaciones",
+ "Checking for update of app \"%s\" in appstore" : "Verificando actualizaciones para la aplicacion \"%s\" en la appstore",
+ "Update app \"%s\" from appstore" : "Actualizar la aplicación \"%s\" desde la appstore",
+ "Checked for update of app \"%s\" in appstore" : "Se verificaron actualizaciones para la aplicación \"%s\" en la appstore",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Verificando si el esquema de la base de datos para %s puede ser actualizado (esto puede tomar mucho tiempo dependiendo del tamaño de la base de datos)",
"Checked database schema update for apps" : "Se verificó la actualización del esquema de la base de datos para las aplicaciones",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
@@ -298,8 +302,10 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Para evitar que la expiración de tiempo en instalaciones grandes, usted puede ejeuctar el siguiente comando desde su directorio de instalación:",
"Detailed logs" : "Bitácoras detalladas",
"Update needed" : "Actualización requerida",
- "Please use the command line updater because you have a big instance." : "Favor de usar el actualizador de línea de comando porque usted tiene una instancia grande. ",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Favor de usar el actualizador desde la línea de comandos ya que su instancia cuenta con más de 50 usuarios.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulte la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">doccumentació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." : "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. ",
"Problem loading page, reloading in 5 seconds" : "Se presentó un problema al cargar la página, recargando en 5 segundos",
@@ -334,6 +340,7 @@ OC.L10N.register(
"The share will expire on %s." : "El recurso dejará de ser compartido el %s.",
"Cheers!" : "¡Saludos!",
"Use the following link to reset your password: {link}" : "Use la siguiente liga para restablecer su contraseña: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hola,<br><br> sólo queremos informarle que %s ha compartido <strong>%s</strong> con usted. <br><a href=\"%s\">¡Véalo!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hola,<br><br> sólo queremos informarle que %s ha compartido <strong>%s</strong> con usted. <br><a href=\"%s\">¡Véalo!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Favor de usar el actualizador de línea de comando porque usted tiene una instancia grande. "
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/es_MX.json b/core/l10n/es_MX.json
index c19324cea6c..7f9c846ec58 100644
--- a/core/l10n/es_MX.json
+++ b/core/l10n/es_MX.json
@@ -14,6 +14,7 @@
"Crop is not square" : "El recorte no está cuadrado",
"State token does not match" : "La ficha de estado no corresponde",
"Auth flow can only be started unauthenticated." : "El flujo de autenticación solo se puede iniciar sin encontrarse autenticado. ",
+ "Password reset is disabled" : "Restablecer contraseña se encuentra deshabilitado",
"Couldn't reset password because the token is invalid" : "No ha sido posible restablecer la contraseña porque la ficha es inválida",
"Couldn't reset password because the token is expired" : "No ha sido posible restablecer la contraseña porque la ficha ha expirado",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "No fue posible enviar el correo electrónico para restablecer porque no hay una dirección de correo electrónico para este usuario. Favor de contactar a su adminsitrador. ",
@@ -38,6 +39,9 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Verificando si el archivo del esquema de base de datos puede ser actualizado (esto puedo tomar mucho tiempo dependiendo del tamaño de la base de datos)",
"Checked database schema update" : "Actualización del esquema de base de datos verificada",
"Checking updates of apps" : "Verificando actualizaciónes para aplicaciones",
+ "Checking for update of app \"%s\" in appstore" : "Verificando actualizaciones para la aplicacion \"%s\" en la appstore",
+ "Update app \"%s\" from appstore" : "Actualizar la aplicación \"%s\" desde la appstore",
+ "Checked for update of app \"%s\" in appstore" : "Se verificaron actualizaciones para la aplicación \"%s\" en la appstore",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Verificando si el esquema de la base de datos para %s puede ser actualizado (esto puede tomar mucho tiempo dependiendo del tamaño de la base de datos)",
"Checked database schema update for apps" : "Se verificó la actualización del esquema de la base de datos para las aplicaciones",
"Updated \"%s\" to %s" : "Actualizando \"%s\" a %s",
@@ -296,8 +300,10 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Para evitar que la expiración de tiempo en instalaciones grandes, usted puede ejeuctar el siguiente comando desde su directorio de instalación:",
"Detailed logs" : "Bitácoras detalladas",
"Update needed" : "Actualización requerida",
- "Please use the command line updater because you have a big instance." : "Favor de usar el actualizador de línea de comando porque usted tiene una instancia grande. ",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Favor de usar el actualizador desde la línea de comandos ya que su instancia cuenta con más de 50 usuarios.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Para más ayuda, consulte la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">doccumentació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." : "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. ",
"Problem loading page, reloading in 5 seconds" : "Se presentó un problema al cargar la página, recargando en 5 segundos",
@@ -332,6 +338,7 @@
"The share will expire on %s." : "El recurso dejará de ser compartido el %s.",
"Cheers!" : "¡Saludos!",
"Use the following link to reset your password: {link}" : "Use la siguiente liga para restablecer su contraseña: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hola,<br><br> sólo queremos informarle que %s ha compartido <strong>%s</strong> con usted. <br><a href=\"%s\">¡Véalo!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hola,<br><br> sólo queremos informarle que %s ha compartido <strong>%s</strong> con usted. <br><a href=\"%s\">¡Véalo!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Favor de usar el actualizador de línea de comando porque usted tiene una instancia grande. "
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/eu.js b/core/l10n/eu.js
index c19aabe6cdf..f8568f909a6 100644
--- a/core/l10n/eu.js
+++ b/core/l10n/eu.js
@@ -14,9 +14,12 @@ OC.L10N.register(
"No crop data provided" : "Ez da ebaketaren daturik eskaini",
"No valid crop data provided" : "Ebakidura baliogabea da",
"Crop is not square" : "Ebakidura ez da karratua",
+ "Password reset is disabled" : "Pasahitza berrezartzea desgaituta dago",
"Couldn't reset password because the token is invalid" : "Ezin izan da pasahitza berrezarri tokena baliogabea delako",
"Couldn't reset password because the token is expired" : "Ezin da berrezarri pasahitza token-a iraungi duelako.",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Ezin izan da berreskuratze posta elektronikoa bidali helbiderik ez dagoelako erabiltzaile honetarako. Jarri harremanetan administratzailearekin.",
+ "Password reset" : "Pasahitza berrezarri",
+ "Reset your password" : "Berrezarri zure pasahitza",
"%s password reset" : "%s pasahitza berrezarri",
"Couldn't send reset email. Please contact your administrator." : "Ezin da berrezartzeko eposta bidali. Mesedez jarri harremetan zure administradorearekin.",
"Couldn't send reset email. Please make sure your username is correct." : "Ezin izan da berrezartzeko eposta bidali. Ziurtatu zure erabiltzaile izena egokia dela.",
@@ -45,6 +48,11 @@ OC.L10N.register(
"%s (incompatible)" : "%s (incompatible)",
"Following apps have been disabled: %s" : "Hurrengo aplikazioak desgaitu egin dira: %s",
"Already up to date" : "Dagoeneko eguneratuta",
+ "No contacts found" : "Ez da kontakturik aurkitu",
+ "Show all contacts …" : "Erakutsi kontaktu guztiak",
+ "There was an error loading your contacts" : "Errore bat gertatu da zure kontaktuak kargatzean",
+ "Loading your contacts …" : "Zure kontaktuak kargatzen...",
+ "Looking for {term} …" : "{term} bilatzen...",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Kodearen integritate egiaztapenarekin arazoak egon dira. Informazio gehiago…</a>",
"Settings" : "Ezarpenak",
"Connection to server lost" : "Zerbitzariarekiko konexioa eten da",
@@ -68,6 +76,7 @@ OC.L10N.register(
"No files in here" : "Ez dago fitxategirik hemen",
"Choose" : "Aukeratu",
"Error loading file picker template: {error}" : "Errorea fitxategi hautatzaile txantiloiak kargatzerakoan: {error}",
+ "OK" : "Ados",
"Error loading message template: {error}" : "Errorea mezu txantiloia kargatzean: {error}",
"read-only" : "irakurtzeko-soilik",
"_{count} file conflict_::_{count} file conflicts_" : ["fitxategi {count}ek konfliktua sortu du","{count} fitxategik konfliktua sortu dute"],
@@ -120,6 +129,7 @@ OC.L10N.register(
"Email link to person" : "Postaz bidali lotura ",
"Send" : "Bidali",
"Allow upload and editing" : "Onartu igoera eta edizioa",
+ "Read only" : "irakurtzeko-soilik",
"Shared with you and the group {group} by {owner}" : "{owner}-k zu eta {group} taldearekin elkarbanatuta",
"Shared with you by {owner}" : "{owner}-k zurekin elkarbanatuta",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} link bidez partekatuta",
@@ -136,6 +146,7 @@ OC.L10N.register(
"{sharee} (group)" : "{sharee} (group)",
"{sharee} (remote)" : "{sharee} (remote)",
"{sharee} (email)" : "{sharee} (email)",
+ "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Elkarbanatu",
"Error" : "Errorea",
"Error removing share" : " Akatsa kuota kentzerakoan",
@@ -251,7 +262,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Instalazio handien itxarote-denbora saihesteko, ondoko komandoa exekuta dezakezu instalazio direktoriotik:",
"Detailed logs" : "Log xehea",
"Update needed" : "Eguneratzea beharrezkoa da",
- "Please use the command line updater because you have a big instance." : "Mesedez, erabili komando lerroa eguneratzeko, instantzia handi duzulako.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Laguntza lortzeko, ikusi <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentazioa</a>.",
"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.",
@@ -287,6 +297,7 @@ OC.L10N.register(
"The share will expire on %s." : "Elkarbanaketa %s-n iraungiko da.",
"Cheers!" : "Ongi izan!",
"Use the following link to reset your password: {link}" : "Eribili hurrengo lotura zure pasahitza berrezartzeko: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Kaixo<br><br>%s-ek %s zurekin partekatu duela jakin dezazun.\nIkusi ezazu: %s"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Kaixo<br><br>%s-ek %s zurekin partekatu duela jakin dezazun.\nIkusi ezazu: %s",
+ "Please use the command line updater because you have a big instance." : "Mesedez, erabili komando lerroa eguneratzeko, instantzia handi duzulako."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/eu.json b/core/l10n/eu.json
index e89b1f8eb68..0004e6cab19 100644
--- a/core/l10n/eu.json
+++ b/core/l10n/eu.json
@@ -12,9 +12,12 @@
"No crop data provided" : "Ez da ebaketaren daturik eskaini",
"No valid crop data provided" : "Ebakidura baliogabea da",
"Crop is not square" : "Ebakidura ez da karratua",
+ "Password reset is disabled" : "Pasahitza berrezartzea desgaituta dago",
"Couldn't reset password because the token is invalid" : "Ezin izan da pasahitza berrezarri tokena baliogabea delako",
"Couldn't reset password because the token is expired" : "Ezin da berrezarri pasahitza token-a iraungi duelako.",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Ezin izan da berreskuratze posta elektronikoa bidali helbiderik ez dagoelako erabiltzaile honetarako. Jarri harremanetan administratzailearekin.",
+ "Password reset" : "Pasahitza berrezarri",
+ "Reset your password" : "Berrezarri zure pasahitza",
"%s password reset" : "%s pasahitza berrezarri",
"Couldn't send reset email. Please contact your administrator." : "Ezin da berrezartzeko eposta bidali. Mesedez jarri harremetan zure administradorearekin.",
"Couldn't send reset email. Please make sure your username is correct." : "Ezin izan da berrezartzeko eposta bidali. Ziurtatu zure erabiltzaile izena egokia dela.",
@@ -43,6 +46,11 @@
"%s (incompatible)" : "%s (incompatible)",
"Following apps have been disabled: %s" : "Hurrengo aplikazioak desgaitu egin dira: %s",
"Already up to date" : "Dagoeneko eguneratuta",
+ "No contacts found" : "Ez da kontakturik aurkitu",
+ "Show all contacts …" : "Erakutsi kontaktu guztiak",
+ "There was an error loading your contacts" : "Errore bat gertatu da zure kontaktuak kargatzean",
+ "Loading your contacts …" : "Zure kontaktuak kargatzen...",
+ "Looking for {term} …" : "{term} bilatzen...",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Kodearen integritate egiaztapenarekin arazoak egon dira. Informazio gehiago…</a>",
"Settings" : "Ezarpenak",
"Connection to server lost" : "Zerbitzariarekiko konexioa eten da",
@@ -66,6 +74,7 @@
"No files in here" : "Ez dago fitxategirik hemen",
"Choose" : "Aukeratu",
"Error loading file picker template: {error}" : "Errorea fitxategi hautatzaile txantiloiak kargatzerakoan: {error}",
+ "OK" : "Ados",
"Error loading message template: {error}" : "Errorea mezu txantiloia kargatzean: {error}",
"read-only" : "irakurtzeko-soilik",
"_{count} file conflict_::_{count} file conflicts_" : ["fitxategi {count}ek konfliktua sortu du","{count} fitxategik konfliktua sortu dute"],
@@ -118,6 +127,7 @@
"Email link to person" : "Postaz bidali lotura ",
"Send" : "Bidali",
"Allow upload and editing" : "Onartu igoera eta edizioa",
+ "Read only" : "irakurtzeko-soilik",
"Shared with you and the group {group} by {owner}" : "{owner}-k zu eta {group} taldearekin elkarbanatuta",
"Shared with you by {owner}" : "{owner}-k zurekin elkarbanatuta",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} link bidez partekatuta",
@@ -134,6 +144,7 @@
"{sharee} (group)" : "{sharee} (group)",
"{sharee} (remote)" : "{sharee} (remote)",
"{sharee} (email)" : "{sharee} (email)",
+ "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Elkarbanatu",
"Error" : "Errorea",
"Error removing share" : " Akatsa kuota kentzerakoan",
@@ -249,7 +260,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Instalazio handien itxarote-denbora saihesteko, ondoko komandoa exekuta dezakezu instalazio direktoriotik:",
"Detailed logs" : "Log xehea",
"Update needed" : "Eguneratzea beharrezkoa da",
- "Please use the command line updater because you have a big instance." : "Mesedez, erabili komando lerroa eguneratzeko, instantzia handi duzulako.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Laguntza lortzeko, ikusi <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentazioa</a>.",
"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.",
@@ -285,6 +295,7 @@
"The share will expire on %s." : "Elkarbanaketa %s-n iraungiko da.",
"Cheers!" : "Ongi izan!",
"Use the following link to reset your password: {link}" : "Eribili hurrengo lotura zure pasahitza berrezartzeko: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Kaixo<br><br>%s-ek %s zurekin partekatu duela jakin dezazun.\nIkusi ezazu: %s"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Kaixo<br><br>%s-ek %s zurekin partekatu duela jakin dezazun.\nIkusi ezazu: %s",
+ "Please use the command line updater because you have a big instance." : "Mesedez, erabili komando lerroa eguneratzeko, instantzia handi duzulako."
},"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 5bab688fc59..061ade60bc6 100644
--- a/core/l10n/fi.js
+++ b/core/l10n/fi.js
@@ -287,7 +287,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Välttääksesi aikakatkaisuja suurikokoisten asennusten kanssa, voit suorittaa vaihtoehtoisesti seuraavan komennon asennushakemistossa:",
"Detailed logs" : "Yksityiskohtainen loki",
"Update needed" : "Päivitys vaaditaan",
- "Please use the command line updater because you have a big instance." : "Käytä komentorivipäivitintä, koska käyttämäsi Nextcloud on sen verran suuri.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Apua saat <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentaatiosta</a>.",
"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ä.",
@@ -323,6 +322,7 @@ OC.L10N.register(
"The share will expire on %s." : "Jakaminen päättyy %s.",
"Cheers!" : "Kiitos!",
"Use the following link to reset your password: {link}" : "Voit palauttaa salasanasi seuraavassa osoitteessa: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hei,<br><br>%s jakoi kanssasi kohteen <strong>%s</strong>.<br><a href=\"%s\">Tutustu siihen!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hei,<br><br>%s jakoi kanssasi kohteen <strong>%s</strong>.<br><a href=\"%s\">Tutustu siihen!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Käytä komentorivipäivitintä, koska käyttämäsi Nextcloud on sen verran suuri."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/fi.json b/core/l10n/fi.json
index 80db8e783f7..8f9cd01db21 100644
--- a/core/l10n/fi.json
+++ b/core/l10n/fi.json
@@ -285,7 +285,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Välttääksesi aikakatkaisuja suurikokoisten asennusten kanssa, voit suorittaa vaihtoehtoisesti seuraavan komennon asennushakemistossa:",
"Detailed logs" : "Yksityiskohtainen loki",
"Update needed" : "Päivitys vaaditaan",
- "Please use the command line updater because you have a big instance." : "Käytä komentorivipäivitintä, koska käyttämäsi Nextcloud on sen verran suuri.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Apua saat <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentaatiosta</a>.",
"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ä.",
@@ -321,6 +320,7 @@
"The share will expire on %s." : "Jakaminen päättyy %s.",
"Cheers!" : "Kiitos!",
"Use the following link to reset your password: {link}" : "Voit palauttaa salasanasi seuraavassa osoitteessa: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hei,<br><br>%s jakoi kanssasi kohteen <strong>%s</strong>.<br><a href=\"%s\">Tutustu siihen!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hei,<br><br>%s jakoi kanssasi kohteen <strong>%s</strong>.<br><a href=\"%s\">Tutustu siihen!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Käytä komentorivipäivitintä, koska käyttämäsi Nextcloud on sen verran suuri."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/fr.js b/core/l10n/fr.js
index 049b35fcb2a..a721ee2240b 100644
--- a/core/l10n/fr.js
+++ b/core/l10n/fr.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Crop is not square" : "Le recadrage n'est pas carré",
"State token does not match" : "Les jetons de statut ne correspondent pas",
"Auth flow can only be started unauthenticated." : "Le processus d'authentification peut seulement démarrer en mode \"non connectée\".",
+ "Password reset is disabled" : "La réinitialisation du mot de passe est désactivée",
"Couldn't reset password because the token is invalid" : "Impossible de réinitialiser le mot de passe car le jeton n'est pas valable",
"Couldn't reset password because the token is expired" : "Impossible de réinitialiser le mot de passe car le jeton a expiré",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Impossible d'envoyer le courriel de réinitialisation car il n'y a aucune adresse de courriel pour cet utilisateur. Veuillez contacter votre administrateur.",
@@ -40,6 +41,9 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Vérification de la possibilité de mettre à jour le schéma de la base de données (cela peut prendre un certain temps selon la taille de la base de données)",
"Checked database schema update" : "Mise à jour du schéma de la base de données vérifiée",
"Checking updates of apps" : "Recherche de mises à jour d'applications",
+ "Checking for update of app \"%s\" in appstore" : "Vérification de la présence d'une mise à jour pour l'application \"%s\" dans l'appstore",
+ "Update app \"%s\" from appstore" : "Mise à jour de l'application \"%s\" depuis l'appstore",
+ "Checked for update of app \"%s\" in appstore" : "Présence de mise à jour vérifiée pour l'application \"%s\" dans l'appstore",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Vérification de la possibilité de mettre à jour le schéma de la base de données pour %s (cela peut prendre un certain temps selon la taille de la base de données)",
"Checked database schema update for apps" : "Mise à jour du schéma de la base de données pour les applications vérifiée",
"Updated \"%s\" to %s" : "Mise à jour de « %s » vers %s",
@@ -298,8 +302,10 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Afin d'éviter les timeouts avec les installations de volume conséquent, vous pouvez exécuter la commande suivante depuis le répertoire d'installation :",
"Detailed logs" : "Journaux détaillés",
"Update needed" : "Mise à jour nécessaire",
- "Please use the command line updater because you have a big instance." : "Veuillez utiliser la mise à jour en ligne de commande car votre instance est volumineuse.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Veuillez utiliser la mise à jour en ligne de commande car votre instance est volumineuse avec plus de 50 utilisateurs.",
"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>.",
+ "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",
"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.",
"Problem loading page, reloading in 5 seconds" : "Problème de chargement de la page, actualisation dans 5 secondes",
@@ -334,6 +340,7 @@ OC.L10N.register(
"The share will expire on %s." : "Le partage expirera le %s.",
"Cheers!" : "À bientôt !",
"Use the following link to reset your password: {link}" : "Utilisez le lien suivant pour réinitialiser votre mot de passe : {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Bonjour,<br><br>Nous vous informons que %s a partagé <strong>%s</strong> avec vous.<br><a href=\"%s\">Cliquez ici pour y accéder !</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Bonjour,<br><br>Nous vous informons que %s a partagé <strong>%s</strong> avec vous.<br><a href=\"%s\">Cliquez ici pour y accéder !</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Veuillez utiliser la mise à jour en ligne de commande car votre instance est volumineuse."
},
"nplurals=2; plural=(n > 1);");
diff --git a/core/l10n/fr.json b/core/l10n/fr.json
index 2861b081d80..839b37e99e7 100644
--- a/core/l10n/fr.json
+++ b/core/l10n/fr.json
@@ -14,6 +14,7 @@
"Crop is not square" : "Le recadrage n'est pas carré",
"State token does not match" : "Les jetons de statut ne correspondent pas",
"Auth flow can only be started unauthenticated." : "Le processus d'authentification peut seulement démarrer en mode \"non connectée\".",
+ "Password reset is disabled" : "La réinitialisation du mot de passe est désactivée",
"Couldn't reset password because the token is invalid" : "Impossible de réinitialiser le mot de passe car le jeton n'est pas valable",
"Couldn't reset password because the token is expired" : "Impossible de réinitialiser le mot de passe car le jeton a expiré",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Impossible d'envoyer le courriel de réinitialisation car il n'y a aucune adresse de courriel pour cet utilisateur. Veuillez contacter votre administrateur.",
@@ -38,6 +39,9 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Vérification de la possibilité de mettre à jour le schéma de la base de données (cela peut prendre un certain temps selon la taille de la base de données)",
"Checked database schema update" : "Mise à jour du schéma de la base de données vérifiée",
"Checking updates of apps" : "Recherche de mises à jour d'applications",
+ "Checking for update of app \"%s\" in appstore" : "Vérification de la présence d'une mise à jour pour l'application \"%s\" dans l'appstore",
+ "Update app \"%s\" from appstore" : "Mise à jour de l'application \"%s\" depuis l'appstore",
+ "Checked for update of app \"%s\" in appstore" : "Présence de mise à jour vérifiée pour l'application \"%s\" dans l'appstore",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Vérification de la possibilité de mettre à jour le schéma de la base de données pour %s (cela peut prendre un certain temps selon la taille de la base de données)",
"Checked database schema update for apps" : "Mise à jour du schéma de la base de données pour les applications vérifiée",
"Updated \"%s\" to %s" : "Mise à jour de « %s » vers %s",
@@ -296,8 +300,10 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Afin d'éviter les timeouts avec les installations de volume conséquent, vous pouvez exécuter la commande suivante depuis le répertoire d'installation :",
"Detailed logs" : "Journaux détaillés",
"Update needed" : "Mise à jour nécessaire",
- "Please use the command line updater because you have a big instance." : "Veuillez utiliser la mise à jour en ligne de commande car votre instance est volumineuse.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Veuillez utiliser la mise à jour en ligne de commande car votre instance est volumineuse avec plus de 50 utilisateurs.",
"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>.",
+ "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",
"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.",
"Problem loading page, reloading in 5 seconds" : "Problème de chargement de la page, actualisation dans 5 secondes",
@@ -332,6 +338,7 @@
"The share will expire on %s." : "Le partage expirera le %s.",
"Cheers!" : "À bientôt !",
"Use the following link to reset your password: {link}" : "Utilisez le lien suivant pour réinitialiser votre mot de passe : {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Bonjour,<br><br>Nous vous informons que %s a partagé <strong>%s</strong> avec vous.<br><a href=\"%s\">Cliquez ici pour y accéder !</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Bonjour,<br><br>Nous vous informons que %s a partagé <strong>%s</strong> avec vous.<br><a href=\"%s\">Cliquez ici pour y accéder !</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Veuillez utiliser la mise à jour en ligne de commande car votre instance est volumineuse."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/core/l10n/hu.js b/core/l10n/hu.js
index 097834ea472..f11a906e6e9 100644
--- a/core/l10n/hu.js
+++ b/core/l10n/hu.js
@@ -260,7 +260,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Nagyobb telepítések esetén úgy kerülhetők el az időtúllépések, hogy inkább a következő parancsot adja ki a telepítési alkönyvtárban:",
"Detailed logs" : "Részletezett naplók",
"Update needed" : "Frissítés szükséges",
- "Please use the command line updater because you have a big instance." : "Kérjük, a frissítéshez a parancssort használja, mert nagyobb frissítést készül telepíteni.",
"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 %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ő.",
@@ -296,6 +295,7 @@ OC.L10N.register(
"The share will expire on %s." : "A megosztás lejár ekkor: %s.",
"Cheers!" : "Üdv.",
"Use the following link to reset your password: {link}" : "Használja ezt a hivatkozást a jelszó ismételt beállításához: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Üdv!<br /><br />\n\nÉrtesítünk, hogy %s megosztotta veled a következőt: <strong>%s</strong><br />\n<a href=\"%s\">Itt nézheted meg.</a><br /><br />"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Üdv!<br /><br />\n\nÉrtesítünk, hogy %s megosztotta veled a következőt: <strong>%s</strong><br />\n<a href=\"%s\">Itt nézheted meg.</a><br /><br />",
+ "Please use the command line updater because you have a big instance." : "Kérjük, a frissítéshez a parancssort használja, mert nagyobb frissítést készül telepíteni."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/hu.json b/core/l10n/hu.json
index 6462720387e..57518df8819 100644
--- a/core/l10n/hu.json
+++ b/core/l10n/hu.json
@@ -258,7 +258,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Nagyobb telepítések esetén úgy kerülhetők el az időtúllépések, hogy inkább a következő parancsot adja ki a telepítési alkönyvtárban:",
"Detailed logs" : "Részletezett naplók",
"Update needed" : "Frissítés szükséges",
- "Please use the command line updater because you have a big instance." : "Kérjük, a frissítéshez a parancssort használja, mert nagyobb frissítést készül telepíteni.",
"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 %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ő.",
@@ -294,6 +293,7 @@
"The share will expire on %s." : "A megosztás lejár ekkor: %s.",
"Cheers!" : "Üdv.",
"Use the following link to reset your password: {link}" : "Használja ezt a hivatkozást a jelszó ismételt beállításához: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Üdv!<br /><br />\n\nÉrtesítünk, hogy %s megosztotta veled a következőt: <strong>%s</strong><br />\n<a href=\"%s\">Itt nézheted meg.</a><br /><br />"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Üdv!<br /><br />\n\nÉrtesítünk, hogy %s megosztotta veled a következőt: <strong>%s</strong><br />\n<a href=\"%s\">Itt nézheted meg.</a><br /><br />",
+ "Please use the command line updater because you have a big instance." : "Kérjük, a frissítéshez a parancssort használja, mert nagyobb frissítést készül telepíteni."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/id.js b/core/l10n/id.js
index fb4852db6f9..b60324c4cc2 100644
--- a/core/l10n/id.js
+++ b/core/l10n/id.js
@@ -254,7 +254,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Untuk menghindari waktu habis dengan instalasi yang lebih besar, Anda bisa menjalankan perintah berikut dari direktori instalasi Anda:",
"Detailed logs" : "Log detail",
"Update needed" : "Pembaruan dibutuhkan",
- "Please use the command line updater because you have a big instance." : "Gunakan pembaruan command-line karena Anda mempunyai instansi yang besar.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Untuk bantuan, lihat <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentasi</a>.",
"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.",
@@ -290,6 +289,7 @@ OC.L10N.register(
"The share will expire on %s." : "Pembagian akan berakhir pada %s.",
"Cheers!" : "Horee!",
"Use the following link to reset your password: {link}" : "Gunakan tautan berikut untuk menyetel ulang sandi Anda: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hai,<br><br>hanya memberi tahu jika %s membagikan <strong>%s</strong> dengan Anda.<br><a href=\"%s\">Lihat!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hai,<br><br>hanya memberi tahu jika %s membagikan <strong>%s</strong> dengan Anda.<br><a href=\"%s\">Lihat!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Gunakan pembaruan command-line karena Anda mempunyai instansi yang besar."
},
"nplurals=1; plural=0;");
diff --git a/core/l10n/id.json b/core/l10n/id.json
index 8639c6b818d..bedb8381410 100644
--- a/core/l10n/id.json
+++ b/core/l10n/id.json
@@ -252,7 +252,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Untuk menghindari waktu habis dengan instalasi yang lebih besar, Anda bisa menjalankan perintah berikut dari direktori instalasi Anda:",
"Detailed logs" : "Log detail",
"Update needed" : "Pembaruan dibutuhkan",
- "Please use the command line updater because you have a big instance." : "Gunakan pembaruan command-line karena Anda mempunyai instansi yang besar.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Untuk bantuan, lihat <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentasi</a>.",
"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.",
@@ -288,6 +287,7 @@
"The share will expire on %s." : "Pembagian akan berakhir pada %s.",
"Cheers!" : "Horee!",
"Use the following link to reset your password: {link}" : "Gunakan tautan berikut untuk menyetel ulang sandi Anda: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hai,<br><br>hanya memberi tahu jika %s membagikan <strong>%s</strong> dengan Anda.<br><a href=\"%s\">Lihat!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hai,<br><br>hanya memberi tahu jika %s membagikan <strong>%s</strong> dengan Anda.<br><a href=\"%s\">Lihat!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Gunakan pembaruan command-line karena Anda mempunyai instansi yang besar."
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/core/l10n/is.js b/core/l10n/is.js
index 0ed52aa0d0b..b89cc19d9a4 100644
--- a/core/l10n/is.js
+++ b/core/l10n/is.js
@@ -15,10 +15,14 @@ OC.L10N.register(
"No valid crop data provided" : "Enginn gild gögn um utanskurð gefin",
"Crop is not square" : "Utanskurður er ekki ferningslaga",
"State token does not match" : "Stöðuteikn samsvarar ekki",
+ "Auth flow can only be started unauthenticated." : "Aðeins er hægt að ræsa auðkenningarflæði á þess að vera auðkenndur.",
+ "Password reset is disabled" : "Endurstilling lykilorðs er óvirk",
"Couldn't reset password because the token is invalid" : "Gat ekki endurstillt lykilorðið vegna þess að teiknið er ógilt",
"Couldn't reset password because the token is expired" : "Gat ekki endurstillt lykilorðið vegna þess að teiknið er útrunnið",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Gat ekki sent endurstillingu í tölvupósti því það er ekkert gilt tölvupóstfang fyrir þennan notanda. Hafðu samband við kerfisstjóra.",
"Password reset" : "Endurstilling lykilorðs",
+ "Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Smelltu á eftirfarandi hnapp til að endurstilla lykilorðið þitt. Ef þú hefur ekki beðið um endurstillingu lykilorðs, skaltu hunsa þennan tölvupóst.",
+ "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Smelltu á eftirfarandi tengil til að endurstilla lykilorðið þitt. Ef þú hefur ekki beðið um endurstillingu lykilorðs, skaltu hunsa þennan tölvupóst.",
"Reset your password" : "Endurstilltu lykilorðið þitt",
"%s password reset" : "%s lykilorð endurstillt",
"Couldn't send reset email. Please contact your administrator." : "Gat ekki sent endurstillingu í tölvupósti. Hafðu samband við kerfisstjóra.",
@@ -37,6 +41,9 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Athuga hvort hægt sé að uppfæra gagnagrunnsskema (þetta getur tekið langan tíma ef gagnagrunnurinn er mjög stór)",
"Checked database schema update" : "Athugaði uppfærslu á gagnagrunnsskema.",
"Checking updates of apps" : "Athuga með uppfærslur á öppum",
+ "Checking for update of app \"%s\" in appstore" : "Athuga með uppfærslur á \"%s\"-forriti í hugbúnaðarsafni",
+ "Update app \"%s\" from appstore" : "Uppfæra \"%s\" úr hugbúnaðarsafni",
+ "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 \"%s\" to %s" : "Uppfærði \"%s\" í %s",
@@ -55,6 +62,7 @@ OC.L10N.register(
"Looking for {term} …" : "Leita að {term} …",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Það komu upp vandamál með athugun á áreiðanleika kóða. Nánari upplýsingar…</a>",
"No action available" : "Engin aðgerð tiltæk",
+ "Error fetching contact actions" : "Villa við að sækja aðgerðir tengiliða",
"Settings" : "Stillingar",
"Connection to server lost" : "Tenging við miðlara rofnaði",
"_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Vandamál við að hlaða inn síðu, endurhleð eftir %n sekúndu","Vandamál við að hlaða inn síðu, endurhleð eftir %n sekúndur"],
@@ -135,6 +143,7 @@ OC.L10N.register(
"Email link to person" : "Senda veftengil í tölvupósti til notanda",
"Send" : "Senda",
"Allow upload and editing" : "Leyfa innsendingu og breytingar",
+ "Read only" : "Skrifvarið",
"Secure drop (upload only)" : "Örugg slepping skráa (einungis innsending)",
"Shared with you and the group {group} by {owner}" : "Deilt með þér og hópnum {group} af {owner}",
"Shared with you by {owner}" : "Deilt með þér af {owner}",
@@ -164,6 +173,9 @@ OC.L10N.register(
"{sharee} (email)" : "{sharee} (tölvupóstur)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Deila",
+ "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.",
"Name or email address..." : "Nafn eða tölvupóstfang...",
"Name or federated cloud ID..." : "Nafn eða skýjasambandsauðkenni (Federated Cloud ID)...",
"Name, federated cloud ID or email address..." : "Nafn, skýjasambandsauðkenni eða tölvupóstfang...",
@@ -290,7 +302,7 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Til að forðast að falla á tímamörkum með stærri uppsetningar, getur þú í staðinn keyrt eftirfarandi skipun úr uppsetningarmöppunni:",
"Detailed logs" : "Ítarlegir annálar",
"Update needed" : "Þarfnast uppfærslu",
- "Please use the command line updater because you have a big instance." : "Endilega notaðu uppfærslutólið af skipanalínu, því þú ert með mjög stóra uppsetningu.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Endilega notaðu uppfærslutólið af skipanalínu, því þú ert með mjög stóra uppsetningu með fleiri en 50 notendum.",
"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 %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ý.",
@@ -326,6 +338,7 @@ OC.L10N.register(
"The share will expire on %s." : "Gildistími sameignar rennur út %s.",
"Cheers!" : "Skál!",
"Use the following link to reset your password: {link}" : "Notað eftirfarandi veftengil til að endursetja lykilorðið þitt: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hæ þú,<br><br>bara að láta þig vita að %s deildi <strong>%s</strong> með þér.<br><a href=\"%s\">Skoðaðu það!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hæ þú,<br><br>bara að láta þig vita að %s deildi <strong>%s</strong> með þér.<br><a href=\"%s\">Skoðaðu það!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Endilega notaðu uppfærslutólið af skipanalínu, því þú ert með mjög stóra uppsetningu."
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/core/l10n/is.json b/core/l10n/is.json
index c84bed42b8a..1cba18b9e72 100644
--- a/core/l10n/is.json
+++ b/core/l10n/is.json
@@ -13,10 +13,14 @@
"No valid crop data provided" : "Enginn gild gögn um utanskurð gefin",
"Crop is not square" : "Utanskurður er ekki ferningslaga",
"State token does not match" : "Stöðuteikn samsvarar ekki",
+ "Auth flow can only be started unauthenticated." : "Aðeins er hægt að ræsa auðkenningarflæði á þess að vera auðkenndur.",
+ "Password reset is disabled" : "Endurstilling lykilorðs er óvirk",
"Couldn't reset password because the token is invalid" : "Gat ekki endurstillt lykilorðið vegna þess að teiknið er ógilt",
"Couldn't reset password because the token is expired" : "Gat ekki endurstillt lykilorðið vegna þess að teiknið er útrunnið",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Gat ekki sent endurstillingu í tölvupósti því það er ekkert gilt tölvupóstfang fyrir þennan notanda. Hafðu samband við kerfisstjóra.",
"Password reset" : "Endurstilling lykilorðs",
+ "Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Smelltu á eftirfarandi hnapp til að endurstilla lykilorðið þitt. Ef þú hefur ekki beðið um endurstillingu lykilorðs, skaltu hunsa þennan tölvupóst.",
+ "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Smelltu á eftirfarandi tengil til að endurstilla lykilorðið þitt. Ef þú hefur ekki beðið um endurstillingu lykilorðs, skaltu hunsa þennan tölvupóst.",
"Reset your password" : "Endurstilltu lykilorðið þitt",
"%s password reset" : "%s lykilorð endurstillt",
"Couldn't send reset email. Please contact your administrator." : "Gat ekki sent endurstillingu í tölvupósti. Hafðu samband við kerfisstjóra.",
@@ -35,6 +39,9 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Athuga hvort hægt sé að uppfæra gagnagrunnsskema (þetta getur tekið langan tíma ef gagnagrunnurinn er mjög stór)",
"Checked database schema update" : "Athugaði uppfærslu á gagnagrunnsskema.",
"Checking updates of apps" : "Athuga með uppfærslur á öppum",
+ "Checking for update of app \"%s\" in appstore" : "Athuga með uppfærslur á \"%s\"-forriti í hugbúnaðarsafni",
+ "Update app \"%s\" from appstore" : "Uppfæra \"%s\" úr hugbúnaðarsafni",
+ "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 \"%s\" to %s" : "Uppfærði \"%s\" í %s",
@@ -53,6 +60,7 @@
"Looking for {term} …" : "Leita að {term} …",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Það komu upp vandamál með athugun á áreiðanleika kóða. Nánari upplýsingar…</a>",
"No action available" : "Engin aðgerð tiltæk",
+ "Error fetching contact actions" : "Villa við að sækja aðgerðir tengiliða",
"Settings" : "Stillingar",
"Connection to server lost" : "Tenging við miðlara rofnaði",
"_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Vandamál við að hlaða inn síðu, endurhleð eftir %n sekúndu","Vandamál við að hlaða inn síðu, endurhleð eftir %n sekúndur"],
@@ -133,6 +141,7 @@
"Email link to person" : "Senda veftengil í tölvupósti til notanda",
"Send" : "Senda",
"Allow upload and editing" : "Leyfa innsendingu og breytingar",
+ "Read only" : "Skrifvarið",
"Secure drop (upload only)" : "Örugg slepping skráa (einungis innsending)",
"Shared with you and the group {group} by {owner}" : "Deilt með þér og hópnum {group} af {owner}",
"Shared with you by {owner}" : "Deilt með þér af {owner}",
@@ -162,6 +171,9 @@
"{sharee} (email)" : "{sharee} (tölvupóstur)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Deila",
+ "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.",
"Name or email address..." : "Nafn eða tölvupóstfang...",
"Name or federated cloud ID..." : "Nafn eða skýjasambandsauðkenni (Federated Cloud ID)...",
"Name, federated cloud ID or email address..." : "Nafn, skýjasambandsauðkenni eða tölvupóstfang...",
@@ -288,7 +300,7 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Til að forðast að falla á tímamörkum með stærri uppsetningar, getur þú í staðinn keyrt eftirfarandi skipun úr uppsetningarmöppunni:",
"Detailed logs" : "Ítarlegir annálar",
"Update needed" : "Þarfnast uppfærslu",
- "Please use the command line updater because you have a big instance." : "Endilega notaðu uppfærslutólið af skipanalínu, því þú ert með mjög stóra uppsetningu.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Endilega notaðu uppfærslutólið af skipanalínu, því þú ert með mjög stóra uppsetningu með fleiri en 50 notendum.",
"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 %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ý.",
@@ -324,6 +336,7 @@
"The share will expire on %s." : "Gildistími sameignar rennur út %s.",
"Cheers!" : "Skál!",
"Use the following link to reset your password: {link}" : "Notað eftirfarandi veftengil til að endursetja lykilorðið þitt: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hæ þú,<br><br>bara að láta þig vita að %s deildi <strong>%s</strong> með þér.<br><a href=\"%s\">Skoðaðu það!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hæ þú,<br><br>bara að láta þig vita að %s deildi <strong>%s</strong> með þér.<br><a href=\"%s\">Skoðaðu það!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Endilega notaðu uppfærslutólið af skipanalínu, því þú ert með mjög stóra uppsetningu."
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/core/l10n/it.js b/core/l10n/it.js
index baf6fc6c3bc..e2c3d6102fd 100644
--- a/core/l10n/it.js
+++ b/core/l10n/it.js
@@ -272,7 +272,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Per evitare timeout con installazioni di grandi dimensioni, puoi eseguire il comando che segue dalla cartella di installazione:",
"Detailed logs" : "Log dettagliati",
"Update needed" : "Aggiornamento necessario",
- "Please use the command line updater because you have a big instance." : "Utilizza lo strumento da riga di comando per la grandezza della tua istanza.",
"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 %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.",
@@ -308,6 +307,7 @@ OC.L10N.register(
"The share will expire on %s." : "La condivisione scadrà il %s.",
"Cheers!" : "Saluti!",
"Use the following link to reset your password: {link}" : "Usa il collegamento seguente per ripristinare la password: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Ciao,<br><br>volevo informarti che %s ha condiviso <strong>%s</strong> con te.<br><a href=\"%s\">Guarda!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Ciao,<br><br>volevo informarti che %s ha condiviso <strong>%s</strong> con te.<br><a href=\"%s\">Guarda!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Utilizza lo strumento da riga di comando per la grandezza della tua istanza."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/it.json b/core/l10n/it.json
index 8f44d1c2f1e..0627a15af2a 100644
--- a/core/l10n/it.json
+++ b/core/l10n/it.json
@@ -270,7 +270,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Per evitare timeout con installazioni di grandi dimensioni, puoi eseguire il comando che segue dalla cartella di installazione:",
"Detailed logs" : "Log dettagliati",
"Update needed" : "Aggiornamento necessario",
- "Please use the command line updater because you have a big instance." : "Utilizza lo strumento da riga di comando per la grandezza della tua istanza.",
"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 %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.",
@@ -306,6 +305,7 @@
"The share will expire on %s." : "La condivisione scadrà il %s.",
"Cheers!" : "Saluti!",
"Use the following link to reset your password: {link}" : "Usa il collegamento seguente per ripristinare la password: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Ciao,<br><br>volevo informarti che %s ha condiviso <strong>%s</strong> con te.<br><a href=\"%s\">Guarda!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Ciao,<br><br>volevo informarti che %s ha condiviso <strong>%s</strong> con te.<br><a href=\"%s\">Guarda!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Utilizza lo strumento da riga di comando per la grandezza della tua istanza."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/ja.js b/core/l10n/ja.js
index 6bc2f471a4a..16c47f06648 100644
--- a/core/l10n/ja.js
+++ b/core/l10n/ja.js
@@ -274,7 +274,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "大規模なサイトの場合、ブラウザーがタイムアウトする可能性があるため、インストールディレクトリで以下のコマンドを実行することもできます。",
"Detailed logs" : "詳細ログ",
"Update needed" : "更新が必要です",
- "Please use the command line updater because you have a big instance." : "データ量が大きいため、コマンドラインでの更新を利用してください。",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "不明な場合、<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">ドキュメント</a>を参照してください。",
"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 の再起動後に自動的に更新されます。",
@@ -310,6 +309,7 @@ OC.L10N.register(
"The share will expire on %s." : "共有は %s で有効期限が切れます。",
"Cheers!" : "それでは!",
"Use the following link to reset your password: {link}" : "パスワードをリセットするには次のリンクをクリックしてください: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "こんにちは、<br><br>%sがあなたと »%s« を共有したことをお知らせします。<br><a href=\"%s\">それを表示</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "こんにちは、<br><br>%sがあなたと »%s« を共有したことをお知らせします。<br><a href=\"%s\">それを表示</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "データ量が大きいため、コマンドラインでの更新を利用してください。"
},
"nplurals=1; plural=0;");
diff --git a/core/l10n/ja.json b/core/l10n/ja.json
index 192ea81c69d..62348edbad0 100644
--- a/core/l10n/ja.json
+++ b/core/l10n/ja.json
@@ -272,7 +272,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "大規模なサイトの場合、ブラウザーがタイムアウトする可能性があるため、インストールディレクトリで以下のコマンドを実行することもできます。",
"Detailed logs" : "詳細ログ",
"Update needed" : "更新が必要です",
- "Please use the command line updater because you have a big instance." : "データ量が大きいため、コマンドラインでの更新を利用してください。",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "不明な場合、<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">ドキュメント</a>を参照してください。",
"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 の再起動後に自動的に更新されます。",
@@ -308,6 +307,7 @@
"The share will expire on %s." : "共有は %s で有効期限が切れます。",
"Cheers!" : "それでは!",
"Use the following link to reset your password: {link}" : "パスワードをリセットするには次のリンクをクリックしてください: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "こんにちは、<br><br>%sがあなたと »%s« を共有したことをお知らせします。<br><a href=\"%s\">それを表示</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "こんにちは、<br><br>%sがあなたと »%s« を共有したことをお知らせします。<br><a href=\"%s\">それを表示</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "データ量が大きいため、コマンドラインでの更新を利用してください。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/core/l10n/ko.js b/core/l10n/ko.js
index f1af50c0c5a..49a215f639c 100644
--- a/core/l10n/ko.js
+++ b/core/l10n/ko.js
@@ -297,7 +297,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "큰 파일을 설치하는 경우 시간이 초과될 수 있으므로, 설치 디렉터리에서 다음 명령을 실행하셔도 됩니다:",
"Detailed logs" : "자세한 로그",
"Update needed" : "업데이트 필요",
- "Please use the command line updater because you have a big instance." : "현재 인스턴스 크기가 크기 때문에 명령행 업데이터를 사용하십시오.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "도움이 필요한 경우 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">문서</a>를 참조하십시오.",
"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 인스턴스를 다시 사용할 수 있으면 자동으로 새로 고칩니다.",
@@ -333,6 +332,7 @@ OC.L10N.register(
"The share will expire on %s." : "이 공유는 %s에 만료됩니다.",
"Cheers!" : "감사합니다!",
"Use the following link to reset your password: {link}" : "다음 링크를 사용하여 암호를 재설정할 수 있습니다: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "안녕하세요,<br><br>%s 님이 <strong>%s</strong>을(를) 공유하였음을 알려 드립니다.<br><a href=\"%s\">보러 가기!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "안녕하세요,<br><br>%s 님이 <strong>%s</strong>을(를) 공유하였음을 알려 드립니다.<br><a href=\"%s\">보러 가기!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "현재 인스턴스 크기가 크기 때문에 명령행 업데이터를 사용하십시오."
},
"nplurals=1; plural=0;");
diff --git a/core/l10n/ko.json b/core/l10n/ko.json
index 78917f8a9cc..606d5cbb55d 100644
--- a/core/l10n/ko.json
+++ b/core/l10n/ko.json
@@ -295,7 +295,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "큰 파일을 설치하는 경우 시간이 초과될 수 있으므로, 설치 디렉터리에서 다음 명령을 실행하셔도 됩니다:",
"Detailed logs" : "자세한 로그",
"Update needed" : "업데이트 필요",
- "Please use the command line updater because you have a big instance." : "현재 인스턴스 크기가 크기 때문에 명령행 업데이터를 사용하십시오.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "도움이 필요한 경우 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">문서</a>를 참조하십시오.",
"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 인스턴스를 다시 사용할 수 있으면 자동으로 새로 고칩니다.",
@@ -331,6 +330,7 @@
"The share will expire on %s." : "이 공유는 %s에 만료됩니다.",
"Cheers!" : "감사합니다!",
"Use the following link to reset your password: {link}" : "다음 링크를 사용하여 암호를 재설정할 수 있습니다: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "안녕하세요,<br><br>%s 님이 <strong>%s</strong>을(를) 공유하였음을 알려 드립니다.<br><a href=\"%s\">보러 가기!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "안녕하세요,<br><br>%s 님이 <strong>%s</strong>을(를) 공유하였음을 알려 드립니다.<br><a href=\"%s\">보러 가기!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "현재 인스턴스 크기가 크기 때문에 명령행 업데이터를 사용하십시오."
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/core/l10n/nb.js b/core/l10n/nb.js
index de8088af803..83ef31c7f08 100644
--- a/core/l10n/nb.js
+++ b/core/l10n/nb.js
@@ -1,7 +1,7 @@
OC.L10N.register(
"core",
{
- "Please select a file." : "Velg en fil.",
+ "Please select a file." : "Velg ei fil.",
"File is too big" : "Filen er for stor",
"The selected file is not an image." : "Den valgte filen er ikke et bilde.",
"The selected file cannot be read." : "Den valgte filen kan ikke leses.",
@@ -243,7 +243,7 @@ OC.L10N.register(
"Database name" : "Databasenavn",
"Database tablespace" : "Database-tabellområde",
"Database host" : "Databasevert",
- "Please specify the port number along with the host name (e.g., localhost:5432)." : "Vennligst spesifiser portnr. sammen med tjenernavnet (eks., localhost:5432).",
+ "Please specify the port number along with the host name (e.g., localhost:5432)." : "Spesifiser portnr. sammen med tjenernavnet (eks., localhost:5432).",
"Performance warning" : "Ytelsesadvarsel",
"SQLite will be used as database." : "SQLite vil bli brukt som database.",
"For larger installations we recommend to choose a different database backend." : "For større installasjoner anbefaler vi å velge en annen database.",
@@ -253,7 +253,7 @@ OC.L10N.register(
"Need help?" : "Trenger du hjelp?",
"See the documentation" : "Se dokumentasjonen",
"This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Denne applikasjonen krever JavaScript for å fungere korrekt. {linkstart}Aktiver JavaScript{linkend} og last siden på nytt.",
- "More apps" : "Flere apper",
+ "More apps" : "Flere programmer",
"Search" : "Søk",
"This action requires you to confirm your password:" : "Denne handlingen krever at du bekrefter ditt passord:",
"Confirm your password" : "Bekreft ditt passord",
@@ -298,7 +298,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "For å unngå tidsavbrudd ved store installasjoner, kan du i stedet kjøre følgende kommando fra installasjonsmappen:",
"Detailed logs" : "Detaljerte logger",
"Update needed" : "Oppdatering er nødvendig",
- "Please use the command line updater because you have a big instance." : "Vennligst oppdater ved hjelp av kommandolinjen ettersom du har en stor installasjon.",
"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 %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.",
@@ -334,6 +333,7 @@ OC.L10N.register(
"The share will expire on %s." : "Delingen vil opphøre %s.",
"Cheers!" : "Ha det!",
"Use the following link to reset your password: {link}" : "Bruk følgende lenke for å tilbakestille passordet ditt: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hei,<br><br>Dette er en beskjed om at %s delte <strong>%s</strong> med deg.<br><a href=\"%s\">Vis den!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hei,<br><br>Dette er en beskjed om at %s delte <strong>%s</strong> med deg.<br><a href=\"%s\">Vis den!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Vennligst oppdater ved hjelp av kommandolinjen ettersom du har en stor installasjon."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/nb.json b/core/l10n/nb.json
index b4fba808425..fc20a8b7e4f 100644
--- a/core/l10n/nb.json
+++ b/core/l10n/nb.json
@@ -1,5 +1,5 @@
{ "translations": {
- "Please select a file." : "Velg en fil.",
+ "Please select a file." : "Velg ei fil.",
"File is too big" : "Filen er for stor",
"The selected file is not an image." : "Den valgte filen er ikke et bilde.",
"The selected file cannot be read." : "Den valgte filen kan ikke leses.",
@@ -241,7 +241,7 @@
"Database name" : "Databasenavn",
"Database tablespace" : "Database-tabellområde",
"Database host" : "Databasevert",
- "Please specify the port number along with the host name (e.g., localhost:5432)." : "Vennligst spesifiser portnr. sammen med tjenernavnet (eks., localhost:5432).",
+ "Please specify the port number along with the host name (e.g., localhost:5432)." : "Spesifiser portnr. sammen med tjenernavnet (eks., localhost:5432).",
"Performance warning" : "Ytelsesadvarsel",
"SQLite will be used as database." : "SQLite vil bli brukt som database.",
"For larger installations we recommend to choose a different database backend." : "For større installasjoner anbefaler vi å velge en annen database.",
@@ -251,7 +251,7 @@
"Need help?" : "Trenger du hjelp?",
"See the documentation" : "Se dokumentasjonen",
"This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Denne applikasjonen krever JavaScript for å fungere korrekt. {linkstart}Aktiver JavaScript{linkend} og last siden på nytt.",
- "More apps" : "Flere apper",
+ "More apps" : "Flere programmer",
"Search" : "Søk",
"This action requires you to confirm your password:" : "Denne handlingen krever at du bekrefter ditt passord:",
"Confirm your password" : "Bekreft ditt passord",
@@ -296,7 +296,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "For å unngå tidsavbrudd ved store installasjoner, kan du i stedet kjøre følgende kommando fra installasjonsmappen:",
"Detailed logs" : "Detaljerte logger",
"Update needed" : "Oppdatering er nødvendig",
- "Please use the command line updater because you have a big instance." : "Vennligst oppdater ved hjelp av kommandolinjen ettersom du har en stor installasjon.",
"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 %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.",
@@ -332,6 +331,7 @@
"The share will expire on %s." : "Delingen vil opphøre %s.",
"Cheers!" : "Ha det!",
"Use the following link to reset your password: {link}" : "Bruk følgende lenke for å tilbakestille passordet ditt: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hei,<br><br>Dette er en beskjed om at %s delte <strong>%s</strong> med deg.<br><a href=\"%s\">Vis den!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hei,<br><br>Dette er en beskjed om at %s delte <strong>%s</strong> med deg.<br><a href=\"%s\">Vis den!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Vennligst oppdater ved hjelp av kommandolinjen ettersom du har en stor installasjon."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/nl.js b/core/l10n/nl.js
index b181bc9f9e2..8651ddbb95d 100644
--- a/core/l10n/nl.js
+++ b/core/l10n/nl.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Crop is not square" : "Bijsnijden is niet vierkant",
"State token does not match" : "Token staat komt niet overeen",
"Auth flow can only be started unauthenticated." : "Auth flow kan alleen niet geautoriseerd gestart worden.",
+ "Password reset is disabled" : "Herstel wachtwoord is uitgeschakeld",
"Couldn't reset password because the token is invalid" : "Kon het wachtwoord niet herstellen, omdat het token ongeldig is",
"Couldn't reset password because the token is expired" : "Kon het wachtwoord niet herstellen, omdat het token verlopen is",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Kon geen herstel e-mail versturen, omdat er geen e-mailadres bekend is bij deze gebruikersnaam. Neem contact op met je beheerder.",
@@ -40,6 +41,9 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Controleert of het databaseschema geüpdatet kan worden (dit kan lang duren afhankelijk van de grootte van de de database)",
"Checked database schema update" : "Database schema-update gecontroleerd",
"Checking updates of apps" : "Controleert of er app updates zijn",
+ "Checking for update of app \"%s\" in appstore" : "Controleren of er updates zijn voor de app \"%s\"",
+ "Update app \"%s\" from appstore" : "App \"%s\" updaten in de appstore",
+ "Checked for update of app \"%s\" in appstore" : "Op updates gecontroleerd voor de app \"%s\"",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Controleert of het databaseschema voor %s geüpdatet kan worden (dit kan lang duren afhankelijk van de grootte van de database)",
"Checked database schema update for apps" : "Databaseschema update voor apps gecontroleerd",
"Updated \"%s\" to %s" : "Bijgewerkt \"%s\" naar %s",
@@ -298,8 +302,10 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Om time-outs tijdens grotere installaties te voorkomen, kun je in plaats hiervan de volgende opdracht geven vanaf je installatiedirectory:",
"Detailed logs" : "Gedetailleerde logs",
"Update needed" : "Update vereist",
- "Please use the command line updater because you have a big instance." : "Gebruik de commandoregel updater, omdat je een grote Nextcloud hebt.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Gebruik alsjeblieft de command line updater omdat je een installatie hebt met meer dan 50 gebruikers.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Voor hulp, lees de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatie</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." : "De update via de web UI heeft risico's. Het verzoek leidt mogelijk tot een timeout en kan tot verlies van gegevens leiden. Ik heb een backup 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",
"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.",
"Problem loading page, reloading in 5 seconds" : "Kan de pagina niet laden, verversen in 5 seconden",
@@ -334,6 +340,7 @@ OC.L10N.register(
"The share will expire on %s." : "Het gedeelde vervalt op %s.",
"Cheers!" : "Proficiat!",
"Use the following link to reset your password: {link}" : "Gebruik de volgende link om je wachtwoord te resetten: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hallo daar,<br><br>%s deelde <strong>%s</strong> met je.<br><a href=\"%s\">Bekijk het hier!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hallo daar,<br><br>%s deelde <strong>%s</strong> met je.<br><a href=\"%s\">Bekijk het hier!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Gebruik de commandoregel updater, omdat je een grote Nextcloud hebt."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/nl.json b/core/l10n/nl.json
index e2631655212..01b757a0446 100644
--- a/core/l10n/nl.json
+++ b/core/l10n/nl.json
@@ -14,6 +14,7 @@
"Crop is not square" : "Bijsnijden is niet vierkant",
"State token does not match" : "Token staat komt niet overeen",
"Auth flow can only be started unauthenticated." : "Auth flow kan alleen niet geautoriseerd gestart worden.",
+ "Password reset is disabled" : "Herstel wachtwoord is uitgeschakeld",
"Couldn't reset password because the token is invalid" : "Kon het wachtwoord niet herstellen, omdat het token ongeldig is",
"Couldn't reset password because the token is expired" : "Kon het wachtwoord niet herstellen, omdat het token verlopen is",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Kon geen herstel e-mail versturen, omdat er geen e-mailadres bekend is bij deze gebruikersnaam. Neem contact op met je beheerder.",
@@ -38,6 +39,9 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Controleert of het databaseschema geüpdatet kan worden (dit kan lang duren afhankelijk van de grootte van de de database)",
"Checked database schema update" : "Database schema-update gecontroleerd",
"Checking updates of apps" : "Controleert of er app updates zijn",
+ "Checking for update of app \"%s\" in appstore" : "Controleren of er updates zijn voor de app \"%s\"",
+ "Update app \"%s\" from appstore" : "App \"%s\" updaten in de appstore",
+ "Checked for update of app \"%s\" in appstore" : "Op updates gecontroleerd voor de app \"%s\"",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Controleert of het databaseschema voor %s geüpdatet kan worden (dit kan lang duren afhankelijk van de grootte van de database)",
"Checked database schema update for apps" : "Databaseschema update voor apps gecontroleerd",
"Updated \"%s\" to %s" : "Bijgewerkt \"%s\" naar %s",
@@ -296,8 +300,10 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Om time-outs tijdens grotere installaties te voorkomen, kun je in plaats hiervan de volgende opdracht geven vanaf je installatiedirectory:",
"Detailed logs" : "Gedetailleerde logs",
"Update needed" : "Update vereist",
- "Please use the command line updater because you have a big instance." : "Gebruik de commandoregel updater, omdat je een grote Nextcloud hebt.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Gebruik alsjeblieft de command line updater omdat je een installatie hebt met meer dan 50 gebruikers.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Voor hulp, lees de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatie</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." : "De update via de web UI heeft risico's. Het verzoek leidt mogelijk tot een timeout en kan tot verlies van gegevens leiden. Ik heb een backup 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",
"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.",
"Problem loading page, reloading in 5 seconds" : "Kan de pagina niet laden, verversen in 5 seconden",
@@ -332,6 +338,7 @@
"The share will expire on %s." : "Het gedeelde vervalt op %s.",
"Cheers!" : "Proficiat!",
"Use the following link to reset your password: {link}" : "Gebruik de volgende link om je wachtwoord te resetten: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hallo daar,<br><br>%s deelde <strong>%s</strong> met je.<br><a href=\"%s\">Bekijk het hier!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hallo daar,<br><br>%s deelde <strong>%s</strong> met je.<br><a href=\"%s\">Bekijk het hier!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Gebruik de commandoregel updater, omdat je een grote Nextcloud hebt."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/pl.js b/core/l10n/pl.js
index 3d8144f23f2..497666105f9 100644
--- a/core/l10n/pl.js
+++ b/core/l10n/pl.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Crop is not square" : "Przycięcie nie jest prostokątem",
"State token does not match" : "Token stanu nie pasuje",
"Auth flow can only be started unauthenticated." : "Autoryzacja przepływu może być rozpoczęta tylko niezautoryzowana",
+ "Password reset is disabled" : "Resetowanie hasła jest wyłączone",
"Couldn't reset password because the token is invalid" : "Nie można zresetować hasła, ponieważ token jest niepoprawny",
"Couldn't reset password because the token is expired" : "Nie można zresetować hasła, ponieważ token wygasł",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Nie udało się wysłać ponownego e-maila, ponieważ nie ma adresu e-mail do tego użytkownika. Proszę skontaktować się z administratorem.",
@@ -40,6 +41,9 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Sprawdzam czy schemat bazy danych może zostać zaktualizowany (to może zająć sporo czasu i zależy od rozmiaru bazy danych)",
"Checked database schema update" : "Sprawdzono aktualizację schematu bazy danych",
"Checking updates of apps" : "Sprawdzam aktualizacje aplikacji",
+ "Checking for update of app \"%s\" in appstore" : "Sprawdzanie aktualizacji dla aplikacji \"%s\" w sklepie aplikacji",
+ "Update app \"%s\" from appstore" : "Zaktualizuj aplikację \"%s\" ze sklepu aplikacji",
+ "Checked for update of app \"%s\" in appstore" : "Sprawdzono aktualizację dla aplikacji \"%s\" w sklepie aplikacji.",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Sprawdzam czy schemat bazy danych %s może zostać zaktualizowany (to może zająć sporo czasu i zależy od rozmiaru bazy danych)",
"Checked database schema update for apps" : "Sprawdzono aktualizację schematu bazy danych dla aplikacji",
"Updated \"%s\" to %s" : "Zaktualizowano \"%s\" do %s",
@@ -298,7 +302,7 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Aby uniknąć timeout-ów przy większych instalacjach, możesz zamiast tego uruchomić następującą komendę w katalogu Twojej instalacji:",
"Detailed logs" : "Szczegółowe logi",
"Update needed" : "Wymagana aktualizacja",
- "Please use the command line updater because you have a big instance." : "Ze względu na rozmiar Twojej instalacji użyj programu do aktualizacji z linii poleceń.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Proszę uzyć aktualizatora z wiersza poleceń, ponieważ masz dużą instancję z ponad 50-cioma użytkownikami.",
"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 %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.",
@@ -334,6 +338,7 @@ OC.L10N.register(
"The share will expire on %s." : "Ten zasób wygaśnie %s",
"Cheers!" : "Pozdrawiam!",
"Use the following link to reset your password: {link}" : "Użyj tego odnośnika by zresetować hasło: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Witam, <br><br>informuję, że %s udostępnianych zasobów <strong>%s</strong> jest z Tobą.<br><a href=\"%s\">Zobacz!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Witam, <br><br>informuję, że %s udostępnianych zasobów <strong>%s</strong> jest z Tobą.<br><a href=\"%s\">Zobacz!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Ze względu na rozmiar Twojej instalacji użyj programu do aktualizacji z linii poleceń."
},
"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/pl.json b/core/l10n/pl.json
index 069d335940c..46bd9d31c60 100644
--- a/core/l10n/pl.json
+++ b/core/l10n/pl.json
@@ -14,6 +14,7 @@
"Crop is not square" : "Przycięcie nie jest prostokątem",
"State token does not match" : "Token stanu nie pasuje",
"Auth flow can only be started unauthenticated." : "Autoryzacja przepływu może być rozpoczęta tylko niezautoryzowana",
+ "Password reset is disabled" : "Resetowanie hasła jest wyłączone",
"Couldn't reset password because the token is invalid" : "Nie można zresetować hasła, ponieważ token jest niepoprawny",
"Couldn't reset password because the token is expired" : "Nie można zresetować hasła, ponieważ token wygasł",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Nie udało się wysłać ponownego e-maila, ponieważ nie ma adresu e-mail do tego użytkownika. Proszę skontaktować się z administratorem.",
@@ -38,6 +39,9 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Sprawdzam czy schemat bazy danych może zostać zaktualizowany (to może zająć sporo czasu i zależy od rozmiaru bazy danych)",
"Checked database schema update" : "Sprawdzono aktualizację schematu bazy danych",
"Checking updates of apps" : "Sprawdzam aktualizacje aplikacji",
+ "Checking for update of app \"%s\" in appstore" : "Sprawdzanie aktualizacji dla aplikacji \"%s\" w sklepie aplikacji",
+ "Update app \"%s\" from appstore" : "Zaktualizuj aplikację \"%s\" ze sklepu aplikacji",
+ "Checked for update of app \"%s\" in appstore" : "Sprawdzono aktualizację dla aplikacji \"%s\" w sklepie aplikacji.",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Sprawdzam czy schemat bazy danych %s może zostać zaktualizowany (to może zająć sporo czasu i zależy od rozmiaru bazy danych)",
"Checked database schema update for apps" : "Sprawdzono aktualizację schematu bazy danych dla aplikacji",
"Updated \"%s\" to %s" : "Zaktualizowano \"%s\" do %s",
@@ -296,7 +300,7 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Aby uniknąć timeout-ów przy większych instalacjach, możesz zamiast tego uruchomić następującą komendę w katalogu Twojej instalacji:",
"Detailed logs" : "Szczegółowe logi",
"Update needed" : "Wymagana aktualizacja",
- "Please use the command line updater because you have a big instance." : "Ze względu na rozmiar Twojej instalacji użyj programu do aktualizacji z linii poleceń.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Proszę uzyć aktualizatora z wiersza poleceń, ponieważ masz dużą instancję z ponad 50-cioma użytkownikami.",
"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 %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.",
@@ -332,6 +336,7 @@
"The share will expire on %s." : "Ten zasób wygaśnie %s",
"Cheers!" : "Pozdrawiam!",
"Use the following link to reset your password: {link}" : "Użyj tego odnośnika by zresetować hasło: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Witam, <br><br>informuję, że %s udostępnianych zasobów <strong>%s</strong> jest z Tobą.<br><a href=\"%s\">Zobacz!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Witam, <br><br>informuję, że %s udostępnianych zasobów <strong>%s</strong> jest z Tobą.<br><a href=\"%s\">Zobacz!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Ze względu na rozmiar Twojej instalacji użyj programu do aktualizacji z linii poleceń."
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
} \ No newline at end of file
diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js
index f099c5a82c7..0134e9e900f 100644
--- a/core/l10n/pt_BR.js
+++ b/core/l10n/pt_BR.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Crop is not square" : "Recorte não é quadrado",
"State token does not match" : "O estado do token não coincide",
"Auth flow can only be started unauthenticated." : "O fluxo de autenticação só pode ser iniciado como não autenticado.",
+ "Password reset is disabled" : "A redefinição de senha está desabilitada",
"Couldn't reset password because the token is invalid" : "Não foi possível redefinir a senha porque o token é inválido",
"Couldn't reset password because the token is expired" : "Não foi possível redefinir a senha porque o token expirou",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Não foi possível enviar e-mail de redefinição porque não há nenhum endereço de e-mail para este nome de usuário. Entre em contato com o administrador.",
@@ -40,6 +41,9 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Verificando se o esquema do banco de dados pode ser atualizado (isso pode levar muito tempo, dependendo do tamanho do banco de dados)",
"Checked database schema update" : "Verificada a atualização do esquema de banco de dados",
"Checking updates of apps" : "Verificando atualizações de aplicativos",
+ "Checking for update of app \"%s\" in appstore" : "Verificando atualização para o aplicativo \"%s\" na appstore",
+ "Update app \"%s\" from appstore" : "Atualizar aplicativo \"%s\" a partir da appstore",
+ "Checked for update of app \"%s\" in appstore" : "Verificada atualização do aplicativo \"%s\" na appstore",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Verificando se o esquema do banco de dados para %s pode ser atualizado (isso pode levar muito tempo, dependendo do tamanho do banco de dados)",
"Checked database schema update for apps" : "Verificar atualização do esquema de banco de dados para aplicativos",
"Updated \"%s\" to %s" : "Atualizado \"%s\" para %s",
@@ -298,8 +302,10 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Para evitar tempos de espera com instalações maiores, você pode em vez disso executar o seguinte comando a partir do diretório de instalação:",
"Detailed logs" : "Logs detalhados",
"Update needed" : "Atualização necessária",
- "Please use the command line updater because you have a big instance." : "Por favor, use a atualização de linha de comando, porque você tem muitos dados em sua instância.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Use o atualizador pela linha de comando pois você tem uma grande instalação com mais de 50 usuários.",
"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>.",
+ "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",
"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 a instância %s estiver disponível novamente.",
"Problem loading page, reloading in 5 seconds" : "Problema no carregamento da página, recarregando em 5 segundos",
@@ -334,6 +340,7 @@ OC.L10N.register(
"The share will expire on %s." : "O compartilhamento irá expirar em %s.",
"Cheers!" : "Saudações!",
"Use the following link to reset your password: {link}" : "Use o seguinte link para redefinir sua senha: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Olá,<br><br>só para avisar que %s compartilhou <strong>%s</strong> com você. <br><a href=\"%s\">Visualize-o!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Olá,<br><br>só para avisar que %s compartilhou <strong>%s</strong> com você. <br><a href=\"%s\">Visualize-o!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Por favor, use a atualização de linha de comando, porque você tem muitos dados em sua instância."
},
"nplurals=2; plural=(n > 1);");
diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json
index d981f5c5ebe..e495bd7092c 100644
--- a/core/l10n/pt_BR.json
+++ b/core/l10n/pt_BR.json
@@ -14,6 +14,7 @@
"Crop is not square" : "Recorte não é quadrado",
"State token does not match" : "O estado do token não coincide",
"Auth flow can only be started unauthenticated." : "O fluxo de autenticação só pode ser iniciado como não autenticado.",
+ "Password reset is disabled" : "A redefinição de senha está desabilitada",
"Couldn't reset password because the token is invalid" : "Não foi possível redefinir a senha porque o token é inválido",
"Couldn't reset password because the token is expired" : "Não foi possível redefinir a senha porque o token expirou",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Não foi possível enviar e-mail de redefinição porque não há nenhum endereço de e-mail para este nome de usuário. Entre em contato com o administrador.",
@@ -38,6 +39,9 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Verificando se o esquema do banco de dados pode ser atualizado (isso pode levar muito tempo, dependendo do tamanho do banco de dados)",
"Checked database schema update" : "Verificada a atualização do esquema de banco de dados",
"Checking updates of apps" : "Verificando atualizações de aplicativos",
+ "Checking for update of app \"%s\" in appstore" : "Verificando atualização para o aplicativo \"%s\" na appstore",
+ "Update app \"%s\" from appstore" : "Atualizar aplicativo \"%s\" a partir da appstore",
+ "Checked for update of app \"%s\" in appstore" : "Verificada atualização do aplicativo \"%s\" na appstore",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Verificando se o esquema do banco de dados para %s pode ser atualizado (isso pode levar muito tempo, dependendo do tamanho do banco de dados)",
"Checked database schema update for apps" : "Verificar atualização do esquema de banco de dados para aplicativos",
"Updated \"%s\" to %s" : "Atualizado \"%s\" para %s",
@@ -296,8 +300,10 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Para evitar tempos de espera com instalações maiores, você pode em vez disso executar o seguinte comando a partir do diretório de instalação:",
"Detailed logs" : "Logs detalhados",
"Update needed" : "Atualização necessária",
- "Please use the command line updater because you have a big instance." : "Por favor, use a atualização de linha de comando, porque você tem muitos dados em sua instância.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "Use o atualizador pela linha de comando pois você tem uma grande instalação com mais de 50 usuários.",
"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>.",
+ "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",
"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 a instância %s estiver disponível novamente.",
"Problem loading page, reloading in 5 seconds" : "Problema no carregamento da página, recarregando em 5 segundos",
@@ -332,6 +338,7 @@
"The share will expire on %s." : "O compartilhamento irá expirar em %s.",
"Cheers!" : "Saudações!",
"Use the following link to reset your password: {link}" : "Use o seguinte link para redefinir sua senha: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Olá,<br><br>só para avisar que %s compartilhou <strong>%s</strong> com você. <br><a href=\"%s\">Visualize-o!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Olá,<br><br>só para avisar que %s compartilhou <strong>%s</strong> com você. <br><a href=\"%s\">Visualize-o!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Por favor, use a atualização de linha de comando, porque você tem muitos dados em sua instância."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/core/l10n/pt_PT.js b/core/l10n/pt_PT.js
index ce8531522c5..2327bae61a0 100644
--- a/core/l10n/pt_PT.js
+++ b/core/l10n/pt_PT.js
@@ -269,7 +269,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Para evitar tempos expirados com instalações maiores, em vez disso, pode executar o seguinte comando a partir da diretoria de instalação:",
"Detailed logs" : "Registos detalhados",
"Update needed" : "É necessário atualizar",
- "Please use the command line updater because you have a big instance." : "Por favor, utilize o atualizador de linha de comando porque a sua instância é grande.",
"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 %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.",
@@ -305,6 +304,7 @@ OC.L10N.register(
"The share will expire on %s." : "Esta partilha irá expirar em %s.",
"Cheers!" : "Parabéns!",
"Use the following link to reset your password: {link}" : "Utilize a seguinte hiperligação para repor a sua palavra-passe: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Olá,<br><br>apenas para informar que %s partilhou <strong>%s</strong> consigo.<br><a href=\"%s\">Consulte aqui!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Olá,<br><br>apenas para informar que %s partilhou <strong>%s</strong> consigo.<br><a href=\"%s\">Consulte aqui!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Por favor, utilize o atualizador de linha de comando porque a sua instância é grande."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/pt_PT.json b/core/l10n/pt_PT.json
index c1e584d1630..5ba2f81b155 100644
--- a/core/l10n/pt_PT.json
+++ b/core/l10n/pt_PT.json
@@ -267,7 +267,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Para evitar tempos expirados com instalações maiores, em vez disso, pode executar o seguinte comando a partir da diretoria de instalação:",
"Detailed logs" : "Registos detalhados",
"Update needed" : "É necessário atualizar",
- "Please use the command line updater because you have a big instance." : "Por favor, utilize o atualizador de linha de comando porque a sua instância é grande.",
"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 %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.",
@@ -303,6 +302,7 @@
"The share will expire on %s." : "Esta partilha irá expirar em %s.",
"Cheers!" : "Parabéns!",
"Use the following link to reset your password: {link}" : "Utilize a seguinte hiperligação para repor a sua palavra-passe: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Olá,<br><br>apenas para informar que %s partilhou <strong>%s</strong> consigo.<br><a href=\"%s\">Consulte aqui!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Olá,<br><br>apenas para informar que %s partilhou <strong>%s</strong> consigo.<br><a href=\"%s\">Consulte aqui!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Por favor, utilize o atualizador de linha de comando porque a sua instância é grande."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/ro.js b/core/l10n/ro.js
index 55092a78b35..3a1eae736f3 100644
--- a/core/l10n/ro.js
+++ b/core/l10n/ro.js
@@ -254,7 +254,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Pentru a evita timeout-uri la instalări de mari dimensiuni, poți rula în schimb următoarea comandă în folderul de instalare:",
"Detailed logs" : "Loguri detaliate",
"Update needed" : "E necesară actualizarea",
- "Please use the command line updater because you have a big instance." : "Folosește actualizarea din linia de comandă deoarece ai o instanță mare.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pentru ajutor, verifică <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentația</a>.",
"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.",
@@ -290,6 +289,7 @@ OC.L10N.register(
"The share will expire on %s." : "Partajarea va expira în data de %s.",
"Cheers!" : "Noroc!",
"Use the following link to reset your password: {link}" : "Folosește următorul link pentru a reseta parola: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Salutare,<br><br>te anunțăm pe această cale că %s a partajat <strong>%s</strong> cu tine.<br><a href=\"%s\">Accesează!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Salutare,<br><br>te anunțăm pe această cale că %s a partajat <strong>%s</strong> cu tine.<br><a href=\"%s\">Accesează!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Folosește actualizarea din linia de comandă deoarece ai o instanță mare."
},
"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/core/l10n/ro.json b/core/l10n/ro.json
index c035873c17e..7868fce6117 100644
--- a/core/l10n/ro.json
+++ b/core/l10n/ro.json
@@ -252,7 +252,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Pentru a evita timeout-uri la instalări de mari dimensiuni, poți rula în schimb următoarea comandă în folderul de instalare:",
"Detailed logs" : "Loguri detaliate",
"Update needed" : "E necesară actualizarea",
- "Please use the command line updater because you have a big instance." : "Folosește actualizarea din linia de comandă deoarece ai o instanță mare.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Pentru ajutor, verifică <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentația</a>.",
"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.",
@@ -288,6 +287,7 @@
"The share will expire on %s." : "Partajarea va expira în data de %s.",
"Cheers!" : "Noroc!",
"Use the following link to reset your password: {link}" : "Folosește următorul link pentru a reseta parola: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Salutare,<br><br>te anunțăm pe această cale că %s a partajat <strong>%s</strong> cu tine.<br><a href=\"%s\">Accesează!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Salutare,<br><br>te anunțăm pe această cale că %s a partajat <strong>%s</strong> cu tine.<br><a href=\"%s\">Accesează!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Folosește actualizarea din linia de comandă deoarece ai o instanță mare."
},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
} \ No newline at end of file
diff --git a/core/l10n/ru.js b/core/l10n/ru.js
index 995bc3ffed2..edeaa9605d9 100644
--- a/core/l10n/ru.js
+++ b/core/l10n/ru.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Crop is not square" : "Кадр не является квадратом",
"State token does not match" : "Токен состояния не соответствует",
"Auth flow can only be started unauthenticated." : "Процесс аутентификации может быть запущен только неаутентифицированным.",
+ "Password reset is disabled" : "Сброс пароля отключен",
"Couldn't reset password because the token is invalid" : "Не удалось сбросить пароль, неверный токен",
"Couldn't reset password because the token is expired" : "Не удалось сбросить пароль, срок действия токена истёк",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Не удалось отправить письмо сброса так как у данного пользователя не задан адрес электронной почты. Пожалуйста, обратитесь к администратору.",
@@ -40,6 +41,9 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Проверка возможности обновления схемы базы данных (это может занять длительное время в зависимости от размера базы данных)",
"Checked database schema update" : "Проверено обновление схемы БД",
"Checking updates of apps" : "Проверка обновлений для приложений",
+ "Checking for update of app \"%s\" in appstore" : "Проверяется наличие обновления для приложения «%s»",
+ "Update app \"%s\" from appstore" : "Обновите приложение «%s» в магазине приложений",
+ "Checked for update of app \"%s\" in appstore" : "Проверено наличие обновления для приложения «%s» в магазине приложенеий",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Проверка возможности обновления схемы базы данных для %s (это может занять длительное время в зависимости от размера базы данных)",
"Checked database schema update for apps" : "Проверено обновление схемы БД приложений",
"Updated \"%s\" to %s" : "Обновлено \"%s\" до %s",
@@ -298,8 +302,10 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Чтобы избежать тайм-аутов в крупных установках, вместо этого можно выполнить следующую команду в каталоге установки:",
"Detailed logs" : "Подробные журналы",
"Update needed" : "Требуется обновление",
- "Please use the command line updater because you have a big instance." : "Пожалуйста, используйте обновление через командную строку, так как данная установка имеет большой размер.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "У вас система более чем с 50 пользователями, для обновления используйте инструмент командной строки.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Для помощи, ознакомьтесь с <a target=\"_blank\" rel=\"noreferrer\" 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" : "Обновить через веб на мой страх и риск.",
"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 снова станет доступен.",
"Problem loading page, reloading in 5 seconds" : "Возникла проблема при загрузке страницы, повторная попытка через 5 секунд",
@@ -334,6 +340,7 @@ OC.L10N.register(
"The share will expire on %s." : "Доступ будет закрыт %s",
"Cheers!" : "Всего наилучшего!",
"Use the following link to reset your password: {link}" : "Используйте следующую ссылку чтобы сбросить пароль: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Здравствуйте,<br><br>%s поделился с вами <strong>%s</strong>.<br>Перейдите по <a href=\"%s\">ссылке</a>, чтобы посмотреть<br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Здравствуйте,<br><br>%s поделился с вами <strong>%s</strong>.<br>Перейдите по <a href=\"%s\">ссылке</a>, чтобы посмотреть<br><br>",
+ "Please use the command line updater because you have a big instance." : "Пожалуйста, используйте обновление через командную строку, так как данная установка имеет большой размер."
},
"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/ru.json b/core/l10n/ru.json
index f9a58afe9a3..f14fa9e0ce3 100644
--- a/core/l10n/ru.json
+++ b/core/l10n/ru.json
@@ -14,6 +14,7 @@
"Crop is not square" : "Кадр не является квадратом",
"State token does not match" : "Токен состояния не соответствует",
"Auth flow can only be started unauthenticated." : "Процесс аутентификации может быть запущен только неаутентифицированным.",
+ "Password reset is disabled" : "Сброс пароля отключен",
"Couldn't reset password because the token is invalid" : "Не удалось сбросить пароль, неверный токен",
"Couldn't reset password because the token is expired" : "Не удалось сбросить пароль, срок действия токена истёк",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Не удалось отправить письмо сброса так как у данного пользователя не задан адрес электронной почты. Пожалуйста, обратитесь к администратору.",
@@ -38,6 +39,9 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Проверка возможности обновления схемы базы данных (это может занять длительное время в зависимости от размера базы данных)",
"Checked database schema update" : "Проверено обновление схемы БД",
"Checking updates of apps" : "Проверка обновлений для приложений",
+ "Checking for update of app \"%s\" in appstore" : "Проверяется наличие обновления для приложения «%s»",
+ "Update app \"%s\" from appstore" : "Обновите приложение «%s» в магазине приложений",
+ "Checked for update of app \"%s\" in appstore" : "Проверено наличие обновления для приложения «%s» в магазине приложенеий",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Проверка возможности обновления схемы базы данных для %s (это может занять длительное время в зависимости от размера базы данных)",
"Checked database schema update for apps" : "Проверено обновление схемы БД приложений",
"Updated \"%s\" to %s" : "Обновлено \"%s\" до %s",
@@ -296,8 +300,10 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Чтобы избежать тайм-аутов в крупных установках, вместо этого можно выполнить следующую команду в каталоге установки:",
"Detailed logs" : "Подробные журналы",
"Update needed" : "Требуется обновление",
- "Please use the command line updater because you have a big instance." : "Пожалуйста, используйте обновление через командную строку, так как данная установка имеет большой размер.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "У вас система более чем с 50 пользователями, для обновления используйте инструмент командной строки.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Для помощи, ознакомьтесь с <a target=\"_blank\" rel=\"noreferrer\" 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" : "Обновить через веб на мой страх и риск.",
"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 снова станет доступен.",
"Problem loading page, reloading in 5 seconds" : "Возникла проблема при загрузке страницы, повторная попытка через 5 секунд",
@@ -332,6 +338,7 @@
"The share will expire on %s." : "Доступ будет закрыт %s",
"Cheers!" : "Всего наилучшего!",
"Use the following link to reset your password: {link}" : "Используйте следующую ссылку чтобы сбросить пароль: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Здравствуйте,<br><br>%s поделился с вами <strong>%s</strong>.<br>Перейдите по <a href=\"%s\">ссылке</a>, чтобы посмотреть<br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Здравствуйте,<br><br>%s поделился с вами <strong>%s</strong>.<br>Перейдите по <a href=\"%s\">ссылке</a>, чтобы посмотреть<br><br>",
+ "Please use the command line updater because you have a big instance." : "Пожалуйста, используйте обновление через командную строку, так как данная установка имеет большой размер."
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
} \ No newline at end of file
diff --git a/core/l10n/sk.js b/core/l10n/sk.js
index 5d19503431d..4ca31fe6a93 100644
--- a/core/l10n/sk.js
+++ b/core/l10n/sk.js
@@ -236,7 +236,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Aby nedošlo k vypršaniu časového limitu vo väčších inštaláciách, môžete namiesto toho použiť nasledujúci príkaz z inštalačného priečinka:",
"Detailed logs" : "Podrobné záznamy",
"Update needed" : "Aktualizácia je potrebná",
- "Please use the command line updater because you have a big instance." : "Vaša inštancia je veľká, použite prosím aktualizáciu cez príkazový riadok.",
"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á.",
"Problem loading page, reloading in 5 seconds" : "Nastal problém pri načítaní stránky, pokus sa zopakuje o 5 sekúnd",
@@ -268,6 +267,7 @@ OC.L10N.register(
"The share will expire on %s." : "Sprístupnenie vyprší %s.",
"Cheers!" : "Pekný deň!",
"Use the following link to reset your password: {link}" : "Použite nasledujúci odkaz pre obnovenie vášho hesla: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Dobrý deň,<br><br>používateľ %s Vám sprístupnil položku s názvom »%s«.<br><a href=\"%s\">Zobraziť!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Dobrý deň,<br><br>používateľ %s Vám sprístupnil položku s názvom »%s«.<br><a href=\"%s\">Zobraziť!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Vaša inštancia je veľká, použite prosím aktualizáciu cez príkazový riadok."
},
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/core/l10n/sk.json b/core/l10n/sk.json
index 9b6dd1c04b1..efb4593a200 100644
--- a/core/l10n/sk.json
+++ b/core/l10n/sk.json
@@ -234,7 +234,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Aby nedošlo k vypršaniu časového limitu vo väčších inštaláciách, môžete namiesto toho použiť nasledujúci príkaz z inštalačného priečinka:",
"Detailed logs" : "Podrobné záznamy",
"Update needed" : "Aktualizácia je potrebná",
- "Please use the command line updater because you have a big instance." : "Vaša inštancia je veľká, použite prosím aktualizáciu cez príkazový riadok.",
"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á.",
"Problem loading page, reloading in 5 seconds" : "Nastal problém pri načítaní stránky, pokus sa zopakuje o 5 sekúnd",
@@ -266,6 +265,7 @@
"The share will expire on %s." : "Sprístupnenie vyprší %s.",
"Cheers!" : "Pekný deň!",
"Use the following link to reset your password: {link}" : "Použite nasledujúci odkaz pre obnovenie vášho hesla: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Dobrý deň,<br><br>používateľ %s Vám sprístupnil položku s názvom »%s«.<br><a href=\"%s\">Zobraziť!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Dobrý deň,<br><br>používateľ %s Vám sprístupnil položku s názvom »%s«.<br><a href=\"%s\">Zobraziť!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Vaša inštancia je veľká, použite prosím aktualizáciu cez príkazový riadok."
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
} \ No newline at end of file
diff --git a/core/l10n/sl.js b/core/l10n/sl.js
deleted file mode 100644
index f1a6d26f2d7..00000000000
--- a/core/l10n/sl.js
+++ /dev/null
@@ -1,256 +0,0 @@
-OC.L10N.register(
- "core",
- {
- "Please select a file." : "Izberite datoteko",
- "File is too big" : "Datoteka je prevelika",
- "The selected file is not an image." : "Izbrana datoteka ni slika.",
- "The selected file cannot be read." : "Izbrane datoteke ni mogoče prebrati.",
- "Invalid file provided" : "Predložena je neveljavna datoteka",
- "No image or file provided" : "Ni podane datoteke ali slike",
- "Unknown filetype" : "Neznana vrsta datoteke",
- "Invalid image" : "Neveljavna slika",
- "An error occurred. Please contact your admin." : "Prišlo je do napake. Stopite v stik s skrbnikom sistema.",
- "No temporary profile picture available, try again" : "Na voljo ni nobene začasne slike za profil. Poskusite znova.",
- "No crop data provided" : "Ni podanih podatkov obreza",
- "No valid crop data provided" : "Navedeni so neveljavni podatki obrez slike",
- "Crop is not square" : "Obrez ni pravokoten",
- "Couldn't reset password because the token is invalid" : "Ni mogoče ponastaviti gesla zaradi neustreznega žetona.",
- "Couldn't reset password because the token is expired" : "Ni mogoče ponastaviti gesla, ker je žeton potekel.",
- "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Ni mogoče poslati elektronskega sporočila za ponastavitev gesla, ker ni navedenega elektronskega naslova. Stopite v stik s skrbnikom sistema.",
- "%s password reset" : "Ponastavitev gesla %s",
- "Couldn't send reset email. Please contact your administrator." : "Ni mogoče nastaviti elektronskega naslova za ponastavitev. Stopite v stik s skrbnikom sistema.",
- "Couldn't send reset email. Please make sure your username is correct." : "Ni mogoče poslati elektronskega sporočila. Prepričajte se, da je uporabniško ime pravilno.",
- "Preparing update" : "Pripravljanje posodobitve",
- "[%d / %d]: %s" : "[%d / %d]: %s",
- "Repair warning: " : "Opozorilo popravila:",
- "Repair error: " : "Napaka popravila:",
- "Please use the command line updater because automatic updating is disabled in the config.php." : "Posodobitev sistema je treba izvesti prek ukazne vrstice, ker je nastavitev samodejne posodobitve v config.php onemogočena.",
- "[%d / %d]: Checking table %s" : "[%d / %d]: Poteka preverjanje razpredelnice %s",
- "Turned on maintenance mode" : "Vzdrževalni način je omogočen",
- "Turned off maintenance mode" : "Vzdrževalni način je onemogočen",
- "Maintenance mode is kept active" : "Vzdrževalni način je še vedno dejaven",
- "Updating database schema" : "Poteka posodabljanje sheme podatkovne zbirke",
- "Updated database" : "Posodobljena podatkovna zbirka",
- "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Poteka preverjanje, ali je shemo podatkovne zbirke mogoče posodobiti (zaradi velikosti je lahko opravilo dolgotrajno).",
- "Checked database schema update" : "Izbrana posodobitev sheme podatkovne zbirke",
- "Checking updates of apps" : "Poteka preverjanje za posodobitve programov",
- "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Poteka preverjanje, ali je shemo podatkovne zbirke za %s mogoče posodobiti (trajanje posodobitve je odvisno od velikosti zbirke).",
- "Checked database schema update for apps" : "Izbrana posodobitev sheme podatkovne zbirke za programe",
- "Updated \"%s\" to %s" : "Datoteka \"%s\" je posodobljena na %s",
- "Set log level to debug" : "Nastavi raven beleženja za razhroščevanje",
- "Reset log level" : "Počisti raven beleženja",
- "Starting code integrity check" : "Začenjanje preverjanja stanja kode",
- "Finished code integrity check" : "Končano preverjanje stanja kode",
- "%s (3rdparty)" : "%s (zunanje)",
- "%s (incompatible)" : "%s (neskladno)",
- "Following apps have been disabled: %s" : "Navedeni programi so onemogočeni: %s",
- "Already up to date" : "Sistem je že posodobljen",
- "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Med preverjanjem celovitosti kode je prišlo do napak. Več podrobnosti …</a>",
- "Settings" : "Nastavitve",
- "Saving..." : "Poteka shranjevanje ...",
- "Dismiss" : "Opusti",
- "Password" : "Geslo",
- "Cancel" : "Prekliči",
- "seconds ago" : "pred nekaj sekundami",
- "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "Povezava za ponastavitev gesla je bila poslana na naveden elektronski naslov. V kolikor sporočila ne dobite v kratkem, preverite tudi mapo neželene pošte.<br> Če sporočila ni niti v tej mapi, stopite v stik s skrbnikom.",
- "I know what I'm doing" : "Vem, kaj delam!",
- "Password can not be changed. Please contact your administrator." : "Gesla ni mogoče spremeniti. Stopite v stik s skrbnikom.",
- "No" : "Ne",
- "Yes" : "Da",
- "Choose" : "Izbor",
- "Error loading file picker template: {error}" : "Napaka nalaganja predloge izbirnika datotek: {error}",
- "Error loading message template: {error}" : "Napaka nalaganja predloge sporočil: {error}",
- "read-only" : "le za branje",
- "_{count} file conflict_::_{count} file conflicts_" : ["{count} spor datotek","{count} spora datotek","{count} spori datotek","{count} sporov datotek"],
- "One file conflict" : "En spor datotek",
- "New Files" : "Nove datoteke",
- "Already existing files" : "Obstoječe datoteke",
- "Which files do you want to keep?" : "Katare datoteke želite ohraniti?",
- "If you select both versions, the copied file will have a number added to its name." : "Če izberete obe različici, bo kopirani datoteki k imenu dodana številka.",
- "Continue" : "Nadaljuj",
- "(all selected)" : "(vse izbrano)",
- "({count} selected)" : "({count} izbranih)",
- "Error loading file exists template" : "Napaka nalaganja predloge obstoječih datotek",
- "Very weak password" : "Zelo šibko geslo",
- "Weak password" : "Šibko geslo",
- "So-so password" : "Slabo geslo",
- "Good password" : "Dobro geslo",
- "Strong password" : "Odlično geslo",
- "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Spletni stražnik še ni ustrezno nastavljen in ne omogoča usklajevanja, saj je vmesnik WebDAV videti okvarjen.",
- "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>." : "Spletni strežnik ni ustrezno nastavljen za razreševanje \"{url}\". Več pdorobnosti je zapisanih v <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentaciji</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>." : "Ni nastavljenega predpomnilnika. Za izboljšanje hitrosti delovanja je treba predpomnilnik memcache, če je na voljo, ustrezno nastaviti. Več podrobnosti je na voljo v <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentaciji</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>." : "Iz varnostnih razlogov je priporočljivo nastaviti dovoljenja ukaza /dev/urandom za branje prek PHP. Več podrobnosti je zavedenih v <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentaciji<-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." : "Trenutno je zagnana različica PHP {version}. Priporočljivo je posodobiti sistem na najnovejšo različico in s tem namestiti <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">funkcijske in varnostne posodobitve delovanja, ki jih zagotavlja skupnost PHP</a>. Pakete je priporočljivo posodobiti takoj, ko so na voljo za nameščeno distribucijo.",
- "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>." : "Predpomnilnik memcached je nastavljen kot porazdeljen predpomnilnik, vendar pa je nameščen napačen modul PHP \"memcache\". Modul \\OC\\Memcache\\Memcached podpirao le \"memcached\", ne pa tudi \"memcache\". Več podrobnosti za oba modula je zapisanih <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">na wiki straneh</a>.",
- "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>)" : "Nekatere datoteke ne opravijo preizkusa celovitosti. Več podrobnosti o težavi je opisanih v <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentaciji</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Seznam neveljavnih datotek …</a> / <a href=\"{rescanEndpoint}\">Ponovni preizkus …</a>)",
- "Error occurred while checking server setup" : "Prišlo je do napake med preverjanjem nastavitev strežnika",
- "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Glava \"{header}\" HTTP ni nastavljena na \"{expected}\". To je potencialno varnostna luknja in vam priporočamo, da to odpravite.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "Do spletišča je omogočen dostop prek protokola HTTP. Priporočljivo je omogočiti podporo za varni protokol HTTPS. Več podrobnosti je zapisanih med <a href=\"{docUrl}\">varnostnimi namigi</a>.",
- "Shared" : "V souporabi",
- "Shared with {recipients}" : "V souporabi z {recipients}",
- "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.",
- "Set expiration date" : "Nastavi datum preteka",
- "Expiration" : "Datum preteka",
- "Expiration date" : "Datum preteka",
- "Choose a password for the public link" : "Izberite geslo za javno povezavo",
- "Copied!" : "Skopirano!",
- "Not supported!" : "Ni podprto!",
- "Press ⌘-C to copy." : "Pritisni ⌘-C za kopiranje.",
- "Press Ctrl-C to copy." : "Pritisni Ctrl-C za kopiranje.",
- "Resharing is not allowed" : "Nadaljnja souporaba ni dovoljena",
- "Share link" : "Povezava za prejem",
- "Link" : "Povezava",
- "Password protect" : "Zaščiti z geslom",
- "Allow editing" : "Dovoli urejanje",
- "Email link to person" : "Posreduj povezavo po elektronski pošti",
- "Send" : "Pošlji",
- "Allow upload and editing" : "Dovoli nalaganje in urejanje",
- "Shared with you and the group {group} by {owner}" : "V souporabi z vami in skupino {group}. Lastnik je {owner}.",
- "Shared with you by {owner}" : "V souporabi z vami. Lastnik je {owner}.",
- "group" : "skupina",
- "remote" : "oddaljeno",
- "Unshare" : "Prekliči souporabo",
- "Could not unshare" : "Ni mogoče prekiniti souporabe",
- "Error while sharing" : "Napaka med souporabo",
- "Share details could not be loaded for this item." : "Podrobnosti souporabe za te predmet ni mogoče naložiti.",
- "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)",
- "Share" : "Souporaba",
- "Error" : "Napaka",
- "Error removing share" : "Napaka odstranjevanja souporabe",
- "Non-existing tag #{tag}" : "Neobstoječa oznaka #{tag}",
- "restricted" : "omejeno",
- "invisible" : "nevidno",
- "({scope})" : "({scope})",
- "Delete" : "Izbriši",
- "Rename" : "Preimenuj",
- "Collaborative tags" : "Oznake sodelovanja",
- "unknown text" : "neznano besedilo",
- "Hello world!" : "Pozdravljen svet!",
- "sunny" : "sončno",
- "Hello {name}, the weather is {weather}" : "Pozdravljeni, {name}, vreme je {weather}",
- "Hello {name}" : "Pozdravljeni, {name}",
- "new" : "novo",
- "_download %n file_::_download %n files_" : ["prejmi %n datoteko","prejmi %n datoteki","prejmi %n datoteke","prejmi %n datotek"],
- "The update is in progress, leaving this page might interrupt the process in some environments." : "Posodobitev je v teku. Če zapustiš to stran, lahko, v določenih okoljih, prekineš proces",
- "Update to {version}" : "Posodobi na {version}",
- "An error occurred." : "Prišlo je do napake.",
- "Please reload the page." : "Stran je treba ponovno naložiti",
- "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "Posodobitev je spodletela. Za več podrobnosti o napaki je <a href=\"{url}\">objavljenih na forumu</a>.",
- "The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">Nextcloud community</a>." : "Posodobitev ni bila uspešna. Prosimo, prijavite to situacijo na <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">Nextcloud skupnost</a>.",
- "Continue to Nextcloud" : "Nadaljuj na Nextcloud",
- "Searching other places" : "Iskanje drugih mest",
- "_{count} search result in another folder_::_{count} search results in other folders_" : ["{count} rezultat v drugih mapah","{count} rezultata v drugih mapah","{count} rezultatov v drugih mapah","{count} rezultatov v drugih mapah"],
- "Personal" : "Osebno",
- "Users" : "Uporabniki",
- "Apps" : "Programi",
- "Admin" : "Skrbništvo",
- "Help" : "Pomoč",
- "Access forbidden" : "Dostop je prepovedan",
- "File not found" : "Datoteke ni mogoče najti",
- "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.",
- "Internal Server Error" : "Notranja napaka strežnika",
- "The server encountered an internal error and was unable to complete your request." : "Prišlo je do notranje napake, zato ni mogoče končati zahteve.",
- "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Stopite v stik s skrbnikom sistema, če se napaka pojavlja pogosto. V poročilo vključite tudi tehnične podatke v dnevniški datoteki.",
- "More details can be found in the server log." : "Več podrobnosti je zabeleženih v dnevniku strežnika.",
- "Technical details" : "Tehnične podrobnosti",
- "Remote Address: %s" : "Oddaljen naslov: %s",
- "Request ID: %s" : "ID zahteve: %s",
- "Type: %s" : "Vrsta: %s",
- "Code: %s" : "Koda: %s",
- "Message: %s" : "Sporočilo: %s",
- "File: %s" : "Datoteka: %s",
- "Line: %s" : "Vrstica: %s",
- "Trace" : "Sledenje povezav",
- "Security warning" : "Varnostno opozorilo",
- "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Podatkovna mapa in datoteke so najverjetneje javno dostopni preko interneta, saj datoteka .htaccess ni ustrezno nastavljena.",
- "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Za več podrobnosti o pravilnem nastavljanju strežnika si oglejte <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dokumentacijo</a>.",
- "Create an <strong>admin account</strong>" : "Ustvari <strong>skrbniški račun</strong>",
- "Username" : "Uporabniško ime",
- "Storage & database" : "Shramba in podatkovna zbirka",
- "Data folder" : "Podatkovna mapa",
- "Configure the database" : "Nastavi podatkovno zbirko",
- "Only %s is available." : "Le %s je na voljo.",
- "Install and activate additional PHP modules to choose other database types." : "Namestite in omogočite dodatne module PHP za izbor drugih vrst podatkovnih zbirk.",
- "For more details check out the documentation." : "Za več podrobnosti preverite dokumentacijo.",
- "Database user" : "Uporabnik podatkovne zbirke",
- "Database password" : "Geslo podatkovne zbirke",
- "Database name" : "Ime podatkovne zbirke",
- "Database tablespace" : "Razpredelnica podatkovne zbirke",
- "Database host" : "Gostitelj podatkovne zbirke",
- "Performance warning" : "Opozorilo učinkovitosti delovanja",
- "SQLite will be used as database." : "Kot podatkovna zbirka bo uporabljena zbirka SQLite",
- "For larger installations we recommend to choose a different database backend." : "Za večje namestitve je priporočljivo uporabiti drugo ozadnji program zbirke podatkov.",
- "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Uporaba SQLite ni priporočljiva iz varnostnih razlogov, še posebej če se sistem krajevno usklajuje z namizjem prek odjemalca.",
- "Finish setup" : "Končaj nastavitev",
- "Finishing …" : "Poteka zaključevanje opravila ...",
- "Need help?" : "Ali potrebujete pomoč?",
- "See the documentation" : "Preverite dokumentacijo",
- "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Program zahteva podporo JavaScript za pravilno delovanje. Med nastavitvami omogočite {linkstart}JavaScript{linkend} in osvežite spletno stran.",
- "Search" : "Poišči",
- "Server side authentication failed!" : "Overitev s strežnika je spodletela!",
- "Please contact your administrator." : "Stopite v stik s skrbnikom sistema.",
- "An internal error occurred." : "Prišlo je do notranje napake.",
- "Please try again or contact your administrator." : "Poskusite znova ali pa stopite v stik s skrbnikom sistema.",
- "Username or email" : "Uporabniško ime ali elektronski naslov",
- "Wrong password. Reset it?" : "Napačno geslo. Ali ga želite ponastaviti?",
- "Wrong password." : "Napačno geslo!",
- "Log in" : "Prijava",
- "Stay logged in" : "Ohrani prijavo",
- "Alternative Logins" : "Druge prijavne možnosti",
- "New password" : "Novo geslo",
- "New Password" : "Novo geslo",
- "Reset password" : "Ponastavi geslo",
- "This Nextcloud instance is currently in single user mode." : "Ta seja oblaka Nextcloud je trenutno v načinu enega sočasnega uporabnika.",
- "This means only administrators can use the instance." : "To pomeni, da lahko oblak uporabljajo le osebe s skrbniškimi dovoljenji.",
- "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!",
- "Log out" : "Odjava",
- "Two-factor authentication" : "Dvo-stopenjska prijava",
- "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.",
- "Cancel log in" : "Prekini prijavo",
- "Use backup code" : "Uporabi rezervno šifro",
- "Error while validating your second factor" : "Napaka med preverjanjem drugega koraka",
- "You are accessing the server from an untrusted domain." : "Trenutno je vzpostavljena povezava s strežnikom preko ne-varne domene.",
- "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Glede na nastavitve bi lahko kot skrbnik uporabili spodnji gumb in domeno ročno določili kot varno.",
- "Add \"%s\" as trusted domain" : "Dodaj \"%s\" kot varno domeno",
- "App update required" : "Zahtevana je posodobitev programa",
- "%s will be updated to version %s" : "%s bo posodobljen na različico %s.",
- "These apps will be updated:" : "Posodobljeni bodo naslednji vstavki:",
- "These incompatible apps will be disabled:" : "Ti neskladni vstavki bodo onemogočeni:",
- "The theme %s has been disabled." : "Tema %s je onemogočena za uporabo.",
- "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Pred nadaljevanjem se prepričajte se, da je ustvarjena varnostna kopija podatkovne zbirke, nastavitvenih datotek in podatkovne mape.",
- "Start update" : "Začni posodobitev",
- "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Za razreševanje časovnih zahtev večjih namestitev lahko uporabite ukaz iz namestitvene mape:",
- "Detailed logs" : "Podrobni dnevniški zapisi",
- "Update needed" : "Zahtevana je posodobitev",
- "Please use the command line updater because you have a big instance." : "Posodobitev večjih namestitev je priporočljivo izvesti prek ukazne vrstice.",
- "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Za več podrobnosti si oglejte <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentacijo</a>.",
- "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.",
- "Problem loading page, reloading in 5 seconds" : "Napaka nalaganja strani! Poskus ponovnega nalaganja bo izveden čez 5 sekund.",
- "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Datoteke so šifrirane. Če niste omogočili obnovitvenega ključa, po ponastavitvi gesla ne bo mogoč dostop do datotek.<br />V primeru, da niste prepričani, kaj storiti, stopite v stik s skrbnikom sistema.<br />Ali ste prepričani, da želite nadaljevati?",
- "Ok" : "V redu",
- "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Podatkovna mapa in datoteke so najverjetneje dostopni prek Interneta, ker datoteka .htaccess ni ustrezno nastavljena. Priporočljivo je nastaviti spletni strežnik tako, da dostop prek zunanjega omrežja ni mogoč, ali pa tako, da podatkovna mapa ni znotraj korenske mape strežnika.",
- "Error while unsharing" : "Napaka med odstranjevanjem souporabe",
- "can edit" : "lahko ureja",
- "access control" : "nadzor dostopa",
- "The object type is not specified." : "Vrsta predmeta ni podana.",
- "Enter new" : "Vnesite novo",
- "Add" : "Dodaj",
- "Edit tags" : "Uredi oznake",
- "Error loading dialog template: {error}" : "Napaka nalaganja predloge pogovornega okna: {error}",
- "No tags selected for deletion." : "Ni izbranih oznak za izbris.",
- "The update was successful. Redirecting you to Nextcloud now." : "Posodobitev je bila uspešna. Stran bo preusmerjena na NextCloud",
- "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Pozdravljeni,\n\noseba %s vam je omogočila souporabo %s.\nVir si lahko ogledate: %s\n\n",
- "The share will expire on %s." : "Povezava souporabe bo potekla %s.",
- "Cheers!" : "Lep pozdrav!",
- "Use the following link to reset your password: {link}" : "Za ponastavitev gesla uporabite povezavo: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Pozdravljeni,<br><br>uporabnik %s vam je omogočil souporabo <strong>%s</strong>.<br><a href=\"%s\">Oglejte si vsebino!</a><br><br>"
-},
-"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
deleted file mode 100644
index c7533d95f1c..00000000000
--- a/core/l10n/sl.json
+++ /dev/null
@@ -1,254 +0,0 @@
-{ "translations": {
- "Please select a file." : "Izberite datoteko",
- "File is too big" : "Datoteka je prevelika",
- "The selected file is not an image." : "Izbrana datoteka ni slika.",
- "The selected file cannot be read." : "Izbrane datoteke ni mogoče prebrati.",
- "Invalid file provided" : "Predložena je neveljavna datoteka",
- "No image or file provided" : "Ni podane datoteke ali slike",
- "Unknown filetype" : "Neznana vrsta datoteke",
- "Invalid image" : "Neveljavna slika",
- "An error occurred. Please contact your admin." : "Prišlo je do napake. Stopite v stik s skrbnikom sistema.",
- "No temporary profile picture available, try again" : "Na voljo ni nobene začasne slike za profil. Poskusite znova.",
- "No crop data provided" : "Ni podanih podatkov obreza",
- "No valid crop data provided" : "Navedeni so neveljavni podatki obrez slike",
- "Crop is not square" : "Obrez ni pravokoten",
- "Couldn't reset password because the token is invalid" : "Ni mogoče ponastaviti gesla zaradi neustreznega žetona.",
- "Couldn't reset password because the token is expired" : "Ni mogoče ponastaviti gesla, ker je žeton potekel.",
- "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Ni mogoče poslati elektronskega sporočila za ponastavitev gesla, ker ni navedenega elektronskega naslova. Stopite v stik s skrbnikom sistema.",
- "%s password reset" : "Ponastavitev gesla %s",
- "Couldn't send reset email. Please contact your administrator." : "Ni mogoče nastaviti elektronskega naslova za ponastavitev. Stopite v stik s skrbnikom sistema.",
- "Couldn't send reset email. Please make sure your username is correct." : "Ni mogoče poslati elektronskega sporočila. Prepričajte se, da je uporabniško ime pravilno.",
- "Preparing update" : "Pripravljanje posodobitve",
- "[%d / %d]: %s" : "[%d / %d]: %s",
- "Repair warning: " : "Opozorilo popravila:",
- "Repair error: " : "Napaka popravila:",
- "Please use the command line updater because automatic updating is disabled in the config.php." : "Posodobitev sistema je treba izvesti prek ukazne vrstice, ker je nastavitev samodejne posodobitve v config.php onemogočena.",
- "[%d / %d]: Checking table %s" : "[%d / %d]: Poteka preverjanje razpredelnice %s",
- "Turned on maintenance mode" : "Vzdrževalni način je omogočen",
- "Turned off maintenance mode" : "Vzdrževalni način je onemogočen",
- "Maintenance mode is kept active" : "Vzdrževalni način je še vedno dejaven",
- "Updating database schema" : "Poteka posodabljanje sheme podatkovne zbirke",
- "Updated database" : "Posodobljena podatkovna zbirka",
- "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Poteka preverjanje, ali je shemo podatkovne zbirke mogoče posodobiti (zaradi velikosti je lahko opravilo dolgotrajno).",
- "Checked database schema update" : "Izbrana posodobitev sheme podatkovne zbirke",
- "Checking updates of apps" : "Poteka preverjanje za posodobitve programov",
- "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Poteka preverjanje, ali je shemo podatkovne zbirke za %s mogoče posodobiti (trajanje posodobitve je odvisno od velikosti zbirke).",
- "Checked database schema update for apps" : "Izbrana posodobitev sheme podatkovne zbirke za programe",
- "Updated \"%s\" to %s" : "Datoteka \"%s\" je posodobljena na %s",
- "Set log level to debug" : "Nastavi raven beleženja za razhroščevanje",
- "Reset log level" : "Počisti raven beleženja",
- "Starting code integrity check" : "Začenjanje preverjanja stanja kode",
- "Finished code integrity check" : "Končano preverjanje stanja kode",
- "%s (3rdparty)" : "%s (zunanje)",
- "%s (incompatible)" : "%s (neskladno)",
- "Following apps have been disabled: %s" : "Navedeni programi so onemogočeni: %s",
- "Already up to date" : "Sistem je že posodobljen",
- "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Med preverjanjem celovitosti kode je prišlo do napak. Več podrobnosti …</a>",
- "Settings" : "Nastavitve",
- "Saving..." : "Poteka shranjevanje ...",
- "Dismiss" : "Opusti",
- "Password" : "Geslo",
- "Cancel" : "Prekliči",
- "seconds ago" : "pred nekaj sekundami",
- "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "Povezava za ponastavitev gesla je bila poslana na naveden elektronski naslov. V kolikor sporočila ne dobite v kratkem, preverite tudi mapo neželene pošte.<br> Če sporočila ni niti v tej mapi, stopite v stik s skrbnikom.",
- "I know what I'm doing" : "Vem, kaj delam!",
- "Password can not be changed. Please contact your administrator." : "Gesla ni mogoče spremeniti. Stopite v stik s skrbnikom.",
- "No" : "Ne",
- "Yes" : "Da",
- "Choose" : "Izbor",
- "Error loading file picker template: {error}" : "Napaka nalaganja predloge izbirnika datotek: {error}",
- "Error loading message template: {error}" : "Napaka nalaganja predloge sporočil: {error}",
- "read-only" : "le za branje",
- "_{count} file conflict_::_{count} file conflicts_" : ["{count} spor datotek","{count} spora datotek","{count} spori datotek","{count} sporov datotek"],
- "One file conflict" : "En spor datotek",
- "New Files" : "Nove datoteke",
- "Already existing files" : "Obstoječe datoteke",
- "Which files do you want to keep?" : "Katare datoteke želite ohraniti?",
- "If you select both versions, the copied file will have a number added to its name." : "Če izberete obe različici, bo kopirani datoteki k imenu dodana številka.",
- "Continue" : "Nadaljuj",
- "(all selected)" : "(vse izbrano)",
- "({count} selected)" : "({count} izbranih)",
- "Error loading file exists template" : "Napaka nalaganja predloge obstoječih datotek",
- "Very weak password" : "Zelo šibko geslo",
- "Weak password" : "Šibko geslo",
- "So-so password" : "Slabo geslo",
- "Good password" : "Dobro geslo",
- "Strong password" : "Odlično geslo",
- "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Spletni stražnik še ni ustrezno nastavljen in ne omogoča usklajevanja, saj je vmesnik WebDAV videti okvarjen.",
- "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>." : "Spletni strežnik ni ustrezno nastavljen za razreševanje \"{url}\". Več pdorobnosti je zapisanih v <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentaciji</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>." : "Ni nastavljenega predpomnilnika. Za izboljšanje hitrosti delovanja je treba predpomnilnik memcache, če je na voljo, ustrezno nastaviti. Več podrobnosti je na voljo v <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentaciji</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>." : "Iz varnostnih razlogov je priporočljivo nastaviti dovoljenja ukaza /dev/urandom za branje prek PHP. Več podrobnosti je zavedenih v <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentaciji<-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." : "Trenutno je zagnana različica PHP {version}. Priporočljivo je posodobiti sistem na najnovejšo različico in s tem namestiti <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">funkcijske in varnostne posodobitve delovanja, ki jih zagotavlja skupnost PHP</a>. Pakete je priporočljivo posodobiti takoj, ko so na voljo za nameščeno distribucijo.",
- "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>." : "Predpomnilnik memcached je nastavljen kot porazdeljen predpomnilnik, vendar pa je nameščen napačen modul PHP \"memcache\". Modul \\OC\\Memcache\\Memcached podpirao le \"memcached\", ne pa tudi \"memcache\". Več podrobnosti za oba modula je zapisanih <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">na wiki straneh</a>.",
- "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>)" : "Nekatere datoteke ne opravijo preizkusa celovitosti. Več podrobnosti o težavi je opisanih v <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentaciji</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Seznam neveljavnih datotek …</a> / <a href=\"{rescanEndpoint}\">Ponovni preizkus …</a>)",
- "Error occurred while checking server setup" : "Prišlo je do napake med preverjanjem nastavitev strežnika",
- "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "Glava \"{header}\" HTTP ni nastavljena na \"{expected}\". To je potencialno varnostna luknja in vam priporočamo, da to odpravite.",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "Do spletišča je omogočen dostop prek protokola HTTP. Priporočljivo je omogočiti podporo za varni protokol HTTPS. Več podrobnosti je zapisanih med <a href=\"{docUrl}\">varnostnimi namigi</a>.",
- "Shared" : "V souporabi",
- "Shared with {recipients}" : "V souporabi z {recipients}",
- "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.",
- "Set expiration date" : "Nastavi datum preteka",
- "Expiration" : "Datum preteka",
- "Expiration date" : "Datum preteka",
- "Choose a password for the public link" : "Izberite geslo za javno povezavo",
- "Copied!" : "Skopirano!",
- "Not supported!" : "Ni podprto!",
- "Press ⌘-C to copy." : "Pritisni ⌘-C za kopiranje.",
- "Press Ctrl-C to copy." : "Pritisni Ctrl-C za kopiranje.",
- "Resharing is not allowed" : "Nadaljnja souporaba ni dovoljena",
- "Share link" : "Povezava za prejem",
- "Link" : "Povezava",
- "Password protect" : "Zaščiti z geslom",
- "Allow editing" : "Dovoli urejanje",
- "Email link to person" : "Posreduj povezavo po elektronski pošti",
- "Send" : "Pošlji",
- "Allow upload and editing" : "Dovoli nalaganje in urejanje",
- "Shared with you and the group {group} by {owner}" : "V souporabi z vami in skupino {group}. Lastnik je {owner}.",
- "Shared with you by {owner}" : "V souporabi z vami. Lastnik je {owner}.",
- "group" : "skupina",
- "remote" : "oddaljeno",
- "Unshare" : "Prekliči souporabo",
- "Could not unshare" : "Ni mogoče prekiniti souporabe",
- "Error while sharing" : "Napaka med souporabo",
- "Share details could not be loaded for this item." : "Podrobnosti souporabe za te predmet ni mogoče naložiti.",
- "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)",
- "Share" : "Souporaba",
- "Error" : "Napaka",
- "Error removing share" : "Napaka odstranjevanja souporabe",
- "Non-existing tag #{tag}" : "Neobstoječa oznaka #{tag}",
- "restricted" : "omejeno",
- "invisible" : "nevidno",
- "({scope})" : "({scope})",
- "Delete" : "Izbriši",
- "Rename" : "Preimenuj",
- "Collaborative tags" : "Oznake sodelovanja",
- "unknown text" : "neznano besedilo",
- "Hello world!" : "Pozdravljen svet!",
- "sunny" : "sončno",
- "Hello {name}, the weather is {weather}" : "Pozdravljeni, {name}, vreme je {weather}",
- "Hello {name}" : "Pozdravljeni, {name}",
- "new" : "novo",
- "_download %n file_::_download %n files_" : ["prejmi %n datoteko","prejmi %n datoteki","prejmi %n datoteke","prejmi %n datotek"],
- "The update is in progress, leaving this page might interrupt the process in some environments." : "Posodobitev je v teku. Če zapustiš to stran, lahko, v določenih okoljih, prekineš proces",
- "Update to {version}" : "Posodobi na {version}",
- "An error occurred." : "Prišlo je do napake.",
- "Please reload the page." : "Stran je treba ponovno naložiti",
- "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "Posodobitev je spodletela. Za več podrobnosti o napaki je <a href=\"{url}\">objavljenih na forumu</a>.",
- "The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">Nextcloud community</a>." : "Posodobitev ni bila uspešna. Prosimo, prijavite to situacijo na <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">Nextcloud skupnost</a>.",
- "Continue to Nextcloud" : "Nadaljuj na Nextcloud",
- "Searching other places" : "Iskanje drugih mest",
- "_{count} search result in another folder_::_{count} search results in other folders_" : ["{count} rezultat v drugih mapah","{count} rezultata v drugih mapah","{count} rezultatov v drugih mapah","{count} rezultatov v drugih mapah"],
- "Personal" : "Osebno",
- "Users" : "Uporabniki",
- "Apps" : "Programi",
- "Admin" : "Skrbništvo",
- "Help" : "Pomoč",
- "Access forbidden" : "Dostop je prepovedan",
- "File not found" : "Datoteke ni mogoče najti",
- "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.",
- "Internal Server Error" : "Notranja napaka strežnika",
- "The server encountered an internal error and was unable to complete your request." : "Prišlo je do notranje napake, zato ni mogoče končati zahteve.",
- "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Stopite v stik s skrbnikom sistema, če se napaka pojavlja pogosto. V poročilo vključite tudi tehnične podatke v dnevniški datoteki.",
- "More details can be found in the server log." : "Več podrobnosti je zabeleženih v dnevniku strežnika.",
- "Technical details" : "Tehnične podrobnosti",
- "Remote Address: %s" : "Oddaljen naslov: %s",
- "Request ID: %s" : "ID zahteve: %s",
- "Type: %s" : "Vrsta: %s",
- "Code: %s" : "Koda: %s",
- "Message: %s" : "Sporočilo: %s",
- "File: %s" : "Datoteka: %s",
- "Line: %s" : "Vrstica: %s",
- "Trace" : "Sledenje povezav",
- "Security warning" : "Varnostno opozorilo",
- "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Podatkovna mapa in datoteke so najverjetneje javno dostopni preko interneta, saj datoteka .htaccess ni ustrezno nastavljena.",
- "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Za več podrobnosti o pravilnem nastavljanju strežnika si oglejte <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dokumentacijo</a>.",
- "Create an <strong>admin account</strong>" : "Ustvari <strong>skrbniški račun</strong>",
- "Username" : "Uporabniško ime",
- "Storage & database" : "Shramba in podatkovna zbirka",
- "Data folder" : "Podatkovna mapa",
- "Configure the database" : "Nastavi podatkovno zbirko",
- "Only %s is available." : "Le %s je na voljo.",
- "Install and activate additional PHP modules to choose other database types." : "Namestite in omogočite dodatne module PHP za izbor drugih vrst podatkovnih zbirk.",
- "For more details check out the documentation." : "Za več podrobnosti preverite dokumentacijo.",
- "Database user" : "Uporabnik podatkovne zbirke",
- "Database password" : "Geslo podatkovne zbirke",
- "Database name" : "Ime podatkovne zbirke",
- "Database tablespace" : "Razpredelnica podatkovne zbirke",
- "Database host" : "Gostitelj podatkovne zbirke",
- "Performance warning" : "Opozorilo učinkovitosti delovanja",
- "SQLite will be used as database." : "Kot podatkovna zbirka bo uporabljena zbirka SQLite",
- "For larger installations we recommend to choose a different database backend." : "Za večje namestitve je priporočljivo uporabiti drugo ozadnji program zbirke podatkov.",
- "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Uporaba SQLite ni priporočljiva iz varnostnih razlogov, še posebej če se sistem krajevno usklajuje z namizjem prek odjemalca.",
- "Finish setup" : "Končaj nastavitev",
- "Finishing …" : "Poteka zaključevanje opravila ...",
- "Need help?" : "Ali potrebujete pomoč?",
- "See the documentation" : "Preverite dokumentacijo",
- "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Program zahteva podporo JavaScript za pravilno delovanje. Med nastavitvami omogočite {linkstart}JavaScript{linkend} in osvežite spletno stran.",
- "Search" : "Poišči",
- "Server side authentication failed!" : "Overitev s strežnika je spodletela!",
- "Please contact your administrator." : "Stopite v stik s skrbnikom sistema.",
- "An internal error occurred." : "Prišlo je do notranje napake.",
- "Please try again or contact your administrator." : "Poskusite znova ali pa stopite v stik s skrbnikom sistema.",
- "Username or email" : "Uporabniško ime ali elektronski naslov",
- "Wrong password. Reset it?" : "Napačno geslo. Ali ga želite ponastaviti?",
- "Wrong password." : "Napačno geslo!",
- "Log in" : "Prijava",
- "Stay logged in" : "Ohrani prijavo",
- "Alternative Logins" : "Druge prijavne možnosti",
- "New password" : "Novo geslo",
- "New Password" : "Novo geslo",
- "Reset password" : "Ponastavi geslo",
- "This Nextcloud instance is currently in single user mode." : "Ta seja oblaka Nextcloud je trenutno v načinu enega sočasnega uporabnika.",
- "This means only administrators can use the instance." : "To pomeni, da lahko oblak uporabljajo le osebe s skrbniškimi dovoljenji.",
- "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!",
- "Log out" : "Odjava",
- "Two-factor authentication" : "Dvo-stopenjska prijava",
- "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.",
- "Cancel log in" : "Prekini prijavo",
- "Use backup code" : "Uporabi rezervno šifro",
- "Error while validating your second factor" : "Napaka med preverjanjem drugega koraka",
- "You are accessing the server from an untrusted domain." : "Trenutno je vzpostavljena povezava s strežnikom preko ne-varne domene.",
- "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Glede na nastavitve bi lahko kot skrbnik uporabili spodnji gumb in domeno ročno določili kot varno.",
- "Add \"%s\" as trusted domain" : "Dodaj \"%s\" kot varno domeno",
- "App update required" : "Zahtevana je posodobitev programa",
- "%s will be updated to version %s" : "%s bo posodobljen na različico %s.",
- "These apps will be updated:" : "Posodobljeni bodo naslednji vstavki:",
- "These incompatible apps will be disabled:" : "Ti neskladni vstavki bodo onemogočeni:",
- "The theme %s has been disabled." : "Tema %s je onemogočena za uporabo.",
- "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Pred nadaljevanjem se prepričajte se, da je ustvarjena varnostna kopija podatkovne zbirke, nastavitvenih datotek in podatkovne mape.",
- "Start update" : "Začni posodobitev",
- "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Za razreševanje časovnih zahtev večjih namestitev lahko uporabite ukaz iz namestitvene mape:",
- "Detailed logs" : "Podrobni dnevniški zapisi",
- "Update needed" : "Zahtevana je posodobitev",
- "Please use the command line updater because you have a big instance." : "Posodobitev večjih namestitev je priporočljivo izvesti prek ukazne vrstice.",
- "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Za več podrobnosti si oglejte <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentacijo</a>.",
- "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.",
- "Problem loading page, reloading in 5 seconds" : "Napaka nalaganja strani! Poskus ponovnega nalaganja bo izveden čez 5 sekund.",
- "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Datoteke so šifrirane. Če niste omogočili obnovitvenega ključa, po ponastavitvi gesla ne bo mogoč dostop do datotek.<br />V primeru, da niste prepričani, kaj storiti, stopite v stik s skrbnikom sistema.<br />Ali ste prepričani, da želite nadaljevati?",
- "Ok" : "V redu",
- "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Podatkovna mapa in datoteke so najverjetneje dostopni prek Interneta, ker datoteka .htaccess ni ustrezno nastavljena. Priporočljivo je nastaviti spletni strežnik tako, da dostop prek zunanjega omrežja ni mogoč, ali pa tako, da podatkovna mapa ni znotraj korenske mape strežnika.",
- "Error while unsharing" : "Napaka med odstranjevanjem souporabe",
- "can edit" : "lahko ureja",
- "access control" : "nadzor dostopa",
- "The object type is not specified." : "Vrsta predmeta ni podana.",
- "Enter new" : "Vnesite novo",
- "Add" : "Dodaj",
- "Edit tags" : "Uredi oznake",
- "Error loading dialog template: {error}" : "Napaka nalaganja predloge pogovornega okna: {error}",
- "No tags selected for deletion." : "Ni izbranih oznak za izbris.",
- "The update was successful. Redirecting you to Nextcloud now." : "Posodobitev je bila uspešna. Stran bo preusmerjena na NextCloud",
- "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Pozdravljeni,\n\noseba %s vam je omogočila souporabo %s.\nVir si lahko ogledate: %s\n\n",
- "The share will expire on %s." : "Povezava souporabe bo potekla %s.",
- "Cheers!" : "Lep pozdrav!",
- "Use the following link to reset your password: {link}" : "Za ponastavitev gesla uporabite povezavo: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Pozdravljeni,<br><br>uporabnik %s vam je omogočil souporabo <strong>%s</strong>.<br><a href=\"%s\">Oglejte si vsebino!</a><br><br>"
-},"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 2191b413f65..3fe6612402b 100644
--- a/core/l10n/sq.js
+++ b/core/l10n/sq.js
@@ -14,9 +14,13 @@ OC.L10N.register(
"No crop data provided" : "S’u dhanë të dhëna qethjeje",
"No valid crop data provided" : "S’u dhanë të dhëna qethjeje të vlefshme",
"Crop is not square" : "Qethja s’është katrore",
+ "Password reset is disabled" : "Opsioni për rigjenerimin e fjalëkalimit është çaktivizuar",
"Couldn't reset password because the token is invalid" : "S’u ricaktua dot fjalëkalimi, ngaqë token-i është i pavlefshëm",
"Couldn't reset password because the token is expired" : "S’u ricaktua dot fjalëkalimi, ngaqë token-i ka skaduar",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "S’u dërgua dot email ricaktimi, ngaqë s’ka adresë email për këtë përdoruesi. Ju lutemi, lidhuni me përgjegjësin tuaj.",
+ "Password reset" : "Fjalkalimi u rivendos",
+ "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Klikoni ne 'link-un' e rradhes per te rivendosur fjalekalimin tuaj.Nese nuk e keni vendosur akoma fjalekalimin atehere mos e merrni parasysh kete email.",
+ "Reset your password" : "Rivendosni nje fjalekalim te ri",
"%s password reset" : "U ricaktua fjalëkalimi për %s",
"Couldn't send reset email. Please contact your administrator." : "S’u dërgua dot email-i i ricaktimit. Ju lutemi, lidhuni me përgjegjësin tuaj.",
"Couldn't send reset email. Please make sure your username is correct." : "S’u dërgua dot email ricaktimi. Ju lutemi, sigurohuni që emri juaj i përdoruesit është i saktë.",
@@ -34,6 +38,8 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Po kontrollohet nëse mund të përditësohet skema e bazës së të dhënave (kjo mund të hajë shumë kohë, varet nga madhësia e bazës së të dhënave)",
"Checked database schema update" : "U kontrollua përditësimi i skemës së bazës së të dhënave",
"Checking updates of apps" : "Po kontrollohen përditësime të aplikacionit",
+ "Checking for update of app \"%s\" in appstore" : "Duke kontrolluar për përditësim të aplikacionit \"%s\" në appstore.",
+ "Update app \"%s\" from appstore" : "Përditëso aplikacionin \"%s\" nga appstore",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Po kontrollohet nëse mund të përditësohet skema e bazës së të dhënave për %s (kjo mund të hajë shumë kohë, varet nga madhësia e bazës së të dhënave)",
"Checked database schema update for apps" : "U kontrollua përditësimi i skemës së bazës së të dhënave për aplikacionet",
"Updated \"%s\" to %s" : "U përditësua \"%s\" në %s",
@@ -45,6 +51,7 @@ OC.L10N.register(
"%s (incompatible)" : "%s (e papërputhshme)",
"Following apps have been disabled: %s" : "Janë çaktivizuar aplikacionet vijuese : %s",
"Already up to date" : "Tashmë e përditësuar",
+ "No contacts found" : "Nuk jane gjetur kontakte",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Pati probleme me kontrollin e integritetit të kodit. Më tepër të dhëna…</a>",
"Settings" : "Rregullime",
"Connection to server lost" : "Lidhja me serverin u shkëput",
@@ -210,6 +217,7 @@ OC.L10N.register(
"Need help?" : "Ju duhet ndihmë?",
"See the documentation" : "Shihni dokumentimin",
"This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Ky aplikacion lyp JavaScript për punim të saktë. Ju lutemi, {linkstart}aktivizoni JavaScript-in{linkend} dhe ringarkoni faqen.",
+ "More apps" : "Më shumë aplikacione",
"Search" : "Kërko",
"This action requires you to confirm your password:" : "Ky veprim kërkon të konfirmoni fjalëkalimin tuaj:",
"Confirm your password" : "Konfrimoni fjalëkalimin tuaj",
@@ -250,7 +258,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Për të shmangur çaste bllokimi pune me instalime të mëdha, mundeni të ekzekutoni urdhrin vijues që nga drejtoria juaj e instalimit:",
"Detailed logs" : "Regjistrime të hollësishme",
"Update needed" : "Lyp përditësim",
- "Please use the command line updater because you have a big instance." : "Ju lutemi, përdorni përditësuesin e rreshtit të urdhrave, sepse keni një instalim të madh.",
"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 %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.",
@@ -286,6 +293,7 @@ OC.L10N.register(
"The share will expire on %s." : "Ndarja do të skadojë më %s.",
"Cheers!" : "Gëzuar!",
"Use the following link to reset your password: {link}" : "Që të ricaktoni fjalëkalimin tuaj, përdorni lidhjen vijuese: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Njatjeta,<br><br>thjesht po ju bëjmë të ditur që %s ndau me ju <strong>%s</strong>.<br><a href=\"%s\">Shiheni!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Njatjeta,<br><br>thjesht po ju bëjmë të ditur që %s ndau me ju <strong>%s</strong>.<br><a href=\"%s\">Shiheni!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Ju lutemi, përdorni përditësuesin e rreshtit të urdhrave, sepse keni një instalim të madh."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/sq.json b/core/l10n/sq.json
index d8c9e26087d..d2d8882db22 100644
--- a/core/l10n/sq.json
+++ b/core/l10n/sq.json
@@ -12,9 +12,13 @@
"No crop data provided" : "S’u dhanë të dhëna qethjeje",
"No valid crop data provided" : "S’u dhanë të dhëna qethjeje të vlefshme",
"Crop is not square" : "Qethja s’është katrore",
+ "Password reset is disabled" : "Opsioni për rigjenerimin e fjalëkalimit është çaktivizuar",
"Couldn't reset password because the token is invalid" : "S’u ricaktua dot fjalëkalimi, ngaqë token-i është i pavlefshëm",
"Couldn't reset password because the token is expired" : "S’u ricaktua dot fjalëkalimi, ngaqë token-i ka skaduar",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "S’u dërgua dot email ricaktimi, ngaqë s’ka adresë email për këtë përdoruesi. Ju lutemi, lidhuni me përgjegjësin tuaj.",
+ "Password reset" : "Fjalkalimi u rivendos",
+ "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Klikoni ne 'link-un' e rradhes per te rivendosur fjalekalimin tuaj.Nese nuk e keni vendosur akoma fjalekalimin atehere mos e merrni parasysh kete email.",
+ "Reset your password" : "Rivendosni nje fjalekalim te ri",
"%s password reset" : "U ricaktua fjalëkalimi për %s",
"Couldn't send reset email. Please contact your administrator." : "S’u dërgua dot email-i i ricaktimit. Ju lutemi, lidhuni me përgjegjësin tuaj.",
"Couldn't send reset email. Please make sure your username is correct." : "S’u dërgua dot email ricaktimi. Ju lutemi, sigurohuni që emri juaj i përdoruesit është i saktë.",
@@ -32,6 +36,8 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Po kontrollohet nëse mund të përditësohet skema e bazës së të dhënave (kjo mund të hajë shumë kohë, varet nga madhësia e bazës së të dhënave)",
"Checked database schema update" : "U kontrollua përditësimi i skemës së bazës së të dhënave",
"Checking updates of apps" : "Po kontrollohen përditësime të aplikacionit",
+ "Checking for update of app \"%s\" in appstore" : "Duke kontrolluar për përditësim të aplikacionit \"%s\" në appstore.",
+ "Update app \"%s\" from appstore" : "Përditëso aplikacionin \"%s\" nga appstore",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Po kontrollohet nëse mund të përditësohet skema e bazës së të dhënave për %s (kjo mund të hajë shumë kohë, varet nga madhësia e bazës së të dhënave)",
"Checked database schema update for apps" : "U kontrollua përditësimi i skemës së bazës së të dhënave për aplikacionet",
"Updated \"%s\" to %s" : "U përditësua \"%s\" në %s",
@@ -43,6 +49,7 @@
"%s (incompatible)" : "%s (e papërputhshme)",
"Following apps have been disabled: %s" : "Janë çaktivizuar aplikacionet vijuese : %s",
"Already up to date" : "Tashmë e përditësuar",
+ "No contacts found" : "Nuk jane gjetur kontakte",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Pati probleme me kontrollin e integritetit të kodit. Më tepër të dhëna…</a>",
"Settings" : "Rregullime",
"Connection to server lost" : "Lidhja me serverin u shkëput",
@@ -208,6 +215,7 @@
"Need help?" : "Ju duhet ndihmë?",
"See the documentation" : "Shihni dokumentimin",
"This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Ky aplikacion lyp JavaScript për punim të saktë. Ju lutemi, {linkstart}aktivizoni JavaScript-in{linkend} dhe ringarkoni faqen.",
+ "More apps" : "Më shumë aplikacione",
"Search" : "Kërko",
"This action requires you to confirm your password:" : "Ky veprim kërkon të konfirmoni fjalëkalimin tuaj:",
"Confirm your password" : "Konfrimoni fjalëkalimin tuaj",
@@ -248,7 +256,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Për të shmangur çaste bllokimi pune me instalime të mëdha, mundeni të ekzekutoni urdhrin vijues që nga drejtoria juaj e instalimit:",
"Detailed logs" : "Regjistrime të hollësishme",
"Update needed" : "Lyp përditësim",
- "Please use the command line updater because you have a big instance." : "Ju lutemi, përdorni përditësuesin e rreshtit të urdhrave, sepse keni një instalim të madh.",
"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 %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.",
@@ -284,6 +291,7 @@
"The share will expire on %s." : "Ndarja do të skadojë më %s.",
"Cheers!" : "Gëzuar!",
"Use the following link to reset your password: {link}" : "Që të ricaktoni fjalëkalimin tuaj, përdorni lidhjen vijuese: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Njatjeta,<br><br>thjesht po ju bëjmë të ditur që %s ndau me ju <strong>%s</strong>.<br><a href=\"%s\">Shiheni!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Njatjeta,<br><br>thjesht po ju bëjmë të ditur që %s ndau me ju <strong>%s</strong>.<br><a href=\"%s\">Shiheni!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Ju lutemi, përdorni përditësuesin e rreshtit të urdhrave, sepse keni një instalim të madh."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/sv.js b/core/l10n/sv.js
index ae2e6558cf8..156b471d23d 100644
--- a/core/l10n/sv.js
+++ b/core/l10n/sv.js
@@ -284,7 +284,6 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "För att undvika timeout vid större installationer kan du istället köra följande kommando från din installationskatalog:",
"Detailed logs" : "Detaljerade loggar",
"Update needed" : "Uppdatering krävs",
- "Please use the command line updater because you have a big instance." : "Vänligen använd den kommandotolksbaserade uppdateringen eftersom du har en stor instans.",
"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\">dokumentationen</a>.",
"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.",
@@ -320,6 +319,7 @@ OC.L10N.register(
"The share will expire on %s." : "Delningen kommer att upphöra %s.",
"Cheers!" : "Ha de fint!",
"Use the following link to reset your password: {link}" : "Använd följande länk för att återställa lösenordet: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hej där,<br><br>Tänkte bara informera dig om att %s delade <strong>%s</strong> med dig.<br><a href=\"%s\">Klicka här för att se!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hej där,<br><br>Tänkte bara informera dig om att %s delade <strong>%s</strong> med dig.<br><a href=\"%s\">Klicka här för att se!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Vänligen använd den kommandotolksbaserade uppdateringen eftersom du har en stor instans."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/sv.json b/core/l10n/sv.json
index 9a02191d2b0..397f8e82bc3 100644
--- a/core/l10n/sv.json
+++ b/core/l10n/sv.json
@@ -282,7 +282,6 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "För att undvika timeout vid större installationer kan du istället köra följande kommando från din installationskatalog:",
"Detailed logs" : "Detaljerade loggar",
"Update needed" : "Uppdatering krävs",
- "Please use the command line updater because you have a big instance." : "Vänligen använd den kommandotolksbaserade uppdateringen eftersom du har en stor instans.",
"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\">dokumentationen</a>.",
"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.",
@@ -318,6 +317,7 @@
"The share will expire on %s." : "Delningen kommer att upphöra %s.",
"Cheers!" : "Ha de fint!",
"Use the following link to reset your password: {link}" : "Använd följande länk för att återställa lösenordet: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hej där,<br><br>Tänkte bara informera dig om att %s delade <strong>%s</strong> med dig.<br><a href=\"%s\">Klicka här för att se!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Hej där,<br><br>Tänkte bara informera dig om att %s delade <strong>%s</strong> med dig.<br><a href=\"%s\">Klicka här för att se!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Vänligen använd den kommandotolksbaserade uppdateringen eftersom du har en stor instans."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/tr.js b/core/l10n/tr.js
index ee4814e98ba..72b7b90dcf2 100644
--- a/core/l10n/tr.js
+++ b/core/l10n/tr.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Crop is not square" : "Kırpma kare şeklinde değil",
"State token does not match" : "Durum kodu eşleşmiyor",
"Auth flow can only be started unauthenticated." : "Kimlik doğrulama işlemi yalnız kimlik doğrulanmamışken başlatılabilir.",
+ "Password reset is disabled" : "Parola sıfırlama devre dışı bırakılmış",
"Couldn't reset password because the token is invalid" : "Kod geçersiz olduğundan parola sıfırlanamadı",
"Couldn't reset password because the token is expired" : "Kodun süresi geçtiğinden parola sıfırlanamadı",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Bu kullanıcı için bir e-posta adresi olmadığından sıfırlama e-postası gönderilemedi. Lütfen yöneticiniz ile görüşün.",
@@ -29,7 +30,7 @@ OC.L10N.register(
"Preparing update" : "Güncelleme hazırlanıyor",
"[%d / %d]: %s" : "[%d / %d]: %s",
"Repair warning: " : "Onarım uyarısı:",
- "Repair error: " : "Onarım hatası:",
+ "Repair error: " : "Onarım sorunu:",
"Please use the command line updater because automatic updating is disabled in the config.php." : "Otomatik güncellemeler config.php dosyasında devre dışı bırakılmış olduğundan, komut satırı güncelleyicisini kullanın.",
"[%d / %d]: Checking table %s" : "[%d / %d]: %s tablosu denetleniyor",
"Turned on maintenance mode" : "Bakım kipi etkinleştirildi",
@@ -40,6 +41,9 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Veritabanı şeması güncellemesi denetleniyor (veritabanının büyüklüğüne bağlı olarak uzun sürebilir)",
"Checked database schema update" : "Veritabanı şeması güncellemesi denetlendi",
"Checking updates of apps" : "Uygulama güncellemeleri denetleniyor",
+ "Checking for update of app \"%s\" in appstore" : "\"%s\" uygulamasının güncellemesi uygulama mağazasından denetleniyor",
+ "Update app \"%s\" from appstore" : "\"%s\" uygulamasını uygulama mağazasından güncelle",
+ "Checked for update of app \"%s\" in appstore" : "\"%s\" uygulama mağazasının güncellemesi uygulama mağazasından denetlendi",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "%s için veritabanı şeması güncellemesi denetleniyor (veritabanının büyüklüğüne bağlı olarak uzun sürebilir)",
"Checked database schema update for apps" : "Uygulamalar için veritabanı şema güncellemesi denetlendi",
"Updated \"%s\" to %s" : "\"%s\", %s sürümüne güncellendi",
@@ -106,8 +110,8 @@ OC.L10N.register(
"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>." : "Henüz bir ön bellek yapılandırılmamış. Olabiliyorsa başarımı arttırmak için memcache önbellek ayarlarını yapın. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
"/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>." : "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\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
"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." : "Şu anda PHP {version} sürümünü kullanıyorsunuz. Kullandığınız Linux dağıtımı desteklediği zaman PHP sürümünüzü güncelleyerek <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">PHP grubu tarafından sağlanan başarım ve güvenlik geliştirmelerinden</a> faydalanmanızı öneririz.",
- "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>." : "Ters vekil sunucu üst bilgi yapılandırmanız hatalı ya da Nextcloud üzerine güvenilen bir vekil sunucudan erişiyorsunuz. Nextcloud üzerine güvenilen bir vekil sunucudan erişmiyorsanız bu bir güvenlik sorunudur ve bir saldırganın IP adresini farklıymış gibi göstermesine izin verebilir. Ayrıntlı bilgi almak için <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
- "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 dağıtık bellek olarak yapılandırılmış ancak kurulmuş PHP \"memcache\" modülü hatalı. \\OC\\Memcache\\Memcached yalnız \"memcache\" modülünü değil \"memcached\" mdoülünü destekler. İki modül hakkında ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki sayfasına</a> bakabilirsiniz.",
+ "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>." : "Ters vekil sunucu üst bilgi yapılandırmanız doğru değil ya da Nextcloud üzerine güvenilen bir vekil sunucudan erişiyorsunuz. Nextcloud üzerine güvenilen bir vekil sunucudan erişmiyorsanız bu bir güvenlik sorunudur ve bir saldırganın IP adresini farklıymış gibi göstermesine izin verebilir. Ayrıntlı bilgi almak için <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
+ "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 dağıtık bellek olarak yapılandırılmış ancak kurulmuş PHP \"memcache\" modülü yanlış. \\OC\\Memcache\\Memcached yalnız \"memcache\" modülünü değil \"memcached\" mdoülünü destekler. İki modül hakkında ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki sayfasına</a> bakabilirsiniz.",
"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>)" : "Bazı dosyalar bütünlük denetiminden geçemedi. Bu sorunun çözümü ile ilgili bilgi almak için <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">belgelere</a> bakabilirsiniz. (<a href=\"{codeIntegrityDownloadEndpoint}\">Geçersiz dosyaların listesi…</a> / <a href=\"{rescanEndpoint}\">Yeniden Tara…</a>)",
"The PHP Opcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For better performance we recommend ↗</a> to use following settings in the <code>php.ini</code>:" : "PHP Opcache doğru şekilde ayarlanmamış. Daha iyi sonuç almak için  <code>php.ini</code> dosyasında <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">şu ayarların kullanılması önerilir ↗</a>:",
"The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function." : "\"set_time_limit\" PHP işlevi kullanılamıyor. Bu durum betiklerin yürütme sırasında durmasına, ve kurulumunuzun çalışmamasına neden olabilir. Bu işlevi etkinleştirmeniz önemle önerilir.",
@@ -262,8 +266,8 @@ OC.L10N.register(
"An internal error occurred." : "İçeride bir sorun çıktı.",
"Please try again or contact your administrator." : "Lütfen yeniden deneyin ya da yöneticinizle görüşün.",
"Username or email" : "Kullanıcı adı ya da e-posta",
- "Wrong password. Reset it?" : "Parola hatalı. Sıfırlamak ister misiniz?",
- "Wrong password." : "Parola hatalı.",
+ "Wrong password. Reset it?" : "Parola yanlış. Sıfırlamak ister misiniz?",
+ "Wrong password." : "Parola yanlış.",
"Log in" : "Oturum Aç",
"Stay logged in" : "Bağlı kal",
"Alternative Logins" : "Alternatif Oturum Açmalar",
@@ -298,8 +302,10 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Daha büyük kurulumlarda zaman aşımlarının önüne geçmek için, kurulum klasörünüzden şu komutu da çalıştırabilirsiniz:",
"Detailed logs" : "Ayrıntılı günlükler",
"Update needed" : "Güncelleme gerekiyor",
- "Please use the command line updater because you have a big instance." : "Kopyanız oldukça büyük olduğundan güncelleme için komut satırını kullanın.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "50 üzerinde kullanıcısı olan bir kopya kullandığınız için lütfen komut satırı güncelleyiciyi kullanın.",
"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.",
+ "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",
"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.",
"Problem loading page, reloading in 5 seconds" : "Sayfa yüklenirken bir sorun çıktı, Sayfa 5 saniye içinde yeniden yüklenecek",
@@ -334,6 +340,7 @@ OC.L10N.register(
"The share will expire on %s." : "Bu paylaşım %s tarihinde sona erecek.",
"Cheers!" : "Hoşça kalın!",
"Use the following link to reset your password: {link}" : "Parolanızı sıfırlamak için şu bağlantıyı kullanın: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Merhaba, <br><br>%s kullanıcısının sizinle <strong>%s</strong> paylaşımında bulunduğunu bildirmek istedik.<br><a href=\"%s\">Paylaşımı şuradan görebilirsiniz!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Merhaba, <br><br>%s kullanıcısının sizinle <strong>%s</strong> paylaşımında bulunduğunu bildirmek istedik.<br><a href=\"%s\">Paylaşımı şuradan görebilirsiniz!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Kopyanız oldukça büyük olduğundan güncelleme için komut satırını kullanın."
},
"nplurals=2; plural=(n > 1);");
diff --git a/core/l10n/tr.json b/core/l10n/tr.json
index f61c8da34d5..ca4421d8b49 100644
--- a/core/l10n/tr.json
+++ b/core/l10n/tr.json
@@ -14,6 +14,7 @@
"Crop is not square" : "Kırpma kare şeklinde değil",
"State token does not match" : "Durum kodu eşleşmiyor",
"Auth flow can only be started unauthenticated." : "Kimlik doğrulama işlemi yalnız kimlik doğrulanmamışken başlatılabilir.",
+ "Password reset is disabled" : "Parola sıfırlama devre dışı bırakılmış",
"Couldn't reset password because the token is invalid" : "Kod geçersiz olduğundan parola sıfırlanamadı",
"Couldn't reset password because the token is expired" : "Kodun süresi geçtiğinden parola sıfırlanamadı",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Bu kullanıcı için bir e-posta adresi olmadığından sıfırlama e-postası gönderilemedi. Lütfen yöneticiniz ile görüşün.",
@@ -27,7 +28,7 @@
"Preparing update" : "Güncelleme hazırlanıyor",
"[%d / %d]: %s" : "[%d / %d]: %s",
"Repair warning: " : "Onarım uyarısı:",
- "Repair error: " : "Onarım hatası:",
+ "Repair error: " : "Onarım sorunu:",
"Please use the command line updater because automatic updating is disabled in the config.php." : "Otomatik güncellemeler config.php dosyasında devre dışı bırakılmış olduğundan, komut satırı güncelleyicisini kullanın.",
"[%d / %d]: Checking table %s" : "[%d / %d]: %s tablosu denetleniyor",
"Turned on maintenance mode" : "Bakım kipi etkinleştirildi",
@@ -38,6 +39,9 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Veritabanı şeması güncellemesi denetleniyor (veritabanının büyüklüğüne bağlı olarak uzun sürebilir)",
"Checked database schema update" : "Veritabanı şeması güncellemesi denetlendi",
"Checking updates of apps" : "Uygulama güncellemeleri denetleniyor",
+ "Checking for update of app \"%s\" in appstore" : "\"%s\" uygulamasının güncellemesi uygulama mağazasından denetleniyor",
+ "Update app \"%s\" from appstore" : "\"%s\" uygulamasını uygulama mağazasından güncelle",
+ "Checked for update of app \"%s\" in appstore" : "\"%s\" uygulama mağazasının güncellemesi uygulama mağazasından denetlendi",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "%s için veritabanı şeması güncellemesi denetleniyor (veritabanının büyüklüğüne bağlı olarak uzun sürebilir)",
"Checked database schema update for apps" : "Uygulamalar için veritabanı şema güncellemesi denetlendi",
"Updated \"%s\" to %s" : "\"%s\", %s sürümüne güncellendi",
@@ -104,8 +108,8 @@
"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>." : "Henüz bir ön bellek yapılandırılmamış. Olabiliyorsa başarımı arttırmak için memcache önbellek ayarlarını yapın. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
"/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>." : "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\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
"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." : "Şu anda PHP {version} sürümünü kullanıyorsunuz. Kullandığınız Linux dağıtımı desteklediği zaman PHP sürümünüzü güncelleyerek <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">PHP grubu tarafından sağlanan başarım ve güvenlik geliştirmelerinden</a> faydalanmanızı öneririz.",
- "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>." : "Ters vekil sunucu üst bilgi yapılandırmanız hatalı ya da Nextcloud üzerine güvenilen bir vekil sunucudan erişiyorsunuz. Nextcloud üzerine güvenilen bir vekil sunucudan erişmiyorsanız bu bir güvenlik sorunudur ve bir saldırganın IP adresini farklıymış gibi göstermesine izin verebilir. Ayrıntlı bilgi almak için <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
- "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 dağıtık bellek olarak yapılandırılmış ancak kurulmuş PHP \"memcache\" modülü hatalı. \\OC\\Memcache\\Memcached yalnız \"memcache\" modülünü değil \"memcached\" mdoülünü destekler. İki modül hakkında ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki sayfasına</a> bakabilirsiniz.",
+ "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>." : "Ters vekil sunucu üst bilgi yapılandırmanız doğru değil ya da Nextcloud üzerine güvenilen bir vekil sunucudan erişiyorsunuz. Nextcloud üzerine güvenilen bir vekil sunucudan erişmiyorsanız bu bir güvenlik sorunudur ve bir saldırganın IP adresini farklıymış gibi göstermesine izin verebilir. Ayrıntlı bilgi almak için <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
+ "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 dağıtık bellek olarak yapılandırılmış ancak kurulmuş PHP \"memcache\" modülü yanlış. \\OC\\Memcache\\Memcached yalnız \"memcache\" modülünü değil \"memcached\" mdoülünü destekler. İki modül hakkında ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki sayfasına</a> bakabilirsiniz.",
"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>)" : "Bazı dosyalar bütünlük denetiminden geçemedi. Bu sorunun çözümü ile ilgili bilgi almak için <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">belgelere</a> bakabilirsiniz. (<a href=\"{codeIntegrityDownloadEndpoint}\">Geçersiz dosyaların listesi…</a> / <a href=\"{rescanEndpoint}\">Yeniden Tara…</a>)",
"The PHP Opcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For better performance we recommend ↗</a> to use following settings in the <code>php.ini</code>:" : "PHP Opcache doğru şekilde ayarlanmamış. Daha iyi sonuç almak için  <code>php.ini</code> dosyasında <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">şu ayarların kullanılması önerilir ↗</a>:",
"The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function." : "\"set_time_limit\" PHP işlevi kullanılamıyor. Bu durum betiklerin yürütme sırasında durmasına, ve kurulumunuzun çalışmamasına neden olabilir. Bu işlevi etkinleştirmeniz önemle önerilir.",
@@ -260,8 +264,8 @@
"An internal error occurred." : "İçeride bir sorun çıktı.",
"Please try again or contact your administrator." : "Lütfen yeniden deneyin ya da yöneticinizle görüşün.",
"Username or email" : "Kullanıcı adı ya da e-posta",
- "Wrong password. Reset it?" : "Parola hatalı. Sıfırlamak ister misiniz?",
- "Wrong password." : "Parola hatalı.",
+ "Wrong password. Reset it?" : "Parola yanlış. Sıfırlamak ister misiniz?",
+ "Wrong password." : "Parola yanlış.",
"Log in" : "Oturum Aç",
"Stay logged in" : "Bağlı kal",
"Alternative Logins" : "Alternatif Oturum Açmalar",
@@ -296,8 +300,10 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Daha büyük kurulumlarda zaman aşımlarının önüne geçmek için, kurulum klasörünüzden şu komutu da çalıştırabilirsiniz:",
"Detailed logs" : "Ayrıntılı günlükler",
"Update needed" : "Güncelleme gerekiyor",
- "Please use the command line updater because you have a big instance." : "Kopyanız oldukça büyük olduğundan güncelleme için komut satırını kullanın.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "50 üzerinde kullanıcısı olan bir kopya kullandığınız için lütfen komut satırı güncelleyiciyi kullanın.",
"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.",
+ "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",
"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.",
"Problem loading page, reloading in 5 seconds" : "Sayfa yüklenirken bir sorun çıktı, Sayfa 5 saniye içinde yeniden yüklenecek",
@@ -332,6 +338,7 @@
"The share will expire on %s." : "Bu paylaşım %s tarihinde sona erecek.",
"Cheers!" : "Hoşça kalın!",
"Use the following link to reset your password: {link}" : "Parolanızı sıfırlamak için şu bağlantıyı kullanın: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Merhaba, <br><br>%s kullanıcısının sizinle <strong>%s</strong> paylaşımında bulunduğunu bildirmek istedik.<br><a href=\"%s\">Paylaşımı şuradan görebilirsiniz!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Merhaba, <br><br>%s kullanıcısının sizinle <strong>%s</strong> paylaşımında bulunduğunu bildirmek istedik.<br><a href=\"%s\">Paylaşımı şuradan görebilirsiniz!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "Kopyanız oldukça büyük olduğundan güncelleme için komut satırını kullanın."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/core/l10n/zh_CN.js b/core/l10n/zh_CN.js
index 8ffcc997c8e..447199cbc3d 100644
--- a/core/l10n/zh_CN.js
+++ b/core/l10n/zh_CN.js
@@ -15,6 +15,8 @@ OC.L10N.register(
"No valid crop data provided" : "没有提供有效的裁剪数据",
"Crop is not square" : "裁剪的不是正方形",
"State token does not match" : "状态令牌无法匹配",
+ "Auth flow can only be started unauthenticated." : "验证流程只能在未经身份验证的情况下启动。",
+ "Password reset is disabled" : "密码重置不可用",
"Couldn't reset password because the token is invalid" : "令牌无效, 无法重置密码",
"Couldn't reset password because the token is expired" : "令牌已过期, 无法重置密码",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "该用户没有设置电子邮件地址, 无发送重置邮件. 请联系管理员.",
@@ -39,6 +41,9 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "检查数据库结构是否可以更新 (这可能需要很长的时间, 这取决于数据库大小)",
"Checked database schema update" : "已经检查数据库结构更新",
"Checking updates of apps" : "检查更新应用",
+ "Checking for update of app \"%s\" in appstore" : "检查%s应用是否有更新",
+ "Update app \"%s\" from appstore" : "从应用商店更新%s应用",
+ "Checked for update of app \"%s\" in appstore" : "已检查%s应用的是否有更新",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "检查 %s 的数据库结构是否可以更新 (这可能需要很长的时间, 这取决于数据库大小)",
"Checked database schema update for apps" : "已经检查应用的数据库结构更新",
"Updated \"%s\" to %s" : "更新 \"%s\" 为 %s",
@@ -57,6 +62,7 @@ OC.L10N.register(
"Looking for {term} …" : "查找 {term} ...",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">代码完整性检查出现异常, 点击查看详细信息...</a>",
"No action available" : "无可用操作",
+ "Error fetching contact actions" : "查找联系人时出错",
"Settings" : "设置",
"Connection to server lost" : "与服务器的连接断开",
"_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["加载页面出现问题,将在 %n 秒后重新加载"],
@@ -137,6 +143,8 @@ OC.L10N.register(
"Email link to person" : "发送链接到个人",
"Send" : "发送",
"Allow upload and editing" : "允许上传和编辑",
+ "Read only" : "只读",
+ "Secure drop (upload only)" : "安全删除 (仅上传)",
"Shared with you and the group {group} by {owner}" : "{owner} 分享给您及 {group} 分组",
"Shared with you by {owner}" : "{owner} 分享给您",
"Choose a password for the mail share" : "为电子邮件分享选择一个密码",
@@ -165,6 +173,9 @@ OC.L10N.register(
"{sharee} (email)" : "{sharee} (邮件)",
"{sharee} ({type}, {owner})" : "{share}({type},{owner})",
"Share" : "分享",
+ "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." : "输入用户/组织或邮箱地址来分享给其他人",
"Name or email address..." : "姓名或电子邮件地址...",
"Name or federated cloud ID..." : "姓名或联合云 ID",
"Name, federated cloud ID or email address..." : "姓名, 联合云 ID 或电子邮件地址...",
@@ -260,7 +271,9 @@ OC.L10N.register(
"Log in" : "登录",
"Stay logged in" : "保持登录",
"Alternative Logins" : "其他登录方式",
+ "You are about to grant \"%s\" access to your %s account." : "您即将向您的%s帐户授予“%s”访问权限。",
"App token" : "App 令牌",
+ "Alternative login using app token" : "使用应用程序令牌替代登录",
"Redirecting …" : "正在转向...",
"New password" : "新密码",
"New Password" : "新密码",
@@ -289,7 +302,7 @@ OC.L10N.register(
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "为避免较大安装时的超时, 您可以在安装目录下执行下述的命令:",
"Detailed logs" : "详细日志",
"Update needed" : "需要更新",
- "Please use the command line updater because you have a big instance." : "由于您的实例较大, 请使用命令行更新.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "请使用命令行更新,因为您有一个超过50个用户的大型实例。",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "获取更多帮助, 请查看 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">文档</a>.",
"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 再次可用时此页面将刷新.",
@@ -325,6 +338,7 @@ OC.L10N.register(
"The share will expire on %s." : "此分享将在 %s 过期.",
"Cheers!" : "干杯!",
"Use the following link to reset your password: {link}" : "使用以下链接重置您的密码: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "嗨、你好,<br><br>只想让你知道 %s 分享了 <strong>%s</strong> 给你。<br><a href=\"%s\">现在查看!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "嗨、你好,<br><br>只想让你知道 %s 分享了 <strong>%s</strong> 给你。<br><a href=\"%s\">现在查看!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "由于您的实例较大, 请使用命令行更新."
},
"nplurals=1; plural=0;");
diff --git a/core/l10n/zh_CN.json b/core/l10n/zh_CN.json
index ceb105d8a7c..f46e05fd86f 100644
--- a/core/l10n/zh_CN.json
+++ b/core/l10n/zh_CN.json
@@ -13,6 +13,8 @@
"No valid crop data provided" : "没有提供有效的裁剪数据",
"Crop is not square" : "裁剪的不是正方形",
"State token does not match" : "状态令牌无法匹配",
+ "Auth flow can only be started unauthenticated." : "验证流程只能在未经身份验证的情况下启动。",
+ "Password reset is disabled" : "密码重置不可用",
"Couldn't reset password because the token is invalid" : "令牌无效, 无法重置密码",
"Couldn't reset password because the token is expired" : "令牌已过期, 无法重置密码",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "该用户没有设置电子邮件地址, 无发送重置邮件. 请联系管理员.",
@@ -37,6 +39,9 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "检查数据库结构是否可以更新 (这可能需要很长的时间, 这取决于数据库大小)",
"Checked database schema update" : "已经检查数据库结构更新",
"Checking updates of apps" : "检查更新应用",
+ "Checking for update of app \"%s\" in appstore" : "检查%s应用是否有更新",
+ "Update app \"%s\" from appstore" : "从应用商店更新%s应用",
+ "Checked for update of app \"%s\" in appstore" : "已检查%s应用的是否有更新",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "检查 %s 的数据库结构是否可以更新 (这可能需要很长的时间, 这取决于数据库大小)",
"Checked database schema update for apps" : "已经检查应用的数据库结构更新",
"Updated \"%s\" to %s" : "更新 \"%s\" 为 %s",
@@ -55,6 +60,7 @@
"Looking for {term} …" : "查找 {term} ...",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">代码完整性检查出现异常, 点击查看详细信息...</a>",
"No action available" : "无可用操作",
+ "Error fetching contact actions" : "查找联系人时出错",
"Settings" : "设置",
"Connection to server lost" : "与服务器的连接断开",
"_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["加载页面出现问题,将在 %n 秒后重新加载"],
@@ -135,6 +141,8 @@
"Email link to person" : "发送链接到个人",
"Send" : "发送",
"Allow upload and editing" : "允许上传和编辑",
+ "Read only" : "只读",
+ "Secure drop (upload only)" : "安全删除 (仅上传)",
"Shared with you and the group {group} by {owner}" : "{owner} 分享给您及 {group} 分组",
"Shared with you by {owner}" : "{owner} 分享给您",
"Choose a password for the mail share" : "为电子邮件分享选择一个密码",
@@ -163,6 +171,9 @@
"{sharee} (email)" : "{sharee} (邮件)",
"{sharee} ({type}, {owner})" : "{share}({type},{owner})",
"Share" : "分享",
+ "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." : "输入用户/组织或邮箱地址来分享给其他人",
"Name or email address..." : "姓名或电子邮件地址...",
"Name or federated cloud ID..." : "姓名或联合云 ID",
"Name, federated cloud ID or email address..." : "姓名, 联合云 ID 或电子邮件地址...",
@@ -258,7 +269,9 @@
"Log in" : "登录",
"Stay logged in" : "保持登录",
"Alternative Logins" : "其他登录方式",
+ "You are about to grant \"%s\" access to your %s account." : "您即将向您的%s帐户授予“%s”访问权限。",
"App token" : "App 令牌",
+ "Alternative login using app token" : "使用应用程序令牌替代登录",
"Redirecting …" : "正在转向...",
"New password" : "新密码",
"New Password" : "新密码",
@@ -287,7 +300,7 @@
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "为避免较大安装时的超时, 您可以在安装目录下执行下述的命令:",
"Detailed logs" : "详细日志",
"Update needed" : "需要更新",
- "Please use the command line updater because you have a big instance." : "由于您的实例较大, 请使用命令行更新.",
+ "Please use the command line updater because you have a big instance with more than 50 users." : "请使用命令行更新,因为您有一个超过50个用户的大型实例。",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "获取更多帮助, 请查看 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">文档</a>.",
"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 再次可用时此页面将刷新.",
@@ -323,6 +336,7 @@
"The share will expire on %s." : "此分享将在 %s 过期.",
"Cheers!" : "干杯!",
"Use the following link to reset your password: {link}" : "使用以下链接重置您的密码: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "嗨、你好,<br><br>只想让你知道 %s 分享了 <strong>%s</strong> 给你。<br><a href=\"%s\">现在查看!</a><br><br>"
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "嗨、你好,<br><br>只想让你知道 %s 分享了 <strong>%s</strong> 给你。<br><a href=\"%s\">现在查看!</a><br><br>",
+ "Please use the command line updater because you have a big instance." : "由于您的实例较大, 请使用命令行更新."
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/core/l10n/zh_TW.js b/core/l10n/zh_TW.js
deleted file mode 100644
index f99f9f8e7ee..00000000000
--- a/core/l10n/zh_TW.js
+++ /dev/null
@@ -1,257 +0,0 @@
-OC.L10N.register(
- "core",
- {
- "Please select a file." : "請選擇一個檔案",
- "File is too big" : "檔案太大",
- "Invalid file provided" : "提供的檔案無效",
- "No image or file provided" : "未提供圖片或檔案",
- "Unknown filetype" : "未知的檔案類型",
- "Invalid image" : "無效的圖片",
- "An error occurred. Please contact your admin." : "發生錯誤,請聯絡管理員",
- "No temporary profile picture available, try again" : "沒有臨時用的大頭貼,請再試一次",
- "No crop data provided" : "未設定剪裁",
- "No valid crop data provided" : "未提供有效的剪裁設定",
- "Crop is not square" : "剪裁設定不是正方形",
- "Couldn't reset password because the token is invalid" : "無法重設密碼因為 token 無效",
- "Couldn't reset password because the token is expired" : "無法重設密碼,因為 token 過期",
- "Could not send reset email because there is no email address for this username. Please contact your administrator." : "無法寄送重設 email ,因為這個帳號沒有設定 email 地址,請聯絡您的系統管理員。",
- "%s password reset" : "%s 密碼重設",
- "Couldn't send reset email. Please contact your administrator." : "無法寄送重設 email ,請聯絡系統管理員",
- "Couldn't send reset email. Please make sure your username is correct." : "無法寄送重設 email ,請確認您的帳號輸入正確",
- "Preparing update" : "準備更新",
- "[%d / %d]: %s" : "[%d / %d]: %s",
- "Repair warning: " : "修復警告:",
- "Repair error: " : "修復錯誤",
- "Please use the command line updater because automatic updating is disabled in the config.php." : "請使用命令列更新工具,因為自動更新在 config.php 中被停用了",
- "[%d / %d]: Checking table %s" : "[%d / %d]: 檢查資料表 %s",
- "Turned on maintenance mode" : "已啓用維護模式",
- "Turned off maintenance mode" : "已停用維護模式",
- "Maintenance mode is kept active" : "維護模式維持在開啟狀態",
- "Updating database schema" : "更新資料庫格式",
- "Updated database" : "已更新資料庫",
- "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "檢查是否有可更新的資料庫格式(若資料庫較大,可能需要一段時間)",
- "Checked database schema update" : "已檢查資料庫格式更新",
- "Checking updates of apps" : "檢查 app 更新",
- "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "檢查 %s 是否有可更新的資料庫格式(若資料庫較大,可能需要一段時間)",
- "Checked database schema update for apps" : "已檢查應用程式的資料庫格式更新",
- "Updated \"%s\" to %s" : "已更新 %s 到 %s",
- "Set log level to debug" : "設定紀錄變成除錯層級",
- "Reset log level" : "重設記錄層級",
- "Starting code integrity check" : "開始檢查程式碼完整性",
- "Finished code integrity check" : "完成程式碼完整性檢查",
- "%s (3rdparty)" : "%s (第3方)",
- "%s (incompatible)" : "%s (不相容的)",
- "Following apps have been disabled: %s" : "以下應用程式已經被停用:%s",
- "Already up to date" : "已經是最新版",
- "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">執行程式碼完整性檢查時發生問題。更多資訊…</a>",
- "Settings" : "設定",
- "Connection to server lost" : "伺服器連線中斷",
- "Saving..." : "儲存中...",
- "Dismiss" : "知道了",
- "Authentication required" : "需要認證",
- "Password" : "密碼",
- "Cancel" : "取消",
- "Confirm" : "確認",
- "Failed to authenticate, try again" : "認證失敗,再試一次。",
- "seconds ago" : "幾秒前",
- "Logging in …" : "載入中......",
- "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "重設密碼的連結已經 email 至你的信箱,如果你在一段時間內沒收到,請檢查垃圾郵件資料夾,如果還是找不到,請聯絡系統管理員。",
- "Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "您的檔案是加密的,當您重設密碼之後將無法存取您的資料。<br/>如果不確定該怎麼做,請聯絡您的系統管理員。<br/>您確定要繼續嗎?",
- "I know what I'm doing" : "我知道我在幹嘛",
- "Password can not be changed. Please contact your administrator." : "無法變更密碼,請聯絡您的系統管理員",
- "No" : "否",
- "Yes" : "是",
- "No files in here" : "沒有任何檔案",
- "Choose" : "選擇",
- "Error loading file picker template: {error}" : "載入檔案選擇器樣板出錯: {error}",
- "Error loading message template: {error}" : "載入訊息樣板出錯: {error}",
- "read-only" : "唯讀",
- "_{count} file conflict_::_{count} file conflicts_" : ["{count} 個檔案衝突"],
- "One file conflict" : "一個檔案衝突",
- "New Files" : "新檔案",
- "Already existing files" : "已經存在的檔案",
- "Which files do you want to keep?" : "您要保留哪一個檔案?",
- "If you select both versions, the copied file will have a number added to its name." : "如果您同時選擇兩個版本,被複製的那個檔案名稱後面會加上編號",
- "Continue" : "繼續",
- "(all selected)" : "(已全選)",
- "({count} selected)" : "(已選 {count} 項)",
- "Error loading file exists template" : "載入檔案存在樣板出錯",
- "Pending" : "等候中",
- "Very weak password" : "密碼強度非常弱",
- "Weak password" : "密碼強度弱",
- "So-so password" : "密碼強度普通",
- "Good password" : "密碼強度佳",
- "Strong password" : "密碼強度極佳",
- "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "您的網頁伺服器無法提供檔案同步功能,因為 WebDAV 界面有問題",
- "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>." : "您的網頁伺服器並未正確設定來解析 \"{url}\" ,請查看我們的<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</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." : "伺服器沒有網際網路連線,有些功能,像是外部儲存、更新版通知將無法運作。從遠端存取資料或是寄送 email 通知可能也無法運作。建議您設定好網際網路連線以使用所有功能。",
- "Error occurred while checking server setup" : "檢查伺服器設定時發生錯誤",
- "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP 標頭配置與 \"{expected}\"不一樣,這是一個潛在安全性或者隱私上的風險,因此我們建議您調整此設定",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "您正在藉由 HTTP 訪問此網站,如我們的<a href=\"{docUrl}\">安全性提示</a>所述,我們強烈建議設定您的伺服器須要求使用 HTTPS",
- "Shared" : "已分享",
- "Shared with {recipients}" : "與 {recipients} 分享",
- "Error setting expiration date" : "設定到期日發生錯誤",
- "The public link will expire no later than {days} days after it is created" : "這個公開連結會在 {days} 天內失效",
- "Set expiration date" : "指定到期日",
- "Expiration" : "過期",
- "Expiration date" : "到期日",
- "Choose a password for the public link" : "為公開連結選一個密碼",
- "Copied!" : "已複製",
- "Not supported!" : "不支援!",
- "Press ⌘-C to copy." : "按下 ⌘-C 來複製",
- "Press Ctrl-C to copy." : "按下 Ctrl-C 來複製",
- "Resharing is not allowed" : "不允許重新分享",
- "Share link" : "分享連結",
- "Link" : "連結",
- "Password protect" : "密碼保護",
- "Allow editing" : "允許編輯",
- "Email link to person" : "將連結 email 給別人",
- "Send" : "寄出",
- "Allow upload and editing" : "允許上傳及編輯",
- "Shared with you and the group {group} by {owner}" : "由 {owner} 分享給您和 {group}",
- "Shared with you by {owner}" : "{owner} 已經和您分享",
- "{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} 分享了連結",
- "group" : "群組",
- "remote" : "遠端",
- "Unshare" : "取消分享",
- "Could not unshare" : "無法取消分享",
- "Error while sharing" : "分享時發生錯誤",
- "Share details could not be loaded for this item." : "無法載入分享細節",
- "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} (遠端)",
- "Share" : "分享",
- "Error" : "錯誤",
- "Error removing share" : "移除分享時發生錯誤",
- "Non-existing tag #{tag}" : "不存在的標籤 #{tag}",
- "restricted" : "受限",
- "invisible" : "不可見",
- "({scope})" : "({scope})",
- "Delete" : "刪除",
- "Rename" : "重新命名",
- "Collaborative tags" : "標籤",
- "unknown text" : "未知的文字",
- "Hello world!" : "哈囉 世界!",
- "sunny" : "晴朗的",
- "Hello {name}, the weather is {weather}" : "哈囉 {name}, 天氣是 {weather}",
- "Hello {name}" : "哈囉 {name}",
- "new" : "新",
- "_download %n file_::_download %n files_" : ["下載 %n 個檔案"],
- "The update is in progress, leaving this page might interrupt the process in some environments." : "正在更新,在某些狀況下,離開本頁面可能會導致更新中斷",
- "Update to {version}" : "更新到 {version}",
- "An error occurred." : "發生錯誤",
- "Please reload the page." : "請重新整理頁面",
- "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "更新失敗,檢視<a href=\"{url}\">論壇上的文章</a>來瞭解更多",
- "Continue to Nextcloud" : "繼續前往 Nextcloud",
- "Searching other places" : "搜尋其他位置",
- "_{count} search result in another folder_::_{count} search results in other folders_" : ["在其他資料夾中有 {count} 比結果"],
- "Personal" : "個人",
- "Users" : "使用者",
- "Apps" : "應用程式",
- "Admin" : "管理",
- "Help" : "說明",
- "Access forbidden" : "存取被拒",
- "File not found" : "找不到檔案",
- "The specified document has not been found on the server." : "該文件不存在於伺服器上",
- "You can click here to return to %s." : "點這裡以回到 %s",
- "Internal Server Error" : "內部伺服器錯誤",
- "The server encountered an internal error and was unable to complete your request." : "伺服器遭遇內部錯誤,無法完成您的要求",
- "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "如果這個錯誤重複出現,請聯絡系統管理員,並附上以下的錯誤細節",
- "More details can be found in the server log." : "伺服器記錄檔裡面有更多細節",
- "Technical details" : "技術細節",
- "Remote Address: %s" : "遠端位置:%s",
- "Request ID: %s" : "請求編號:%s",
- "Type: %s" : "類型:%s",
- "Code: %s" : "代碼:%s",
- "Message: %s" : "訊息:%s",
- "File: %s" : "檔案:%s",
- "Line: %s" : "行數:%s",
- "Trace" : "追蹤",
- "Security warning" : "安全性警告",
- "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "您的資料目錄看起來可以被 Internet 公開存取,因為 .htaccess 設定並未生效。",
- "Create an <strong>admin account</strong>" : "建立一個<strong>管理者帳號</strong>",
- "Username" : "使用者名稱",
- "Storage & database" : "儲存空間和資料庫",
- "Data folder" : "資料儲存位置",
- "Configure the database" : "設定資料庫",
- "Only %s is available." : "剩下 %s 可使用",
- "Install and activate additional PHP modules to choose other database types." : "安裝並啟用相關 PHP 模組來使用其他種資料庫",
- "For more details check out the documentation." : "更多細節詳見說明文件",
- "Database user" : "資料庫使用者",
- "Database password" : "資料庫密碼",
- "Database name" : "資料庫名稱",
- "Database tablespace" : "資料庫 tablespace",
- "Database host" : "資料庫主機",
- "Performance warning" : "效能警告",
- "SQLite will be used as database." : "將使用 SQLite 為資料庫",
- "For larger installations we recommend to choose a different database backend." : "在大型安裝中建議使用其他種資料庫",
- "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "若使用桌面版程式同步檔案,不建議使用 SQLite",
- "Finish setup" : "完成設定",
- "Finishing …" : "即將完成…",
- "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}然後重新整理頁面。",
- "Search" : "搜尋",
- "Server side authentication failed!" : "伺服器端認證失敗!",
- "Please contact your administrator." : "請聯絡系統管理員",
- "An internal error occurred." : "發生內部錯誤",
- "Please try again or contact your administrator." : "請重試或聯絡系統管理員",
- "Username or email" : "用戶名或 email",
- "Wrong password. Reset it?" : "密碼錯誤,重設密碼?",
- "Wrong password." : "密碼錯誤",
- "Log in" : "登入",
- "Stay logged in" : "保持登入狀態",
- "Alternative Logins" : "其他登入方法",
- "New password" : "新密碼",
- "New Password" : "新密碼",
- "Reset password" : "重設密碼",
- "This Nextcloud instance is currently in single user mode." : "這個 Nextcloud 伺服器目前運作於單一使用者模式",
- "This means only administrators can use the instance." : "這表示只有系統管理員能夠使用",
- "Contact your system administrator if this message persists or appeared unexpectedly." : "若這個訊息持續出現,請聯絡系統管理員",
- "Thank you for your patience." : "感謝您的耐心",
- "Log out" : "登出",
- "Two-factor authentication" : "二階段認證",
- "Cancel log in" : "取消登入",
- "Use backup code" : "使用備用認證碼",
- "Error while validating your second factor" : "驗證二階段因子發生錯誤",
- "You are accessing the server from an untrusted domain." : "你正在從一個未信任的網域存取伺服器",
- "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "請聯絡您的系統管理員,如果您就是系統管理員,請設定 config/config.php 中的 \"trusted_domain\" 選項。範例設定提供於 config/config.sample.php。",
- "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "依照設定而定,您身為系統管理員可能也可以使用底下的按鈕來信任這個網域",
- "Add \"%s\" as trusted domain" : "將 %s 加入到信任的網域",
- "App update required" : "需要更新應用程式",
- "%s will be updated to version %s" : "%s 將會更新至版本 %s",
- "These apps will be updated:" : "將會更新這些應用程式",
- "These incompatible apps will be disabled:" : "將會停用這些不相容的應用程式",
- "The theme %s has been disabled." : "主題 %s 已經被停用",
- "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "在繼續之前,請備份資料庫、config 目錄及資料目錄",
- "Start update" : "開始升級",
- "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "在大型安裝上,為了避免升級請求逾時,你也可以在安裝目錄執行下列指令:",
- "Detailed logs" : "詳細記錄檔",
- "Update needed" : "需要更新",
- "Please use the command line updater because you have a big instance." : "請使用命令列更新工具,因為您的服務規模較大",
- "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 安裝恢復可用之後,本頁會自動重新整理",
- "Problem loading page, reloading in 5 seconds" : "載入頁面出錯,5 秒後重新整理",
- "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "您的檔案是加密的,如果您沒有啟用救援金鑰,當您重設密碼之後將無法存取您的資料。<br/>如果不確定該怎麼做,請聯絡您的系統管理員。<br/>您確定要繼續嗎?",
- "Ok" : "好",
- "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 檔案並未生效,我們強烈建議您設定您的網頁伺服器,拒絕資料目錄的公開存取,或者將您的資料目錄移出網頁伺服器根目錄。",
- "Error while unsharing" : "取消分享時發生錯誤",
- "can reshare" : "允許轉分享",
- "can edit" : "可編輯",
- "access control" : "存取控制",
- "The object type is not specified." : "未指定物件類型",
- "Enter new" : "輸入新的",
- "Add" : "增加",
- "Edit tags" : "編輯標籤",
- "Error loading dialog template: {error}" : "載入對話樣板出錯:{error}",
- "No tags selected for deletion." : "沒有選擇要刪除的標籤",
- "The update was successful. Redirecting you to Nextcloud now." : "更新成功,即將重導向至 Nextcloud",
- "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "嗨,\n\n%s 和你分享了 %s ,到這裡看它:%s\n",
- "The share will expire on %s." : "這個分享將會於 %s 過期",
- "Cheers!" : "太棒了!",
- "Use the following link to reset your password: {link}" : "請至以下連結重設您的密碼: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "嗨,<br><br>%s 與你分享了<strong>%s</strong>。<br><a href=\"%s\">檢視</a><br><br>"
-},
-"nplurals=1; plural=0;");
diff --git a/core/l10n/zh_TW.json b/core/l10n/zh_TW.json
deleted file mode 100644
index ac4a81b52cd..00000000000
--- a/core/l10n/zh_TW.json
+++ /dev/null
@@ -1,255 +0,0 @@
-{ "translations": {
- "Please select a file." : "請選擇一個檔案",
- "File is too big" : "檔案太大",
- "Invalid file provided" : "提供的檔案無效",
- "No image or file provided" : "未提供圖片或檔案",
- "Unknown filetype" : "未知的檔案類型",
- "Invalid image" : "無效的圖片",
- "An error occurred. Please contact your admin." : "發生錯誤,請聯絡管理員",
- "No temporary profile picture available, try again" : "沒有臨時用的大頭貼,請再試一次",
- "No crop data provided" : "未設定剪裁",
- "No valid crop data provided" : "未提供有效的剪裁設定",
- "Crop is not square" : "剪裁設定不是正方形",
- "Couldn't reset password because the token is invalid" : "無法重設密碼因為 token 無效",
- "Couldn't reset password because the token is expired" : "無法重設密碼,因為 token 過期",
- "Could not send reset email because there is no email address for this username. Please contact your administrator." : "無法寄送重設 email ,因為這個帳號沒有設定 email 地址,請聯絡您的系統管理員。",
- "%s password reset" : "%s 密碼重設",
- "Couldn't send reset email. Please contact your administrator." : "無法寄送重設 email ,請聯絡系統管理員",
- "Couldn't send reset email. Please make sure your username is correct." : "無法寄送重設 email ,請確認您的帳號輸入正確",
- "Preparing update" : "準備更新",
- "[%d / %d]: %s" : "[%d / %d]: %s",
- "Repair warning: " : "修復警告:",
- "Repair error: " : "修復錯誤",
- "Please use the command line updater because automatic updating is disabled in the config.php." : "請使用命令列更新工具,因為自動更新在 config.php 中被停用了",
- "[%d / %d]: Checking table %s" : "[%d / %d]: 檢查資料表 %s",
- "Turned on maintenance mode" : "已啓用維護模式",
- "Turned off maintenance mode" : "已停用維護模式",
- "Maintenance mode is kept active" : "維護模式維持在開啟狀態",
- "Updating database schema" : "更新資料庫格式",
- "Updated database" : "已更新資料庫",
- "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "檢查是否有可更新的資料庫格式(若資料庫較大,可能需要一段時間)",
- "Checked database schema update" : "已檢查資料庫格式更新",
- "Checking updates of apps" : "檢查 app 更新",
- "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "檢查 %s 是否有可更新的資料庫格式(若資料庫較大,可能需要一段時間)",
- "Checked database schema update for apps" : "已檢查應用程式的資料庫格式更新",
- "Updated \"%s\" to %s" : "已更新 %s 到 %s",
- "Set log level to debug" : "設定紀錄變成除錯層級",
- "Reset log level" : "重設記錄層級",
- "Starting code integrity check" : "開始檢查程式碼完整性",
- "Finished code integrity check" : "完成程式碼完整性檢查",
- "%s (3rdparty)" : "%s (第3方)",
- "%s (incompatible)" : "%s (不相容的)",
- "Following apps have been disabled: %s" : "以下應用程式已經被停用:%s",
- "Already up to date" : "已經是最新版",
- "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">執行程式碼完整性檢查時發生問題。更多資訊…</a>",
- "Settings" : "設定",
- "Connection to server lost" : "伺服器連線中斷",
- "Saving..." : "儲存中...",
- "Dismiss" : "知道了",
- "Authentication required" : "需要認證",
- "Password" : "密碼",
- "Cancel" : "取消",
- "Confirm" : "確認",
- "Failed to authenticate, try again" : "認證失敗,再試一次。",
- "seconds ago" : "幾秒前",
- "Logging in …" : "載入中......",
- "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "重設密碼的連結已經 email 至你的信箱,如果你在一段時間內沒收到,請檢查垃圾郵件資料夾,如果還是找不到,請聯絡系統管理員。",
- "Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "您的檔案是加密的,當您重設密碼之後將無法存取您的資料。<br/>如果不確定該怎麼做,請聯絡您的系統管理員。<br/>您確定要繼續嗎?",
- "I know what I'm doing" : "我知道我在幹嘛",
- "Password can not be changed. Please contact your administrator." : "無法變更密碼,請聯絡您的系統管理員",
- "No" : "否",
- "Yes" : "是",
- "No files in here" : "沒有任何檔案",
- "Choose" : "選擇",
- "Error loading file picker template: {error}" : "載入檔案選擇器樣板出錯: {error}",
- "Error loading message template: {error}" : "載入訊息樣板出錯: {error}",
- "read-only" : "唯讀",
- "_{count} file conflict_::_{count} file conflicts_" : ["{count} 個檔案衝突"],
- "One file conflict" : "一個檔案衝突",
- "New Files" : "新檔案",
- "Already existing files" : "已經存在的檔案",
- "Which files do you want to keep?" : "您要保留哪一個檔案?",
- "If you select both versions, the copied file will have a number added to its name." : "如果您同時選擇兩個版本,被複製的那個檔案名稱後面會加上編號",
- "Continue" : "繼續",
- "(all selected)" : "(已全選)",
- "({count} selected)" : "(已選 {count} 項)",
- "Error loading file exists template" : "載入檔案存在樣板出錯",
- "Pending" : "等候中",
- "Very weak password" : "密碼強度非常弱",
- "Weak password" : "密碼強度弱",
- "So-so password" : "密碼強度普通",
- "Good password" : "密碼強度佳",
- "Strong password" : "密碼強度極佳",
- "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "您的網頁伺服器無法提供檔案同步功能,因為 WebDAV 界面有問題",
- "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>." : "您的網頁伺服器並未正確設定來解析 \"{url}\" ,請查看我們的<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</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." : "伺服器沒有網際網路連線,有些功能,像是外部儲存、更新版通知將無法運作。從遠端存取資料或是寄送 email 通知可能也無法運作。建議您設定好網際網路連線以使用所有功能。",
- "Error occurred while checking server setup" : "檢查伺服器設定時發生錯誤",
- "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP 標頭配置與 \"{expected}\"不一樣,這是一個潛在安全性或者隱私上的風險,因此我們建議您調整此設定",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "您正在藉由 HTTP 訪問此網站,如我們的<a href=\"{docUrl}\">安全性提示</a>所述,我們強烈建議設定您的伺服器須要求使用 HTTPS",
- "Shared" : "已分享",
- "Shared with {recipients}" : "與 {recipients} 分享",
- "Error setting expiration date" : "設定到期日發生錯誤",
- "The public link will expire no later than {days} days after it is created" : "這個公開連結會在 {days} 天內失效",
- "Set expiration date" : "指定到期日",
- "Expiration" : "過期",
- "Expiration date" : "到期日",
- "Choose a password for the public link" : "為公開連結選一個密碼",
- "Copied!" : "已複製",
- "Not supported!" : "不支援!",
- "Press ⌘-C to copy." : "按下 ⌘-C 來複製",
- "Press Ctrl-C to copy." : "按下 Ctrl-C 來複製",
- "Resharing is not allowed" : "不允許重新分享",
- "Share link" : "分享連結",
- "Link" : "連結",
- "Password protect" : "密碼保護",
- "Allow editing" : "允許編輯",
- "Email link to person" : "將連結 email 給別人",
- "Send" : "寄出",
- "Allow upload and editing" : "允許上傳及編輯",
- "Shared with you and the group {group} by {owner}" : "由 {owner} 分享給您和 {group}",
- "Shared with you by {owner}" : "{owner} 已經和您分享",
- "{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} 分享了連結",
- "group" : "群組",
- "remote" : "遠端",
- "Unshare" : "取消分享",
- "Could not unshare" : "無法取消分享",
- "Error while sharing" : "分享時發生錯誤",
- "Share details could not be loaded for this item." : "無法載入分享細節",
- "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} (遠端)",
- "Share" : "分享",
- "Error" : "錯誤",
- "Error removing share" : "移除分享時發生錯誤",
- "Non-existing tag #{tag}" : "不存在的標籤 #{tag}",
- "restricted" : "受限",
- "invisible" : "不可見",
- "({scope})" : "({scope})",
- "Delete" : "刪除",
- "Rename" : "重新命名",
- "Collaborative tags" : "標籤",
- "unknown text" : "未知的文字",
- "Hello world!" : "哈囉 世界!",
- "sunny" : "晴朗的",
- "Hello {name}, the weather is {weather}" : "哈囉 {name}, 天氣是 {weather}",
- "Hello {name}" : "哈囉 {name}",
- "new" : "新",
- "_download %n file_::_download %n files_" : ["下載 %n 個檔案"],
- "The update is in progress, leaving this page might interrupt the process in some environments." : "正在更新,在某些狀況下,離開本頁面可能會導致更新中斷",
- "Update to {version}" : "更新到 {version}",
- "An error occurred." : "發生錯誤",
- "Please reload the page." : "請重新整理頁面",
- "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "更新失敗,檢視<a href=\"{url}\">論壇上的文章</a>來瞭解更多",
- "Continue to Nextcloud" : "繼續前往 Nextcloud",
- "Searching other places" : "搜尋其他位置",
- "_{count} search result in another folder_::_{count} search results in other folders_" : ["在其他資料夾中有 {count} 比結果"],
- "Personal" : "個人",
- "Users" : "使用者",
- "Apps" : "應用程式",
- "Admin" : "管理",
- "Help" : "說明",
- "Access forbidden" : "存取被拒",
- "File not found" : "找不到檔案",
- "The specified document has not been found on the server." : "該文件不存在於伺服器上",
- "You can click here to return to %s." : "點這裡以回到 %s",
- "Internal Server Error" : "內部伺服器錯誤",
- "The server encountered an internal error and was unable to complete your request." : "伺服器遭遇內部錯誤,無法完成您的要求",
- "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "如果這個錯誤重複出現,請聯絡系統管理員,並附上以下的錯誤細節",
- "More details can be found in the server log." : "伺服器記錄檔裡面有更多細節",
- "Technical details" : "技術細節",
- "Remote Address: %s" : "遠端位置:%s",
- "Request ID: %s" : "請求編號:%s",
- "Type: %s" : "類型:%s",
- "Code: %s" : "代碼:%s",
- "Message: %s" : "訊息:%s",
- "File: %s" : "檔案:%s",
- "Line: %s" : "行數:%s",
- "Trace" : "追蹤",
- "Security warning" : "安全性警告",
- "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "您的資料目錄看起來可以被 Internet 公開存取,因為 .htaccess 設定並未生效。",
- "Create an <strong>admin account</strong>" : "建立一個<strong>管理者帳號</strong>",
- "Username" : "使用者名稱",
- "Storage & database" : "儲存空間和資料庫",
- "Data folder" : "資料儲存位置",
- "Configure the database" : "設定資料庫",
- "Only %s is available." : "剩下 %s 可使用",
- "Install and activate additional PHP modules to choose other database types." : "安裝並啟用相關 PHP 模組來使用其他種資料庫",
- "For more details check out the documentation." : "更多細節詳見說明文件",
- "Database user" : "資料庫使用者",
- "Database password" : "資料庫密碼",
- "Database name" : "資料庫名稱",
- "Database tablespace" : "資料庫 tablespace",
- "Database host" : "資料庫主機",
- "Performance warning" : "效能警告",
- "SQLite will be used as database." : "將使用 SQLite 為資料庫",
- "For larger installations we recommend to choose a different database backend." : "在大型安裝中建議使用其他種資料庫",
- "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "若使用桌面版程式同步檔案,不建議使用 SQLite",
- "Finish setup" : "完成設定",
- "Finishing …" : "即將完成…",
- "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}然後重新整理頁面。",
- "Search" : "搜尋",
- "Server side authentication failed!" : "伺服器端認證失敗!",
- "Please contact your administrator." : "請聯絡系統管理員",
- "An internal error occurred." : "發生內部錯誤",
- "Please try again or contact your administrator." : "請重試或聯絡系統管理員",
- "Username or email" : "用戶名或 email",
- "Wrong password. Reset it?" : "密碼錯誤,重設密碼?",
- "Wrong password." : "密碼錯誤",
- "Log in" : "登入",
- "Stay logged in" : "保持登入狀態",
- "Alternative Logins" : "其他登入方法",
- "New password" : "新密碼",
- "New Password" : "新密碼",
- "Reset password" : "重設密碼",
- "This Nextcloud instance is currently in single user mode." : "這個 Nextcloud 伺服器目前運作於單一使用者模式",
- "This means only administrators can use the instance." : "這表示只有系統管理員能夠使用",
- "Contact your system administrator if this message persists or appeared unexpectedly." : "若這個訊息持續出現,請聯絡系統管理員",
- "Thank you for your patience." : "感謝您的耐心",
- "Log out" : "登出",
- "Two-factor authentication" : "二階段認證",
- "Cancel log in" : "取消登入",
- "Use backup code" : "使用備用認證碼",
- "Error while validating your second factor" : "驗證二階段因子發生錯誤",
- "You are accessing the server from an untrusted domain." : "你正在從一個未信任的網域存取伺服器",
- "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "請聯絡您的系統管理員,如果您就是系統管理員,請設定 config/config.php 中的 \"trusted_domain\" 選項。範例設定提供於 config/config.sample.php。",
- "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "依照設定而定,您身為系統管理員可能也可以使用底下的按鈕來信任這個網域",
- "Add \"%s\" as trusted domain" : "將 %s 加入到信任的網域",
- "App update required" : "需要更新應用程式",
- "%s will be updated to version %s" : "%s 將會更新至版本 %s",
- "These apps will be updated:" : "將會更新這些應用程式",
- "These incompatible apps will be disabled:" : "將會停用這些不相容的應用程式",
- "The theme %s has been disabled." : "主題 %s 已經被停用",
- "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "在繼續之前,請備份資料庫、config 目錄及資料目錄",
- "Start update" : "開始升級",
- "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "在大型安裝上,為了避免升級請求逾時,你也可以在安裝目錄執行下列指令:",
- "Detailed logs" : "詳細記錄檔",
- "Update needed" : "需要更新",
- "Please use the command line updater because you have a big instance." : "請使用命令列更新工具,因為您的服務規模較大",
- "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 安裝恢復可用之後,本頁會自動重新整理",
- "Problem loading page, reloading in 5 seconds" : "載入頁面出錯,5 秒後重新整理",
- "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "您的檔案是加密的,如果您沒有啟用救援金鑰,當您重設密碼之後將無法存取您的資料。<br/>如果不確定該怎麼做,請聯絡您的系統管理員。<br/>您確定要繼續嗎?",
- "Ok" : "好",
- "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 檔案並未生效,我們強烈建議您設定您的網頁伺服器,拒絕資料目錄的公開存取,或者將您的資料目錄移出網頁伺服器根目錄。",
- "Error while unsharing" : "取消分享時發生錯誤",
- "can reshare" : "允許轉分享",
- "can edit" : "可編輯",
- "access control" : "存取控制",
- "The object type is not specified." : "未指定物件類型",
- "Enter new" : "輸入新的",
- "Add" : "增加",
- "Edit tags" : "編輯標籤",
- "Error loading dialog template: {error}" : "載入對話樣板出錯:{error}",
- "No tags selected for deletion." : "沒有選擇要刪除的標籤",
- "The update was successful. Redirecting you to Nextcloud now." : "更新成功,即將重導向至 Nextcloud",
- "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "嗨,\n\n%s 和你分享了 %s ,到這裡看它:%s\n",
- "The share will expire on %s." : "這個分享將會於 %s 過期",
- "Cheers!" : "太棒了!",
- "Use the following link to reset your password: {link}" : "請至以下連結重設您的密碼: {link}",
- "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "嗨,<br><br>%s 與你分享了<strong>%s</strong>。<br><a href=\"%s\">檢視</a><br><br>"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/core/shipped.json b/core/shipped.json
index d064cbb5c37..306131405e2 100644
--- a/core/shipped.json
+++ b/core/shipped.json
@@ -33,7 +33,6 @@
"updatenotification",
"user_external",
"user_ldap",
- "user_saml",
"workflowengine"
],
"alwaysEnabled": [
diff --git a/core/templates/loginflow/authpicker.php b/core/templates/loginflow/authpicker.php
index c5eb6cb316d..c427d657e4a 100644
--- a/core/templates/loginflow/authpicker.php
+++ b/core/templates/loginflow/authpicker.php
@@ -35,7 +35,7 @@ $urlGenerator = $_['urlGenerator'];
<br/>
<p id="redirect-link">
- <a href="<?php p($urlGenerator->linkToRouteAbsolute('core.ClientFlowLogin.redirectPage', ['stateToken' => $_['stateToken']])) ?>">
+ <a href="<?php p($urlGenerator->linkToRouteAbsolute('core.ClientFlowLogin.redirectPage', ['stateToken' => $_['stateToken'], 'clientIdentifier' => $_['clientIdentifier'], 'oauthState' => $_['oauthState']])) ?>">
<input type="submit" class="login primary icon-confirm-white" value="<?php p('Grant access') ?>">
</a>
</p>
@@ -54,4 +54,6 @@ $urlGenerator = $_['urlGenerator'];
</fieldset>
</div>
+<?php if(empty($_['oauthState'])): ?>
<a id="app-token-login" class="warning" href="#"><?php p($l->t('Alternative login using app token')) ?></a>
+<?php endif; ?>
diff --git a/core/templates/loginflow/redirect.php b/core/templates/loginflow/redirect.php
index 7ef0184f61f..1c6e105b88d 100644
--- a/core/templates/loginflow/redirect.php
+++ b/core/templates/loginflow/redirect.php
@@ -31,7 +31,9 @@ $urlGenerator = $_['urlGenerator'];
</div>
<form method="POST" action="<?php p($urlGenerator->linkToRouteAbsolute('core.ClientFlowLogin.generateAppPassword')) ?>">
+ <input type="hidden" name="clientIdentifier" value="<?php p($_['clientIdentifier']) ?>" />
<input type="hidden" name="requesttoken" value="<?php p($_['requesttoken']) ?>" />
<input type="hidden" name="stateToken" value="<?php p($_['stateToken']) ?>" />
+ <input type="hidden" name="oauthState" value="<?php p($_['oauthState']) ?>" />
<input id="submit-redirect-form" type="submit" class="hidden "/>
</form>
diff --git a/core/templates/update.use-cli.php b/core/templates/update.use-cli.php
index 52d40cdea55..d30e15c8573 100644
--- a/core/templates/update.use-cli.php
+++ b/core/templates/update.use-cli.php
@@ -3,7 +3,7 @@
<h2 class="title"><?php p($l->t('Update needed')) ?></h2>
<div class="infogroup">
<?php if ($_['tooBig']) {
- p($l->t('Please use the command line updater because you have a big instance.'));
+ p($l->t('Please use the command line updater because you have a big instance with more than 50 users.'));
} else {
p($l->t('Please use the command line updater because automatic updating is disabled in the config.php.'));
} ?><br><br>
@@ -11,4 +11,13 @@
print_unescaped($l->t('For help, see the <a target="_blank" rel="noreferrer" href="%s">documentation</a>.', [link_to_docs('admin-cli-upgrade')])); ?><br><br>
</div>
</div>
+
+ <?php if ($_['tooBig']) { ?>
+ <div class="warning updateAnyways">
+ <?php p($l->t('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.' )); ?>
+ <a href="?IKnowThatThisIsABigInstanceAndTheUpdateRequestCouldRunIntoATimeoutAndHowToRestoreABackup=IAmSuperSureToDoThis" class="button updateAnywaysButton"><?php p($l->t('Upgrade via web on my own risk' )); ?></a>
+ </div>
+ <?php } ?>
+
+
</div>
diff --git a/core/vendor/DOMPurify/.bower.json b/core/vendor/DOMPurify/.bower.json
index 36bd657c3d7..f3250f4e3f5 100644
--- a/core/vendor/DOMPurify/.bower.json
+++ b/core/vendor/DOMPurify/.bower.json
@@ -1,6 +1,6 @@
{
"name": "DOMPurify",
- "version": "0.8.6",
+ "version": "0.8.9",
"homepage": "https://github.com/cure53/DOMPurify",
"author": "Cure53 <info@cure53.de>",
"description": "A DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG",
@@ -29,11 +29,11 @@
"test",
"website"
],
- "_release": "0.8.6",
+ "_release": "0.8.9",
"_resolution": {
"type": "version",
- "tag": "0.8.6",
- "commit": "b317725c72a3af14ee3aa3d6d61e5286bb917572"
+ "tag": "0.8.9",
+ "commit": "4465943c936b90fa966776d95dc360917801d80f"
},
"_source": "https://github.com/cure53/DOMPurify.git",
"_target": "^0.8.4",
diff --git a/core/vendor/DOMPurify/dist/purify.min.js b/core/vendor/DOMPurify/dist/purify.min.js
index 8a4fe2b63cd..5f3d94beb27 100644
--- a/core/vendor/DOMPurify/dist/purify.min.js
+++ b/core/vendor/DOMPurify/dist/purify.min.js
@@ -1,2 +1,2 @@
-(function(e){"use strict";var t=typeof window==="undefined"?null:window;if(typeof define==="function"&&define.amd){define(function(){return e(t)})}else if(typeof module!=="undefined"){module.exports=e(t)}else{t.DOMPurify=e(t)}})(function e(t){"use strict";var r=function(t){return e(t)};r.version="0.8.6";r.removed=[];if(!t||!t.document||t.document.nodeType!==9){r.isSupported=false;return r}var n=t.document;var a=n;var i=t.DocumentFragment;var o=t.HTMLTemplateElement;var l=t.Node;var s=t.NodeFilter;var f=t.NamedNodeMap||t.MozNamedAttrMap;var c=t.Text;var u=t.Comment;if(typeof o==="function"){var d=n.createElement("template");if(d.content&&d.content.ownerDocument){n=d.content.ownerDocument}}var m=n.implementation;var p=n.createNodeIterator;var v=n.getElementsByTagName;var h=n.createDocumentFragment;var g=a.importNode;var y={};r.isSupported=typeof m.createHTMLDocument!=="undefined"&&n.documentMode!==9;var T=function(e,t){var r=t.length;while(r--){if(typeof t[r]==="string"){t[r]=t[r].toLowerCase()}e[t[r]]=true}return e};var b=function(e){var t={};var r;for(r in e){if(e.hasOwnProperty(r)){t[r]=e[r]}}return t};var A=null;var x=T({},["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr","svg","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","switch","symbol","text","textpath","title","tref","tspan","view","vkern","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmuliscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mpspace","msqrt","mystyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","#text"]);var k=null;var w=T({},["accept","action","align","alt","autocomplete","background","bgcolor","border","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","coords","datetime","default","dir","disabled","download","enctype","face","for","headers","height","hidden","high","href","hreflang","id","ismap","label","lang","list","loop","low","max","maxlength","media","method","min","multiple","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","span","srclang","start","src","step","style","summary","tabindex","title","type","usemap","valign","value","width","xmlns","accent-height","accumulate","additivive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mode","min","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","surfacescale","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","u1","u2","unicode","values","viewbox","visibility","vert-adv-y","vert-origin-x","vert-origin-y","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","y","y1","y2","z","zoomandpan","accent","accentunder","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","display","displaystyle","fence","frame","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]);var E=null;var N=null;var O=true;var S=true;var D=false;var L=false;var M=false;var _=/\{\{[\s\S]*|[\s\S]*\}\}/gm;var C=/<%[\s\S]*|[\s\S]*%>/gm;var R=false;var z=false;var F=false;var H=false;var I=false;var B=true;var j=true;var W=T({},["audio","head","math","script","style","svg","video"]);var G=T({},["audio","video","img","source","image"]);var U=T({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]);var q=null;var P=n.createElement("form");var V=function(e){if(typeof e!=="object"){e={}}A="ALLOWED_TAGS"in e?T({},e.ALLOWED_TAGS):x;k="ALLOWED_ATTR"in e?T({},e.ALLOWED_ATTR):w;E="FORBID_TAGS"in e?T({},e.FORBID_TAGS):{};N="FORBID_ATTR"in e?T({},e.FORBID_ATTR):{};O=e.ALLOW_ARIA_ATTR!==false;S=e.ALLOW_DATA_ATTR!==false;D=e.ALLOW_UNKNOWN_PROTOCOLS||false;L=e.SAFE_FOR_JQUERY||false;M=e.SAFE_FOR_TEMPLATES||false;R=e.WHOLE_DOCUMENT||false;F=e.RETURN_DOM||false;H=e.RETURN_DOM_FRAGMENT||false;I=e.RETURN_DOM_IMPORT||false;z=e.FORCE_BODY||false;B=e.SANITIZE_DOM!==false;j=e.KEEP_CONTENT!==false;if(M){S=false}if(H){F=true}if(e.ADD_TAGS){if(A===x){A=b(A)}T(A,e.ADD_TAGS)}if(e.ADD_ATTR){if(k===w){k=b(k)}T(k,e.ADD_ATTR)}if(e.ADD_URI_SAFE_ATTR){T(U,e.ADD_URI_SAFE_ATTR)}if(j){A["#text"]=true}if(Object&&"freeze"in Object){Object.freeze(e)}q=e};var Y=function(e){r.removed.push({element:e});try{e.parentNode.removeChild(e)}catch(t){e.outerHTML=""}};var K=function(e,t){r.removed.push({attribute:t.getAttributeNode(e),from:t});t.removeAttribute(e)};var $=function(e){var t,r;if(z){e="<remove></remove>"+e}if(!t||!t.documentElement){t=m.createHTMLDocument("");r=t.body;r.parentNode.removeChild(r.parentNode.firstElementChild);r.outerHTML=e}if(typeof t.getElementsByTagName==="function"){return t.getElementsByTagName(R?"html":"body")[0]}return v.call(t,R?"html":"body")[0]};var J=function(e){return p.call(e.ownerDocument||e,e,s.SHOW_ELEMENT|s.SHOW_COMMENT|s.SHOW_TEXT,function(){return s.FILTER_ACCEPT},false)};var Q=function(e){if(e instanceof c||e instanceof u){return false}if(typeof e.nodeName!=="string"||typeof e.textContent!=="string"||typeof e.removeChild!=="function"||!(e.attributes instanceof f)||typeof e.removeAttribute!=="function"||typeof e.setAttribute!=="function"){return true}return false};var X=function(e){return typeof l==="object"?e instanceof l:e&&typeof e==="object"&&typeof e.nodeType==="number"&&typeof e.nodeName==="string"};var Z=function(e){var t,n;le("beforeSanitizeElements",e,null);if(Q(e)){Y(e);return true}t=e.nodeName.toLowerCase();le("uponSanitizeElement",e,{tagName:t,allowedTags:A});if(!A[t]||E[t]){if(j&&!W[t]&&typeof e.insertAdjacentHTML==="function"){try{e.insertAdjacentHTML("AfterEnd",e.innerHTML)}catch(a){}}Y(e);return true}if(L&&!e.firstElementChild&&(!e.content||!e.content.firstElementChild)&&/</g.test(e.textContent)){r.removed.push({element:e.cloneNode()});e.innerHTML=e.textContent.replace(/</g,"&lt;")}if(M&&e.nodeType===3){n=e.textContent;n=n.replace(_," ");n=n.replace(C," ");if(e.textContent!==n){r.removed.push({element:e.cloneNode()});e.textContent=n}}le("afterSanitizeElements",e,null);return false};var ee=/^data-[\-\w.\u00B7-\uFFFF]/;var te=/^aria-[\-\w]+$/;var re=/^(?:(?:(?:f|ht)tps?|mailto|tel):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i;var ne=/^(?:\w+script|data):/i;var ae=/[\x00-\x20\xA0\u1680\u180E\u2000-\u2029\u205f\u3000]/g;var ie=function(e){var a,i,o,l,s,f,c,u;le("beforeSanitizeAttributes",e,null);f=e.attributes;if(!f){return}c={attrName:"",attrValue:"",keepAttr:true,allowedAttributes:k};u=f.length;while(u--){a=f[u];i=a.name;o=a.value.trim();l=i.toLowerCase();c.attrName=l;c.attrValue=o;c.keepAttr=true;le("uponSanitizeAttribute",e,c);o=c.attrValue;if(l==="name"&&e.nodeName==="IMG"&&f.id){s=f.id;f=Array.prototype.slice.apply(f);K("id",e);K(i,e);if(f.indexOf(s)>u){e.setAttribute("id",s.value)}}else if(e.nodeName==="INPUT"&&l==="type"&&o==="file"&&(k[l]||!N[l])){continue}else{if(i==="id"){e.setAttribute(i,"")}K(i,e)}if(!c.keepAttr){continue}if(B&&(l==="id"||l==="name")&&(o in t||o in n||o in P)){continue}if(M){o=o.replace(_," ");o=o.replace(C," ")}if(S&&ee.test(l)){}else if(O&&te.test(l)){}else if(!k[l]||N[l]){continue}else if(U[l]){}else if(re.test(o.replace(ae,""))){}else if((l==="src"||l==="xlink:href")&&o.indexOf("data:")===0&&G[e.nodeName.toLowerCase()]){}else if(D&&!ne.test(o.replace(ae,""))){}else if(!o){}else{continue}try{e.setAttribute(i,o);r.removed.pop()}catch(d){}}le("afterSanitizeAttributes",e,null)};var oe=function(e){var t;var r=J(e);le("beforeSanitizeShadowDOM",e,null);while(t=r.nextNode()){le("uponSanitizeShadowNode",t,null);if(Z(t)){continue}if(t.content instanceof i){oe(t.content)}ie(t)}le("afterSanitizeShadowDOM",e,null)};var le=function(e,t,n){if(!y[e]){return}y[e].forEach(function(e){e.call(r,t,n,q)})};r.sanitize=function(e,n){var o,s,f,c,u,d;if(!e){e="<!-->"}if(typeof e!=="string"&&!X(e)){if(typeof e.toString!=="function"){throw new TypeError("toString is not a function")}else{e=e.toString()}}if(!r.isSupported){if(typeof t.toStaticHTML==="object"||typeof t.toStaticHTML==="function"){if(typeof e==="string"){return t.toStaticHTML(e)}else if(X(e)){return t.toStaticHTML(e.outerHTML)}}return e}V(n);r.removed=[];if(e instanceof l){o=$("<!-->");s=o.ownerDocument.importNode(e,true);if(s.nodeType===1&&s.nodeName==="BODY"){o=s}else{o.appendChild(s)}}else{if(!F&&!R&&e.indexOf("<")===-1){return e}o=$(e);if(!o){return F?null:""}}if(z){Y(o.firstChild)}u=J(o);while(f=u.nextNode()){if(f.nodeType===3&&f===c){continue}if(Z(f)){continue}if(f.content instanceof i){oe(f.content)}ie(f);c=f}if(F){if(H){d=h.call(o.ownerDocument);while(o.firstChild){d.appendChild(o.firstChild)}}else{d=o}if(I){d=g.call(a,d,true)}return d}return R?o.outerHTML:o.innerHTML};r.addHook=function(e,t){if(typeof t!=="function"){return}y[e]=y[e]||[];y[e].push(t)};r.removeHook=function(e){if(y[e]){y[e].pop()}};r.removeHooks=function(e){if(y[e]){y[e]=[]}};r.removeAllHooks=function(){y={}};return r});
+(function(e){"use strict";var t=typeof window==="undefined"?null:window;if(typeof define==="function"&&define.amd){define(function(){return e(t)})}else if(typeof module!=="undefined"){module.exports=e(t)}else{t.DOMPurify=e(t)}})(function e(t){"use strict";var r=function(t){return e(t)};r.version="0.8.9";r.removed=[];if(!t||!t.document||t.document.nodeType!==9){r.isSupported=false;return r}var n=t.document;var a=n;var i=t.DocumentFragment;var o=t.HTMLTemplateElement;var l=t.Node;var s=t.NodeFilter;var f=t.NamedNodeMap||t.MozNamedAttrMap;var c=t.Text;var u=t.Comment;var d=t.DOMParser;var m=false;if(typeof o==="function"){var p=n.createElement("template");if(p.content&&p.content.ownerDocument){n=p.content.ownerDocument}}var v=n.implementation;var h=n.createNodeIterator;var g=n.getElementsByTagName;var y=n.createDocumentFragment;var T=a.importNode;var b={};r.isSupported=typeof v.createHTMLDocument!=="undefined"&&n.documentMode!==9;var A=function(e,t){var r=t.length;while(r--){if(typeof t[r]==="string"){t[r]=t[r].toLowerCase()}e[t[r]]=true}return e};var x=function(e){var t={};var r;for(r in e){if(e.hasOwnProperty(r)){t[r]=e[r]}}return t};var k=null;var w=A({},["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr","svg","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","switch","symbol","text","textpath","title","tref","tspan","view","vkern","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmuliscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mpspace","msqrt","mystyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","#text"]);var S=null;var E=A({},["accept","action","align","alt","autocomplete","background","bgcolor","border","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","coords","datetime","default","dir","disabled","download","enctype","face","for","headers","height","hidden","high","href","hreflang","id","ismap","label","lang","list","loop","low","max","maxlength","media","method","min","multiple","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","span","srclang","start","src","step","style","summary","tabindex","title","type","usemap","valign","value","width","xmlns","accent-height","accumulate","additivive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mode","min","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","surfacescale","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","u1","u2","unicode","values","viewbox","visibility","vert-adv-y","vert-origin-x","vert-origin-y","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","y","y1","y2","z","zoomandpan","accent","accentunder","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","display","displaystyle","fence","frame","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]);var O=null;var D=null;var N=true;var M=true;var L=false;var _=false;var C=false;var R=/\{\{[\s\S]*|[\s\S]*\}\}/gm;var z=/<%[\s\S]*|[\s\S]*%>/gm;var F=false;var H=false;var I=false;var j=false;var W=false;var B=true;var G=true;var q=A({},["audio","head","math","script","style","template","svg","video"]);var P=A({},["audio","video","img","source","image"]);var U=A({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]);var V=null;var Y=n.createElement("form");var K=function(e){if(typeof e!=="object"){e={}}k="ALLOWED_TAGS"in e?A({},e.ALLOWED_TAGS):w;S="ALLOWED_ATTR"in e?A({},e.ALLOWED_ATTR):E;O="FORBID_TAGS"in e?A({},e.FORBID_TAGS):{};D="FORBID_ATTR"in e?A({},e.FORBID_ATTR):{};N=e.ALLOW_ARIA_ATTR!==false;M=e.ALLOW_DATA_ATTR!==false;L=e.ALLOW_UNKNOWN_PROTOCOLS||false;_=e.SAFE_FOR_JQUERY||false;C=e.SAFE_FOR_TEMPLATES||false;F=e.WHOLE_DOCUMENT||false;I=e.RETURN_DOM||false;j=e.RETURN_DOM_FRAGMENT||false;W=e.RETURN_DOM_IMPORT||false;H=e.FORCE_BODY||false;B=e.SANITIZE_DOM!==false;G=e.KEEP_CONTENT!==false;if(C){M=false}if(j){I=true}if(e.ADD_TAGS){if(k===w){k=x(k)}A(k,e.ADD_TAGS)}if(e.ADD_ATTR){if(S===E){S=x(S)}A(S,e.ADD_ATTR)}if(e.ADD_URI_SAFE_ATTR){A(U,e.ADD_URI_SAFE_ATTR)}if(G){k["#text"]=true}if(Object&&"freeze"in Object){Object.freeze(e)}V=e};var $=function(e){r.removed.push({element:e});try{e.parentNode.removeChild(e)}catch(t){e.outerHTML=""}};var J=function(e,t){r.removed.push({attribute:t.getAttributeNode(e),from:t});t.removeAttribute(e)};var Q=function(e){var t,r;if(H){e="<remove></remove>"+e}if(m){try{t=(new d).parseFromString(e,"text/html")}catch(n){}}if(!t||!t.documentElement){t=v.createHTMLDocument("");r=t.body;r.parentNode.removeChild(r.parentNode.firstElementChild);r.outerHTML=e}return g.call(t,F?"html":"body")[0]};if(r.isSupported){(function(){var e=Q('<svg><p><style><img src="</style><img src=x onerror=alert(1)//">');if(e.querySelector("svg img")){m=true}})()}var X=function(e){return h.call(e.ownerDocument||e,e,s.SHOW_ELEMENT|s.SHOW_COMMENT|s.SHOW_TEXT,function(){return s.FILTER_ACCEPT},false)};var Z=function(e){if(e instanceof c||e instanceof u){return false}if(typeof e.nodeName!=="string"||typeof e.textContent!=="string"||typeof e.removeChild!=="function"||!(e.attributes instanceof f)||typeof e.removeAttribute!=="function"||typeof e.setAttribute!=="function"){return true}return false};var ee=function(e){return typeof l==="object"?e instanceof l:e&&typeof e==="object"&&typeof e.nodeType==="number"&&typeof e.nodeName==="string"};var te=function(e){var t,n;fe("beforeSanitizeElements",e,null);if(Z(e)){$(e);return true}t=e.nodeName.toLowerCase();fe("uponSanitizeElement",e,{tagName:t,allowedTags:k});if(!k[t]||O[t]){if(G&&!q[t]&&typeof e.insertAdjacentHTML==="function"){try{e.insertAdjacentHTML("AfterEnd",e.innerHTML)}catch(a){}}$(e);return true}if(_&&!e.firstElementChild&&(!e.content||!e.content.firstElementChild)&&/</g.test(e.textContent)){r.removed.push({element:e.cloneNode()});e.innerHTML=e.textContent.replace(/</g,"&lt;")}if(C&&e.nodeType===3){n=e.textContent;n=n.replace(R," ");n=n.replace(z," ");if(e.textContent!==n){r.removed.push({element:e.cloneNode()});e.textContent=n}}fe("afterSanitizeElements",e,null);return false};var re=/^data-[\-\w.\u00B7-\uFFFF]/;var ne=/^aria-[\-\w]+$/;var ae=/^(?:(?:(?:f|ht)tps?|mailto|tel):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i;var ie=/^(?:\w+script|data):/i;var oe=/[\x00-\x20\xA0\u1680\u180E\u2000-\u2029\u205f\u3000]/g;var le=function(e){var a,i,o,l,s,f,c,u;fe("beforeSanitizeAttributes",e,null);f=e.attributes;if(!f){return}c={attrName:"",attrValue:"",keepAttr:true,allowedAttributes:S};u=f.length;while(u--){a=f[u];i=a.name;o=a.value.trim();l=i.toLowerCase();c.attrName=l;c.attrValue=o;c.keepAttr=true;fe("uponSanitizeAttribute",e,c);o=c.attrValue;if(l==="name"&&e.nodeName==="IMG"&&f.id){s=f.id;f=Array.prototype.slice.apply(f);J("id",e);J(i,e);if(f.indexOf(s)>u){e.setAttribute("id",s.value)}}else if(e.nodeName==="INPUT"&&l==="type"&&o==="file"&&(S[l]||!D[l])){continue}else{if(i==="id"){e.setAttribute(i,"")}J(i,e)}if(!c.keepAttr){continue}if(B&&(l==="id"||l==="name")&&(o in t||o in n||o in Y)){continue}if(C){o=o.replace(R," ");o=o.replace(z," ")}if(M&&re.test(l)){}else if(N&&ne.test(l)){}else if(!S[l]||D[l]){continue}else if(U[l]){}else if(ae.test(o.replace(oe,""))){}else if((l==="src"||l==="xlink:href")&&o.indexOf("data:")===0&&P[e.nodeName.toLowerCase()]){}else if(L&&!ie.test(o.replace(oe,""))){}else if(!o){}else{continue}try{e.setAttribute(i,o);r.removed.pop()}catch(d){}}fe("afterSanitizeAttributes",e,null)};var se=function(e){var t;var r=X(e);fe("beforeSanitizeShadowDOM",e,null);while(t=r.nextNode()){fe("uponSanitizeShadowNode",t,null);if(te(t)){continue}if(t.content instanceof i){se(t.content)}le(t)}fe("afterSanitizeShadowDOM",e,null)};var fe=function(e,t,n){if(!b[e]){return}b[e].forEach(function(e){e.call(r,t,n,V)})};r.sanitize=function(e,n){var o,s,f,c,u,d;if(!e){e="<!-->"}if(typeof e!=="string"&&!ee(e)){if(typeof e.toString!=="function"){throw new TypeError("toString is not a function")}else{e=e.toString()}}if(!r.isSupported){if(typeof t.toStaticHTML==="object"||typeof t.toStaticHTML==="function"){if(typeof e==="string"){return t.toStaticHTML(e)}else if(ee(e)){return t.toStaticHTML(e.outerHTML)}}return e}K(n);r.removed=[];if(e instanceof l){o=Q("<!-->");s=o.ownerDocument.importNode(e,true);if(s.nodeType===1&&s.nodeName==="BODY"){o=s}else{o.appendChild(s)}}else{if(!I&&!F&&e.indexOf("<")===-1){return e}o=Q(e);if(!o){return I?null:""}}if(H){$(o.firstChild)}u=X(o);while(f=u.nextNode()){if(f.nodeType===3&&f===c){continue}if(te(f)){continue}if(f.content instanceof i){se(f.content)}le(f);c=f}if(I){if(j){d=y.call(o.ownerDocument);while(o.firstChild){d.appendChild(o.firstChild)}}else{d=o}if(W){d=T.call(a,d,true)}return d}return F?o.outerHTML:o.innerHTML};r.addHook=function(e,t){if(typeof t!=="function"){return}b[e]=b[e]||[];b[e].push(t)};r.removeHook=function(e){if(b[e]){b[e].pop()}};r.removeHooks=function(e){if(b[e]){b[e]=[]}};r.removeAllHooks=function(){b={}};return r});
//# sourceMappingURL=./dist/purify.min.js.map \ No newline at end of file
diff --git a/db_structure.xml b/db_structure.xml
index d6eba8b3713..583e9bb8522 100644
--- a/db_structure.xml
+++ b/db_structure.xml
@@ -922,6 +922,14 @@
<length>1</length>
</field>
+ <field>
+ <name>share_name</name>
+ <type>text</type>
+ <default></default>
+ <notnull>false</notnull>
+ <length>64</length>
+ </field>
+
<index>
<name>item_share_type_index</name>
<field>
diff --git a/lib/base.php b/lib/base.php
index 69ea6e54c2d..38e9fb8e498 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -132,7 +132,7 @@ class OC {
OC::$SUBURI = str_replace("\\", "/", substr(realpath($_SERVER["SCRIPT_FILENAME"]), strlen(OC::$SERVERROOT)));
/**
- * FIXME: The following lines are required because we can't yet instantiiate
+ * FIXME: The following lines are required because we can't yet instantiate
* \OC::$server->getRequest() since \OC::$server does not yet exist.
*/
$params = [
@@ -174,7 +174,7 @@ class OC {
// Resolve /nextcloud to /nextcloud/ to ensure to always have a trailing
// slash which is required by URL generation.
- if($_SERVER['REQUEST_URI'] === \OC::$WEBROOT &&
+ if (isset($_SERVER['REQUEST_URI']) && $_SERVER['REQUEST_URI'] === \OC::$WEBROOT &&
substr($_SERVER['REQUEST_URI'], -1) !== '/') {
header('Location: '.\OC::$WEBROOT.'/');
exit();
@@ -313,7 +313,29 @@ class OC {
$tooBig = false;
if (!$disableWebUpdater) {
$apps = \OC::$server->getAppManager();
- $tooBig = $apps->isInstalled('user_ldap') || $apps->isInstalled('user_shibboleth');
+ $tooBig = false;
+ if ($apps->isInstalled('user_ldap')) {
+ $qb = \OC::$server->getDatabaseConnection()->getQueryBuilder();
+
+ $result = $qb->selectAlias($qb->createFunction('COUNT(*)'), 'user_count')
+ ->from('ldap_user_mapping')
+ ->execute();
+ $row = $result->fetch();
+ $result->closeCursor();
+
+ $tooBig = ($row['user_count'] > 50);
+ }
+ if (!$tooBig && $apps->isInstalled('user_saml')) {
+ $qb = \OC::$server->getDatabaseConnection()->getQueryBuilder();
+
+ $result = $qb->selectAlias($qb->createFunction('COUNT(*)'), 'user_count')
+ ->from('user_saml_users')
+ ->execute();
+ $row = $result->fetch();
+ $result->closeCursor();
+
+ $tooBig = ($row['user_count'] > 50);
+ }
if (!$tooBig) {
// count users
$stats = \OC::$server->getUserManager()->countUsers();
@@ -321,7 +343,10 @@ class OC {
$tooBig = ($totalUsers > 50);
}
}
- if ($disableWebUpdater || $tooBig) {
+ $ignoreTooBigWarning = isset($_GET['IKnowThatThisIsABigInstanceAndTheUpdateRequestCouldRunIntoATimeoutAndHowToRestoreABackup']) &&
+ $_GET['IKnowThatThisIsABigInstanceAndTheUpdateRequestCouldRunIntoATimeoutAndHowToRestoreABackup'] === 'IAmSuperSureToDoThis';
+
+ if ($disableWebUpdater || ($tooBig && !$ignoreTooBigWarning)) {
// send http status 503
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
@@ -983,7 +1008,7 @@ class OC {
}
// Handle WebDAV
- if ($_SERVER['REQUEST_METHOD'] == 'PROPFIND') {
+ if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] === 'PROPFIND') {
// not allowed any more to prevent people
// mounting this root directly.
// Users need to mount remote.php/webdav instead.
diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php
index 703d624397c..8e65ca365e4 100644
--- a/lib/composer/composer/autoload_classmap.php
+++ b/lib/composer/composer/autoload_classmap.php
@@ -55,6 +55,7 @@ return array(
'OCP\\App\\IAppManager' => $baseDir . '/lib/public/App/IAppManager.php',
'OCP\\App\\ManagerEvent' => $baseDir . '/lib/public/App/ManagerEvent.php',
'OCP\\Authentication\\Exceptions\\CredentialsUnavailableException' => $baseDir . '/lib/public/Authentication/Exceptions/CredentialsUnavailableException.php',
+ 'OCP\\Authentication\\Exceptions\\PasswordUnavailableException' => $baseDir . '/lib/public/Authentication/Exceptions/PasswordUnavailableException.php',
'OCP\\Authentication\\IApacheBackend' => $baseDir . '/lib/public/Authentication/IApacheBackend.php',
'OCP\\Authentication\\LoginCredentials\\ICredentials' => $baseDir . '/lib/public/Authentication/LoginCredentials/ICredentials.php',
'OCP\\Authentication\\LoginCredentials\\IStore' => $baseDir . '/lib/public/Authentication/LoginCredentials/IStore.php',
@@ -331,10 +332,12 @@ return array(
'OC\\App\\AppStore\\Version\\VersionParser' => $baseDir . '/lib/private/App/AppStore/Version/VersionParser.php',
'OC\\App\\CodeChecker\\AbstractCheck' => $baseDir . '/lib/private/App/CodeChecker/AbstractCheck.php',
'OC\\App\\CodeChecker\\CodeChecker' => $baseDir . '/lib/private/App/CodeChecker/CodeChecker.php',
+ 'OC\\App\\CodeChecker\\DatabaseSchemaChecker' => $baseDir . '/lib/private/App/CodeChecker/DatabaseSchemaChecker.php',
'OC\\App\\CodeChecker\\DeprecationCheck' => $baseDir . '/lib/private/App/CodeChecker/DeprecationCheck.php',
'OC\\App\\CodeChecker\\EmptyCheck' => $baseDir . '/lib/private/App/CodeChecker/EmptyCheck.php',
'OC\\App\\CodeChecker\\ICheck' => $baseDir . '/lib/private/App/CodeChecker/ICheck.php',
'OC\\App\\CodeChecker\\InfoChecker' => $baseDir . '/lib/private/App/CodeChecker/InfoChecker.php',
+ 'OC\\App\\CodeChecker\\LanguageParseChecker' => $baseDir . '/lib/private/App/CodeChecker/LanguageParseChecker.php',
'OC\\App\\CodeChecker\\NodeVisitor' => $baseDir . '/lib/private/App/CodeChecker/NodeVisitor.php',
'OC\\App\\CodeChecker\\PrivateCheck' => $baseDir . '/lib/private/App/CodeChecker/PrivateCheck.php',
'OC\\App\\CodeChecker\\StrongComparisonCheck' => $baseDir . '/lib/private/App/CodeChecker/StrongComparisonCheck.php',
@@ -735,6 +738,7 @@ return array(
'OC\\Repair\\NC12\\InstallCoreBundle' => $baseDir . '/lib/private/Repair/NC12/InstallCoreBundle.php',
'OC\\Repair\\NC12\\UpdateLanguageCodes' => $baseDir . '/lib/private/Repair/NC12/UpdateLanguageCodes.php',
'OC\\Repair\\OldGroupMembershipShares' => $baseDir . '/lib/private/Repair/OldGroupMembershipShares.php',
+ 'OC\\Repair\\Owncloud\\SaveAccountsTableData' => $baseDir . '/lib/private/Repair/Owncloud/SaveAccountsTableData.php',
'OC\\Repair\\RemoveRootShares' => $baseDir . '/lib/private/Repair/RemoveRootShares.php',
'OC\\Repair\\RepairInvalidShares' => $baseDir . '/lib/private/Repair/RepairInvalidShares.php',
'OC\\Repair\\RepairMimeTypes' => $baseDir . '/lib/private/Repair/RepairMimeTypes.php',
diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php
index ff7118e5bb1..b9a1545e6a3 100644
--- a/lib/composer/composer/autoload_static.php
+++ b/lib/composer/composer/autoload_static.php
@@ -85,6 +85,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OCP\\App\\IAppManager' => __DIR__ . '/../../..' . '/lib/public/App/IAppManager.php',
'OCP\\App\\ManagerEvent' => __DIR__ . '/../../..' . '/lib/public/App/ManagerEvent.php',
'OCP\\Authentication\\Exceptions\\CredentialsUnavailableException' => __DIR__ . '/../../..' . '/lib/public/Authentication/Exceptions/CredentialsUnavailableException.php',
+ 'OCP\\Authentication\\Exceptions\\PasswordUnavailableException' => __DIR__ . '/../../..' . '/lib/public/Authentication/Exceptions/PasswordUnavailableException.php',
'OCP\\Authentication\\IApacheBackend' => __DIR__ . '/../../..' . '/lib/public/Authentication/IApacheBackend.php',
'OCP\\Authentication\\LoginCredentials\\ICredentials' => __DIR__ . '/../../..' . '/lib/public/Authentication/LoginCredentials/ICredentials.php',
'OCP\\Authentication\\LoginCredentials\\IStore' => __DIR__ . '/../../..' . '/lib/public/Authentication/LoginCredentials/IStore.php',
@@ -361,10 +362,12 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OC\\App\\AppStore\\Version\\VersionParser' => __DIR__ . '/../../..' . '/lib/private/App/AppStore/Version/VersionParser.php',
'OC\\App\\CodeChecker\\AbstractCheck' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/AbstractCheck.php',
'OC\\App\\CodeChecker\\CodeChecker' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/CodeChecker.php',
+ 'OC\\App\\CodeChecker\\DatabaseSchemaChecker' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/DatabaseSchemaChecker.php',
'OC\\App\\CodeChecker\\DeprecationCheck' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/DeprecationCheck.php',
'OC\\App\\CodeChecker\\EmptyCheck' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/EmptyCheck.php',
'OC\\App\\CodeChecker\\ICheck' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/ICheck.php',
'OC\\App\\CodeChecker\\InfoChecker' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/InfoChecker.php',
+ 'OC\\App\\CodeChecker\\LanguageParseChecker' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/LanguageParseChecker.php',
'OC\\App\\CodeChecker\\NodeVisitor' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/NodeVisitor.php',
'OC\\App\\CodeChecker\\PrivateCheck' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/PrivateCheck.php',
'OC\\App\\CodeChecker\\StrongComparisonCheck' => __DIR__ . '/../../..' . '/lib/private/App/CodeChecker/StrongComparisonCheck.php',
@@ -765,6 +768,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OC\\Repair\\NC12\\InstallCoreBundle' => __DIR__ . '/../../..' . '/lib/private/Repair/NC12/InstallCoreBundle.php',
'OC\\Repair\\NC12\\UpdateLanguageCodes' => __DIR__ . '/../../..' . '/lib/private/Repair/NC12/UpdateLanguageCodes.php',
'OC\\Repair\\OldGroupMembershipShares' => __DIR__ . '/../../..' . '/lib/private/Repair/OldGroupMembershipShares.php',
+ 'OC\\Repair\\Owncloud\\SaveAccountsTableData' => __DIR__ . '/../../..' . '/lib/private/Repair/Owncloud/SaveAccountsTableData.php',
'OC\\Repair\\RemoveRootShares' => __DIR__ . '/../../..' . '/lib/private/Repair/RemoveRootShares.php',
'OC\\Repair\\RepairInvalidShares' => __DIR__ . '/../../..' . '/lib/private/Repair/RepairInvalidShares.php',
'OC\\Repair\\RepairMimeTypes' => __DIR__ . '/../../..' . '/lib/private/Repair/RepairMimeTypes.php',
diff --git a/lib/l10n/ast.js b/lib/l10n/ast.js
new file mode 100644
index 00000000000..77afe776b49
--- /dev/null
+++ b/lib/l10n/ast.js
@@ -0,0 +1,188 @@
+OC.L10N.register(
+ "lib",
+ {
+ "Cannot write into \"config\" directory!" : "¡Nun pue escribise nel direutoriu «config»!",
+ "This can usually be fixed by giving the webserver write access to the config directory" : "Davezu esto pue iguase dándo-y al sirvidor web accesu d'escritura al direutoriu de configuración",
+ "See %s" : "Mira %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Esto davezu íguase dando'l permisu d'escritura nel direutoriu de configuración al sirvidor web. Mira %s",
+ "Sample configuration detected" : "Configuración d'amuesa detectada",
+ "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" : "Detectose que la configuración d'amuesa copiose. Esto pue encaboxar la instalación y dexala ensín soporte. Llee la documentación enantes de facer cambéos en config.php",
+ "%1$s and %2$s" : "%1$s y %2$s",
+ "%1$s, %2$s and %3$s" : "%1$s, %2$s y %3$s",
+ "Enterprise bundle" : "Llote empresarial",
+ "Social sharing bundle" : "Llote de compartición social",
+ "PHP %s or higher is required." : "Necesítase PHP %s o superior",
+ "PHP with a version lower than %s is required." : "Necesítase una versión PHP anterior a %s",
+ "%sbit or higher PHP required." : "Necesítase PHP %sbit o superior",
+ "Following databases are supported: %s" : "Les siguientes bases de datos tan sofitaes: %s",
+ "The command line tool %s could not be found" : "La ferramienta línea de comandu %s nun pudo alcontrase",
+ "The library %s is not available." : "La librería %s nun ta disponible",
+ "Library %s with a version higher than %s is required - available version %s." : "Necesítase una librería %s con ua versión superior a %s - versión disponible %s.",
+ "Library %s with a version lower than %s is required - available version %s." : "Necesítase una librería %s con una versión anterior a %s - versión disponible %s.",
+ "Following platforms are supported: %s" : "Les siguientes plataformes tan sofitaes: %s",
+ "Unknown filetype" : "Triba de ficheru desconocida",
+ "Invalid image" : "Imaxe inválida",
+ "Avatar image is not square" : "La imaxe del avatar nun ye cuadrada",
+ "today" : "güei",
+ "yesterday" : "ayeri",
+ "_%n day ago_::_%n days ago_" : ["hai %n día","hai %n díes"],
+ "last month" : "mes caberu",
+ "_%n month ago_::_%n months ago_" : ["hai %n mes","hai %n meses"],
+ "last year" : "añu caberu",
+ "_%n year ago_::_%n years ago_" : ["hai %n añu","hai %n años"],
+ "_%n hour ago_::_%n hours ago_" : ["hai %n hora","hai %n hores"],
+ "_%n minute ago_::_%n minutes ago_" : ["hai %n minutu","hai %n minutos"],
+ "seconds ago" : "hai segundos",
+ "File name is a reserved word" : "El nome de ficheru ye una pallabra reservada",
+ "File name contains at least one invalid character" : "El nome del ficheru contién polo menos un carácter non válidu",
+ "File name is too long" : "El nome de ficheru ye demasiáu llargu",
+ "Empty filename is not allowed" : "Nun s'almite un nome de ficheru baleru",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'aplicación \"%s\" nun puede instalase porque nun se llee'l ficheru appinfo.",
+ "Apps" : "Aplicaciones",
+ "Personal" : "Personal",
+ "Log out" : "Zarrar sesión",
+ "Users" : "Usuarios",
+ "Admin" : "Almin",
+ "APCu" : "APCu",
+ "%s enter the database username and name." : "%s introducir el nome d'usuariu y el nome de la base de datos .",
+ "%s enter the database username." : "%s introducir l'usuariu de la base de datos.",
+ "%s enter the database name." : "%s introducir nome de la base de datos.",
+ "%s you may not use dots in the database name" : "%s nun pues usar puntos nel nome de la base de datos",
+ "Oracle connection could not be established" : "Nun pudo afitase la conexón d'Oracle",
+ "Oracle username and/or password not valid" : "Nome d'usuariu o contraseña d'Oracle non válidos",
+ "DB Error: \"%s\"" : "Fallu BD: \"%s\"",
+ "Offending command was: \"%s\"" : "Comandu infractor: \"%s\"",
+ "You need to enter details of an existing account." : "Precises introducir los detalles d'una cuenta esistente.",
+ "Offending command was: \"%s\", name: %s, password: %s" : "El comandu infractor foi: \"%s\", nome: %s, contraseña: %s",
+ "PostgreSQL username and/or password not valid" : "Nome d'usuariu o contraseña PostgreSQL non válidos",
+ "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nun ta sofitáu y %s nun furrulará afayadizamente nesta plataforma. ¡Úsalu baxo'l to riesgu!",
+ "For the best results, please consider using a GNU/Linux server instead." : "Pa los meyores resultaos, por favor considera l'usu d'un sirvidor GNU/Linux nel so llugar.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Paez ser que la instancia %s ta executándose nun entornu de PHP 32 bits y el open_basedir configuróse en php.ini. Esto va dar llugar a problemes colos ficheros de más de 4 GB y nun ye nada recomendable.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, desanicia la configuración open_basedir dientro la so php.ini o camude a PHP 64 bits.",
+ "Set an admin username." : "Afitar nome d'usuariu p'almin",
+ "Set an admin password." : "Afitar contraseña p'almin",
+ "Can't create or write into the data directory %s" : "Nun pue crease o escribir dientro los datos del direutoriu %s",
+ "Invalid Federated Cloud ID" : "ID non válida de ñube federada",
+ "Sharing %s failed, because the backend does not allow shares from type %i" : "Compartir %s falló, por cuenta qu'el backend nun dexa acciones de tipu %i",
+ "Sharing %s failed, because the file does not exist" : "Compartir %s falló, porque'l ficheru nun esiste",
+ "You are not allowed to share %s" : "Nun tienes permisu pa compartir %s",
+ "Sharing %s failed, because you can not share with yourself" : "Compartir %s falló, porque nun puede compartise contigo mesmu",
+ "Sharing %s failed, because the user %s does not exist" : "Compartir %s falló, yá que l'usuariu %s nun esiste",
+ "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Compartir %s falló, yá que l'usuariu %s nun ye miembru de nengún de los grupos de los que ye miembru %s",
+ "Sharing %s failed, because this item is already shared with %s" : "Compartir %s falló, porque esti elementu yá ta compartiéndose con %s",
+ "Sharing %s failed, because this item is already shared with user %s" : "Compartir %s falló, porque esti elementu yá ta compartiéndose col usuariu %s",
+ "Sharing %s failed, because the group %s does not exist" : "Compartir %s falló, porque'l grupu %s nun esiste",
+ "Sharing %s failed, because %s is not a member of the group %s" : "Compartir %s falló, porque %s nun ye miembru del grupu %s",
+ "You need to provide a password to create a public link, only protected links are allowed" : "Necesites apurrir una contraseña pa crear un enllaz públicu, namái tan permitíos los enllaces protexíos",
+ "Sharing %s failed, because sharing with links is not allowed" : "Compartir %s falló, porque nun se permite compartir con enllaces",
+ "Not allowed to create a federated share with the same user" : "Nun s'almite crear un recursu compartíu federáu col mesmu usuariu",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Compartir %s falló, nun pudo atopase %s, pue qu'el servidor nun seya anguaño algamable.",
+ "Share type %s is not valid for %s" : "La triba de compartición %s nun ye válida pa %s",
+ "Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Falló dar permisos a %s, porque los permisos son mayores que los otorgaos a %s",
+ "Setting permissions for %s failed, because the item was not found" : "Falló dar permisos a %s, porque l'elementu nun s'atopó",
+ "Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Nun pue afitase la data de caducidá. Ficheros compartíos nun puen caducar dempués de %s de compartise",
+ "Cannot set expiration date. Expiration date is in the past" : "Nun pue afitase la data d'espiración. La data d'espiración ta nel pasáu",
+ "Cannot clear expiration date. Shares are required to have an expiration date." : "Non puede desaniciar la fecha de caducidá. Compartir obliga a tener una fecha de caducidá.",
+ "Sharing backend %s must implement the interface OCP\\Share_Backend" : "El motor compartíu %s tien d'implementar la interfaz OCP\\Share_Backend",
+ "Sharing backend %s not found" : "Nun s'alcontró'l botón de compartición %s",
+ "Sharing backend for %s not found" : "Nun s'alcontró'l botón de partición pa %s",
+ "Sharing failed, because the user %s is the original sharer" : "Compartir falló, porque l'usuariu %s ye'l compartidor orixinal",
+ "Sharing %s failed, because the permissions exceed permissions granted to %s" : "Compartir %s falló, porque los permisos perpasen los otorgaos a %s",
+ "Sharing %s failed, because resharing is not allowed" : "Compartir %s falló, porque nun se permite la re-compartición",
+ "Sharing %s failed, because the sharing backend for %s could not find its source" : "Compartir %s falló porque'l motor compartíu pa %s podría nun atopar el so orixe",
+ "Sharing %s failed, because the file could not be found in the file cache" : "Compartir %s falló, yá que'l ficheru nun pudo atopase na caché de ficheru",
+ "Cannot increase permissions of %s" : "Nun se pueden aumentar los permisos de %s",
+ "Files can't be shared with delete permissions" : "Los ficheros nun pueden compartise con permisos desaniciaos",
+ "Files can't be shared with create permissions" : "Los ficheros nun pueden compartise con crear permisos",
+ "Expiration date is in the past" : "La data de caducidá ta nel pasáu.",
+ "Cannot set expiration date more than %s days in the future" : "Nun pue afitase la data d'espiración más que %s díes nel futuru",
+ "Could not find category \"%s\"" : "Nun pudo alcontrase la estaya \"%s.\"",
+ "Sunday" : "Domingu",
+ "Monday" : "Llunes",
+ "Friday" : "Vienres",
+ "Saturday" : "Sábadu",
+ "Mon." : "Llu.",
+ "Sat." : "Sáb.",
+ "January" : "Xineru",
+ "February" : "Febreru",
+ "March" : "Marzu",
+ "April" : "Abril",
+ "May" : "Mayu",
+ "June" : "Xunu",
+ "July" : "Xunetu",
+ "August" : "Agostu",
+ "September" : "Setiembre",
+ "October" : "Ochobre",
+ "November" : "Payares",
+ "December" : "Avientu",
+ "Jan." : "Xin.",
+ "Feb." : "Feb.",
+ "Mar." : "Mar.",
+ "Apr." : "Abr.",
+ "May." : "May.",
+ "Jun." : "Xun.",
+ "Jul." : "Xnt.",
+ "Sep." : "Set.",
+ "Oct." : "Och.",
+ "Nov." : "Pay.",
+ "Dec." : "Avi.",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Namái tan permitíos los siguientes caráuteres nun nome d'usuariu: \"a-z\", \"A-Z\", \"0-9\", y \"_.@-'\"",
+ "A valid username must be provided" : "Tien d'apurrise un nome d'usuariu válidu",
+ "Username contains whitespace at the beginning or at the end" : "El nome d'usuario contién espacios en blancu al entamu o al final",
+ "Username must not consist of dots only" : "El nome d'usuariu nun pue tener puntos",
+ "A valid password must be provided" : "Tien d'apurrise una contraseña válida",
+ "The username is already being used" : "El nome d'usuariu yá ta usándose",
+ "User disabled" : "Usuariu desactiváu",
+ "Login canceled by app" : "Aniciar sesión canceláu pola aplicación",
+ "No app name specified" : "Nun s'especificó nome de l'aplicación",
+ "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "L'aplicación \"%s\" nun puede instalase porque les siguientes dependencies nun se cumplen: %s",
+ "a safe home for all your data" : "un llar seguru pa tolos tos datos",
+ "File is currently busy, please try again later" : "Fichaeru ta ocupáu, por favor intentelo de nuevu más tarde",
+ "Can't read file" : "Nun ye a lleese'l ficheru",
+ "Application is not enabled" : "L'aplicación nun ta habilitada",
+ "Authentication error" : "Fallu d'autenticación",
+ "Token expired. Please reload page." : "Token caducáu. Recarga la páxina.",
+ "Unknown user" : "Usuariu desconocíu",
+ "No database drivers (sqlite, mysql, or postgresql) installed." : "Nun hai controladores de bases de datos (sqlite, mysql, o postgresql)",
+ "Cannot write into \"config\" directory" : "Nun pue escribise nel direutoriu \"config\"",
+ "Cannot write into \"apps\" directory" : "Nun pue escribise nel direutoriu \"apps\"",
+ "Setting locale to %s failed" : "Falló l'activación del idioma %s",
+ "Please install one of these locales on your system and restart your webserver." : "Instala ún d'estos locales nel to sistema y reanicia'l sirvidor web",
+ "Please ask your server administrator to install the module." : "Por favor, entrúga-y al to alministrador del sirvidor pa instalar el módulu.",
+ "PHP module %s not installed." : "Nun ta instaláu'l módulu PHP %s",
+ "PHP setting \"%s\" is not set to \"%s\"." : "La configuración de PHP \"%s\" nun s'afita \"%s\".",
+ "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload afita \"%s\" en llugar del valor esperáu \"0\"",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Pa solucionar esti problema definíu <code>mbstring.func_overload</code>a <code>0</code> nel so php.ini",
+ "libxml2 2.7.0 is at least required. Currently %s is installed." : "libxml2 2.7.0 ríquese siquier. Anguaño ta instaláu %s.",
+ "To fix this issue update your libxml2 version and restart your web server." : "Pa solucionar esti problema actualiza latso versión de libxml2 y reanicia'l to sirvidor web.",
+ "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ta aparentemente configuráu pa desaniciar bloques de documentos en llinia. Esto va facer que delles aplicaciones principales nun tean accesibles.",
+ "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dablemente esto seya culpa d'un caché o acelerador, como por exemplu Zend OPcache o eAccelerator.",
+ "PHP modules have been installed, but they are still listed as missing?" : "Instaláronse los módulos PHP, ¿pero tán entá llistaos como faltantes?",
+ "Please ask your server administrator to restart the web server." : "Por favor, entruga al to alministrador pa reaniciar el sirvidor web.",
+ "PostgreSQL >= 9 required" : "PostgreSQL >= 9 requeríu",
+ "Please upgrade your database version" : "Por favor, anueva la versión de la to base de datos",
+ "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Por favor, camuda los permisos a 0770 pa que'l direutoriu nun pueda llistase por otros usuarios.",
+ "Check the value of \"datadirectory\" in your configuration" : "Comprobar el valor del \"datadirectory\" na so configuración",
+ "Your data directory is invalid" : "El to direutoriu de datos nun ye válidu",
+ "Please check that the data directory contains a file \".ocdata\" in its root." : "Verifica que'l direutoriu de datos contién un ficheru \".ocdata\" nel direutoriu raigañu.",
+ "Could not obtain lock type %d on \"%s\"." : "Nun pudo facese'l bloquéu %d en \"%s\".",
+ "Storage unauthorized. %s" : "Almacenamientu desautorizáu. %s",
+ "Storage incomplete configuration. %s" : "Configuración d'almacenamientu incompleta. %s",
+ "Storage connection error. %s" : "Fallu de conexón al almacenamientu. %s",
+ "Storage is temporarily not available" : "L'almacenamientu ta temporalmente non disponible",
+ "Storage connection timeout. %s" : "Tiempu escosao de conexón al almacenamientu. %s",
+ "This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Davezu esto pue iguase %sdándo-y al sirvidor web accesu d'escritura al direutoriu de configuración%s.",
+ "Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Nun esiste'l módulu con id: %s . Por favor, activalu na configuración d'aplicaciones o contauta col alministrador.",
+ "Server settings" : "Axustes del sirvidor",
+ "You need to enter either an existing account or the administrator." : "Tienes d'inxertar una cuenta esistente o la del alministrador.",
+ "%s shared »%s« with you" : "%s compartió »%s« contigo",
+ "%s via %s" : "%s via %s",
+ "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Esto pue iguase %sdando permisos d'escritura al sirvidor Web nel direutoriu%s d'apps o deshabilitando la tienda d'apps nel ficheru de configuración.",
+ "Cannot create \"data\" directory (%s)" : "Nun pue crease'l direutoriu \"data\" (%s)",
+ "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Esto pue iguase davezu <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dándo-y accesu d'escritura al direutoriu raigañu</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Davezu los permisos puen iguase %sdándo-y al sirvidor web accesu d'escritura al direutoriu raigañu%s.",
+ "Data directory (%s) is readable by other users" : "El direutoriu de datos (%s) ye llexible por otros usuarios",
+ "Data directory (%s) must be an absolute path" : "El directoriu de datos (%s) ha de ser una ruta absoluta",
+ "Data directory (%s) is invalid" : "Ye inválidu'l direutoriu de datos (%s)"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/lib/l10n/ast.json b/lib/l10n/ast.json
new file mode 100644
index 00000000000..3e97dadc9e5
--- /dev/null
+++ b/lib/l10n/ast.json
@@ -0,0 +1,186 @@
+{ "translations": {
+ "Cannot write into \"config\" directory!" : "¡Nun pue escribise nel direutoriu «config»!",
+ "This can usually be fixed by giving the webserver write access to the config directory" : "Davezu esto pue iguase dándo-y al sirvidor web accesu d'escritura al direutoriu de configuración",
+ "See %s" : "Mira %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Esto davezu íguase dando'l permisu d'escritura nel direutoriu de configuración al sirvidor web. Mira %s",
+ "Sample configuration detected" : "Configuración d'amuesa detectada",
+ "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" : "Detectose que la configuración d'amuesa copiose. Esto pue encaboxar la instalación y dexala ensín soporte. Llee la documentación enantes de facer cambéos en config.php",
+ "%1$s and %2$s" : "%1$s y %2$s",
+ "%1$s, %2$s and %3$s" : "%1$s, %2$s y %3$s",
+ "Enterprise bundle" : "Llote empresarial",
+ "Social sharing bundle" : "Llote de compartición social",
+ "PHP %s or higher is required." : "Necesítase PHP %s o superior",
+ "PHP with a version lower than %s is required." : "Necesítase una versión PHP anterior a %s",
+ "%sbit or higher PHP required." : "Necesítase PHP %sbit o superior",
+ "Following databases are supported: %s" : "Les siguientes bases de datos tan sofitaes: %s",
+ "The command line tool %s could not be found" : "La ferramienta línea de comandu %s nun pudo alcontrase",
+ "The library %s is not available." : "La librería %s nun ta disponible",
+ "Library %s with a version higher than %s is required - available version %s." : "Necesítase una librería %s con ua versión superior a %s - versión disponible %s.",
+ "Library %s with a version lower than %s is required - available version %s." : "Necesítase una librería %s con una versión anterior a %s - versión disponible %s.",
+ "Following platforms are supported: %s" : "Les siguientes plataformes tan sofitaes: %s",
+ "Unknown filetype" : "Triba de ficheru desconocida",
+ "Invalid image" : "Imaxe inválida",
+ "Avatar image is not square" : "La imaxe del avatar nun ye cuadrada",
+ "today" : "güei",
+ "yesterday" : "ayeri",
+ "_%n day ago_::_%n days ago_" : ["hai %n día","hai %n díes"],
+ "last month" : "mes caberu",
+ "_%n month ago_::_%n months ago_" : ["hai %n mes","hai %n meses"],
+ "last year" : "añu caberu",
+ "_%n year ago_::_%n years ago_" : ["hai %n añu","hai %n años"],
+ "_%n hour ago_::_%n hours ago_" : ["hai %n hora","hai %n hores"],
+ "_%n minute ago_::_%n minutes ago_" : ["hai %n minutu","hai %n minutos"],
+ "seconds ago" : "hai segundos",
+ "File name is a reserved word" : "El nome de ficheru ye una pallabra reservada",
+ "File name contains at least one invalid character" : "El nome del ficheru contién polo menos un carácter non válidu",
+ "File name is too long" : "El nome de ficheru ye demasiáu llargu",
+ "Empty filename is not allowed" : "Nun s'almite un nome de ficheru baleru",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'aplicación \"%s\" nun puede instalase porque nun se llee'l ficheru appinfo.",
+ "Apps" : "Aplicaciones",
+ "Personal" : "Personal",
+ "Log out" : "Zarrar sesión",
+ "Users" : "Usuarios",
+ "Admin" : "Almin",
+ "APCu" : "APCu",
+ "%s enter the database username and name." : "%s introducir el nome d'usuariu y el nome de la base de datos .",
+ "%s enter the database username." : "%s introducir l'usuariu de la base de datos.",
+ "%s enter the database name." : "%s introducir nome de la base de datos.",
+ "%s you may not use dots in the database name" : "%s nun pues usar puntos nel nome de la base de datos",
+ "Oracle connection could not be established" : "Nun pudo afitase la conexón d'Oracle",
+ "Oracle username and/or password not valid" : "Nome d'usuariu o contraseña d'Oracle non válidos",
+ "DB Error: \"%s\"" : "Fallu BD: \"%s\"",
+ "Offending command was: \"%s\"" : "Comandu infractor: \"%s\"",
+ "You need to enter details of an existing account." : "Precises introducir los detalles d'una cuenta esistente.",
+ "Offending command was: \"%s\", name: %s, password: %s" : "El comandu infractor foi: \"%s\", nome: %s, contraseña: %s",
+ "PostgreSQL username and/or password not valid" : "Nome d'usuariu o contraseña PostgreSQL non válidos",
+ "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nun ta sofitáu y %s nun furrulará afayadizamente nesta plataforma. ¡Úsalu baxo'l to riesgu!",
+ "For the best results, please consider using a GNU/Linux server instead." : "Pa los meyores resultaos, por favor considera l'usu d'un sirvidor GNU/Linux nel so llugar.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Paez ser que la instancia %s ta executándose nun entornu de PHP 32 bits y el open_basedir configuróse en php.ini. Esto va dar llugar a problemes colos ficheros de más de 4 GB y nun ye nada recomendable.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, desanicia la configuración open_basedir dientro la so php.ini o camude a PHP 64 bits.",
+ "Set an admin username." : "Afitar nome d'usuariu p'almin",
+ "Set an admin password." : "Afitar contraseña p'almin",
+ "Can't create or write into the data directory %s" : "Nun pue crease o escribir dientro los datos del direutoriu %s",
+ "Invalid Federated Cloud ID" : "ID non válida de ñube federada",
+ "Sharing %s failed, because the backend does not allow shares from type %i" : "Compartir %s falló, por cuenta qu'el backend nun dexa acciones de tipu %i",
+ "Sharing %s failed, because the file does not exist" : "Compartir %s falló, porque'l ficheru nun esiste",
+ "You are not allowed to share %s" : "Nun tienes permisu pa compartir %s",
+ "Sharing %s failed, because you can not share with yourself" : "Compartir %s falló, porque nun puede compartise contigo mesmu",
+ "Sharing %s failed, because the user %s does not exist" : "Compartir %s falló, yá que l'usuariu %s nun esiste",
+ "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "Compartir %s falló, yá que l'usuariu %s nun ye miembru de nengún de los grupos de los que ye miembru %s",
+ "Sharing %s failed, because this item is already shared with %s" : "Compartir %s falló, porque esti elementu yá ta compartiéndose con %s",
+ "Sharing %s failed, because this item is already shared with user %s" : "Compartir %s falló, porque esti elementu yá ta compartiéndose col usuariu %s",
+ "Sharing %s failed, because the group %s does not exist" : "Compartir %s falló, porque'l grupu %s nun esiste",
+ "Sharing %s failed, because %s is not a member of the group %s" : "Compartir %s falló, porque %s nun ye miembru del grupu %s",
+ "You need to provide a password to create a public link, only protected links are allowed" : "Necesites apurrir una contraseña pa crear un enllaz públicu, namái tan permitíos los enllaces protexíos",
+ "Sharing %s failed, because sharing with links is not allowed" : "Compartir %s falló, porque nun se permite compartir con enllaces",
+ "Not allowed to create a federated share with the same user" : "Nun s'almite crear un recursu compartíu federáu col mesmu usuariu",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Compartir %s falló, nun pudo atopase %s, pue qu'el servidor nun seya anguaño algamable.",
+ "Share type %s is not valid for %s" : "La triba de compartición %s nun ye válida pa %s",
+ "Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Falló dar permisos a %s, porque los permisos son mayores que los otorgaos a %s",
+ "Setting permissions for %s failed, because the item was not found" : "Falló dar permisos a %s, porque l'elementu nun s'atopó",
+ "Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Nun pue afitase la data de caducidá. Ficheros compartíos nun puen caducar dempués de %s de compartise",
+ "Cannot set expiration date. Expiration date is in the past" : "Nun pue afitase la data d'espiración. La data d'espiración ta nel pasáu",
+ "Cannot clear expiration date. Shares are required to have an expiration date." : "Non puede desaniciar la fecha de caducidá. Compartir obliga a tener una fecha de caducidá.",
+ "Sharing backend %s must implement the interface OCP\\Share_Backend" : "El motor compartíu %s tien d'implementar la interfaz OCP\\Share_Backend",
+ "Sharing backend %s not found" : "Nun s'alcontró'l botón de compartición %s",
+ "Sharing backend for %s not found" : "Nun s'alcontró'l botón de partición pa %s",
+ "Sharing failed, because the user %s is the original sharer" : "Compartir falló, porque l'usuariu %s ye'l compartidor orixinal",
+ "Sharing %s failed, because the permissions exceed permissions granted to %s" : "Compartir %s falló, porque los permisos perpasen los otorgaos a %s",
+ "Sharing %s failed, because resharing is not allowed" : "Compartir %s falló, porque nun se permite la re-compartición",
+ "Sharing %s failed, because the sharing backend for %s could not find its source" : "Compartir %s falló porque'l motor compartíu pa %s podría nun atopar el so orixe",
+ "Sharing %s failed, because the file could not be found in the file cache" : "Compartir %s falló, yá que'l ficheru nun pudo atopase na caché de ficheru",
+ "Cannot increase permissions of %s" : "Nun se pueden aumentar los permisos de %s",
+ "Files can't be shared with delete permissions" : "Los ficheros nun pueden compartise con permisos desaniciaos",
+ "Files can't be shared with create permissions" : "Los ficheros nun pueden compartise con crear permisos",
+ "Expiration date is in the past" : "La data de caducidá ta nel pasáu.",
+ "Cannot set expiration date more than %s days in the future" : "Nun pue afitase la data d'espiración más que %s díes nel futuru",
+ "Could not find category \"%s\"" : "Nun pudo alcontrase la estaya \"%s.\"",
+ "Sunday" : "Domingu",
+ "Monday" : "Llunes",
+ "Friday" : "Vienres",
+ "Saturday" : "Sábadu",
+ "Mon." : "Llu.",
+ "Sat." : "Sáb.",
+ "January" : "Xineru",
+ "February" : "Febreru",
+ "March" : "Marzu",
+ "April" : "Abril",
+ "May" : "Mayu",
+ "June" : "Xunu",
+ "July" : "Xunetu",
+ "August" : "Agostu",
+ "September" : "Setiembre",
+ "October" : "Ochobre",
+ "November" : "Payares",
+ "December" : "Avientu",
+ "Jan." : "Xin.",
+ "Feb." : "Feb.",
+ "Mar." : "Mar.",
+ "Apr." : "Abr.",
+ "May." : "May.",
+ "Jun." : "Xun.",
+ "Jul." : "Xnt.",
+ "Sep." : "Set.",
+ "Oct." : "Och.",
+ "Nov." : "Pay.",
+ "Dec." : "Avi.",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Namái tan permitíos los siguientes caráuteres nun nome d'usuariu: \"a-z\", \"A-Z\", \"0-9\", y \"_.@-'\"",
+ "A valid username must be provided" : "Tien d'apurrise un nome d'usuariu válidu",
+ "Username contains whitespace at the beginning or at the end" : "El nome d'usuario contién espacios en blancu al entamu o al final",
+ "Username must not consist of dots only" : "El nome d'usuariu nun pue tener puntos",
+ "A valid password must be provided" : "Tien d'apurrise una contraseña válida",
+ "The username is already being used" : "El nome d'usuariu yá ta usándose",
+ "User disabled" : "Usuariu desactiváu",
+ "Login canceled by app" : "Aniciar sesión canceláu pola aplicación",
+ "No app name specified" : "Nun s'especificó nome de l'aplicación",
+ "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "L'aplicación \"%s\" nun puede instalase porque les siguientes dependencies nun se cumplen: %s",
+ "a safe home for all your data" : "un llar seguru pa tolos tos datos",
+ "File is currently busy, please try again later" : "Fichaeru ta ocupáu, por favor intentelo de nuevu más tarde",
+ "Can't read file" : "Nun ye a lleese'l ficheru",
+ "Application is not enabled" : "L'aplicación nun ta habilitada",
+ "Authentication error" : "Fallu d'autenticación",
+ "Token expired. Please reload page." : "Token caducáu. Recarga la páxina.",
+ "Unknown user" : "Usuariu desconocíu",
+ "No database drivers (sqlite, mysql, or postgresql) installed." : "Nun hai controladores de bases de datos (sqlite, mysql, o postgresql)",
+ "Cannot write into \"config\" directory" : "Nun pue escribise nel direutoriu \"config\"",
+ "Cannot write into \"apps\" directory" : "Nun pue escribise nel direutoriu \"apps\"",
+ "Setting locale to %s failed" : "Falló l'activación del idioma %s",
+ "Please install one of these locales on your system and restart your webserver." : "Instala ún d'estos locales nel to sistema y reanicia'l sirvidor web",
+ "Please ask your server administrator to install the module." : "Por favor, entrúga-y al to alministrador del sirvidor pa instalar el módulu.",
+ "PHP module %s not installed." : "Nun ta instaláu'l módulu PHP %s",
+ "PHP setting \"%s\" is not set to \"%s\"." : "La configuración de PHP \"%s\" nun s'afita \"%s\".",
+ "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload afita \"%s\" en llugar del valor esperáu \"0\"",
+ "To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Pa solucionar esti problema definíu <code>mbstring.func_overload</code>a <code>0</code> nel so php.ini",
+ "libxml2 2.7.0 is at least required. Currently %s is installed." : "libxml2 2.7.0 ríquese siquier. Anguaño ta instaláu %s.",
+ "To fix this issue update your libxml2 version and restart your web server." : "Pa solucionar esti problema actualiza latso versión de libxml2 y reanicia'l to sirvidor web.",
+ "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ta aparentemente configuráu pa desaniciar bloques de documentos en llinia. Esto va facer que delles aplicaciones principales nun tean accesibles.",
+ "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dablemente esto seya culpa d'un caché o acelerador, como por exemplu Zend OPcache o eAccelerator.",
+ "PHP modules have been installed, but they are still listed as missing?" : "Instaláronse los módulos PHP, ¿pero tán entá llistaos como faltantes?",
+ "Please ask your server administrator to restart the web server." : "Por favor, entruga al to alministrador pa reaniciar el sirvidor web.",
+ "PostgreSQL >= 9 required" : "PostgreSQL >= 9 requeríu",
+ "Please upgrade your database version" : "Por favor, anueva la versión de la to base de datos",
+ "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Por favor, camuda los permisos a 0770 pa que'l direutoriu nun pueda llistase por otros usuarios.",
+ "Check the value of \"datadirectory\" in your configuration" : "Comprobar el valor del \"datadirectory\" na so configuración",
+ "Your data directory is invalid" : "El to direutoriu de datos nun ye válidu",
+ "Please check that the data directory contains a file \".ocdata\" in its root." : "Verifica que'l direutoriu de datos contién un ficheru \".ocdata\" nel direutoriu raigañu.",
+ "Could not obtain lock type %d on \"%s\"." : "Nun pudo facese'l bloquéu %d en \"%s\".",
+ "Storage unauthorized. %s" : "Almacenamientu desautorizáu. %s",
+ "Storage incomplete configuration. %s" : "Configuración d'almacenamientu incompleta. %s",
+ "Storage connection error. %s" : "Fallu de conexón al almacenamientu. %s",
+ "Storage is temporarily not available" : "L'almacenamientu ta temporalmente non disponible",
+ "Storage connection timeout. %s" : "Tiempu escosao de conexón al almacenamientu. %s",
+ "This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Davezu esto pue iguase %sdándo-y al sirvidor web accesu d'escritura al direutoriu de configuración%s.",
+ "Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Nun esiste'l módulu con id: %s . Por favor, activalu na configuración d'aplicaciones o contauta col alministrador.",
+ "Server settings" : "Axustes del sirvidor",
+ "You need to enter either an existing account or the administrator." : "Tienes d'inxertar una cuenta esistente o la del alministrador.",
+ "%s shared »%s« with you" : "%s compartió »%s« contigo",
+ "%s via %s" : "%s via %s",
+ "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Esto pue iguase %sdando permisos d'escritura al sirvidor Web nel direutoriu%s d'apps o deshabilitando la tienda d'apps nel ficheru de configuración.",
+ "Cannot create \"data\" directory (%s)" : "Nun pue crease'l direutoriu \"data\" (%s)",
+ "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Esto pue iguase davezu <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dándo-y accesu d'escritura al direutoriu raigañu</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Davezu los permisos puen iguase %sdándo-y al sirvidor web accesu d'escritura al direutoriu raigañu%s.",
+ "Data directory (%s) is readable by other users" : "El direutoriu de datos (%s) ye llexible por otros usuarios",
+ "Data directory (%s) must be an absolute path" : "El directoriu de datos (%s) ha de ser una ruta absoluta",
+ "Data directory (%s) is invalid" : "Ye inválidu'l direutoriu de datos (%s)"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/lib/l10n/cs.js b/lib/l10n/cs.js
index 95bf4148c35..3b7a37f6a74 100644
--- a/lib/l10n/cs.js
+++ b/lib/l10n/cs.js
@@ -44,6 +44,8 @@ OC.L10N.register(
"File name is too long" : "Jméno souboru je moc dlouhé",
"Dot files are not allowed" : "Jména souborů začínající tečkou nejsou povolena",
"Empty filename is not allowed" : "Prázdné jméno souboru není povoleno",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikace \"%s\" nemůže být nainstalována protože soubor appinfo nelze přečíst.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikaci \"%s\" nelze nainstalovat, protože není kompatibilní s touto verzí serveru.",
"This is an automatically sent email, please do not reply." : "Toto je automaticky odesílaný e-mail, prosím, neodpovídejte.",
"Help" : "Nápověda",
"Apps" : "Aplikace",
@@ -165,8 +167,6 @@ OC.L10N.register(
"The username is already being used" : "Uživatelské jméno je již využíváno",
"User disabled" : "Uživatel zakázán",
"Login canceled by app" : "Přihlášení zrušeno aplikací",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikace \"%s\" nemůže být nainstalována protože soubor appinfo nelze přečíst.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikaci \"%s\" nelze nainstalovat, protože není kompatibilní s touto verzí serveru.",
"No app name specified" : "Nebyl zadan název aplikace",
"App '%s' could not be installed!" : "Aplikaci '%s' nelze nainstalovat!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Aplikaci \"%s\" nelze nainstalovat, protože nejsou splněny následující závislosti: %s",
diff --git a/lib/l10n/cs.json b/lib/l10n/cs.json
index 1a7d6da289b..b6619e814c4 100644
--- a/lib/l10n/cs.json
+++ b/lib/l10n/cs.json
@@ -42,6 +42,8 @@
"File name is too long" : "Jméno souboru je moc dlouhé",
"Dot files are not allowed" : "Jména souborů začínající tečkou nejsou povolena",
"Empty filename is not allowed" : "Prázdné jméno souboru není povoleno",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikace \"%s\" nemůže být nainstalována protože soubor appinfo nelze přečíst.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikaci \"%s\" nelze nainstalovat, protože není kompatibilní s touto verzí serveru.",
"This is an automatically sent email, please do not reply." : "Toto je automaticky odesílaný e-mail, prosím, neodpovídejte.",
"Help" : "Nápověda",
"Apps" : "Aplikace",
@@ -163,8 +165,6 @@
"The username is already being used" : "Uživatelské jméno je již využíváno",
"User disabled" : "Uživatel zakázán",
"Login canceled by app" : "Přihlášení zrušeno aplikací",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikace \"%s\" nemůže být nainstalována protože soubor appinfo nelze přečíst.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikaci \"%s\" nelze nainstalovat, protože není kompatibilní s touto verzí serveru.",
"No app name specified" : "Nebyl zadan název aplikace",
"App '%s' could not be installed!" : "Aplikaci '%s' nelze nainstalovat!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Aplikaci \"%s\" nelze nainstalovat, protože nejsou splněny následující závislosti: %s",
diff --git a/lib/l10n/de.js b/lib/l10n/de.js
index d9110254247..6441502ca87 100644
--- a/lib/l10n/de.js
+++ b/lib/l10n/de.js
@@ -4,6 +4,7 @@ OC.L10N.register(
"Cannot write into \"config\" directory!" : "Das Schreiben in das „config“-Verzeichnis ist nicht möglich!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das config-Verzeichnis gegeben wird",
"See %s" : "Siehe %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Konfigurationsverzeichnis eingeräumt wird. Siehe auch %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Die Dateien der App %$1s wurden nicht korrekt ersetzt. Stelle sicher, dass die Version mit dem Server kompatibel ist.",
"Sample configuration detected" : "Beispielkonfiguration gefunden",
"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" : "Es wurde festgestellt, dass die Beispielkonfiguration kopiert wurde. Dies kann Ihre Installation zunichte machen und wird nicht unterstützt. Bitte die Dokumentation lesen, bevor Änderungen an der config.php vorgenommen werden.",
@@ -44,6 +45,8 @@ OC.L10N.register(
"File name is too long" : "Dateiname ist zu lang",
"Dot files are not allowed" : "Dateinamen mit einem Punkt am Anfang sind nicht erlaubt",
"Empty filename is not allowed" : "Ein leerer Dateiname ist nicht erlaubt",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.",
"This is an automatically sent email, please do not reply." : "Dies ist eine automatisch versandte E-Mail, bitte nicht antworten.",
"Help" : "Hilfe",
"Apps" : "Apps",
@@ -165,8 +168,6 @@ OC.L10N.register(
"The username is already being used" : "Dieser Benutzername existiert bereits",
"User disabled" : "Nutzer deaktiviert",
"Login canceled by app" : "Anmeldung durch die App abgebrochen",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.",
"No app name specified" : "Es wurde kein App-Name angegeben",
"App '%s' could not be installed!" : "'%s' - App konnte nicht installiert werden!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Die App „%s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %s",
@@ -180,7 +181,10 @@ OC.L10N.register(
"No database drivers (sqlite, mysql, or postgresql) installed." : "Keine Datenbanktreiber (SQLite, MySQL oder PostgreSQL) installiert.",
"Cannot write into \"config\" directory" : "Das Schreiben in das „config“-Verzeichnis ist nicht möglich",
"Cannot write into \"apps\" directory" : "Das Schreiben in das „apps“-Verzeichnis ist nicht möglich",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das App-Verzeichnis eingeräumt wird. Siehe auch %s",
"Cannot create \"data\" directory" : "Kann das \"Daten\"-Verzeichnis nicht erstellen",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Berechtigungen können zumeist korrigiert werden indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s.",
"Setting locale to %s failed" : "Das Setzen der Umgebungslokale auf %s fehlgeschlagen",
"Please install one of these locales on your system and restart your webserver." : "Bitte installiere eine dieser Sprachen auf Deinem System und starte den Webserver neu.",
"Please ask your server administrator to install the module." : "Bitte für die Installation des Moduls Ihren Server-Administrator anfragen.",
diff --git a/lib/l10n/de.json b/lib/l10n/de.json
index 2600f8b5c18..0f0dba898ec 100644
--- a/lib/l10n/de.json
+++ b/lib/l10n/de.json
@@ -2,6 +2,7 @@
"Cannot write into \"config\" directory!" : "Das Schreiben in das „config“-Verzeichnis ist nicht möglich!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das config-Verzeichnis gegeben wird",
"See %s" : "Siehe %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Konfigurationsverzeichnis eingeräumt wird. Siehe auch %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Die Dateien der App %$1s wurden nicht korrekt ersetzt. Stelle sicher, dass die Version mit dem Server kompatibel ist.",
"Sample configuration detected" : "Beispielkonfiguration gefunden",
"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" : "Es wurde festgestellt, dass die Beispielkonfiguration kopiert wurde. Dies kann Ihre Installation zunichte machen und wird nicht unterstützt. Bitte die Dokumentation lesen, bevor Änderungen an der config.php vorgenommen werden.",
@@ -42,6 +43,8 @@
"File name is too long" : "Dateiname ist zu lang",
"Dot files are not allowed" : "Dateinamen mit einem Punkt am Anfang sind nicht erlaubt",
"Empty filename is not allowed" : "Ein leerer Dateiname ist nicht erlaubt",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.",
"This is an automatically sent email, please do not reply." : "Dies ist eine automatisch versandte E-Mail, bitte nicht antworten.",
"Help" : "Hilfe",
"Apps" : "Apps",
@@ -163,8 +166,6 @@
"The username is already being used" : "Dieser Benutzername existiert bereits",
"User disabled" : "Nutzer deaktiviert",
"Login canceled by app" : "Anmeldung durch die App abgebrochen",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.",
"No app name specified" : "Es wurde kein App-Name angegeben",
"App '%s' could not be installed!" : "'%s' - App konnte nicht installiert werden!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Die App „%s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %s",
@@ -178,7 +179,10 @@
"No database drivers (sqlite, mysql, or postgresql) installed." : "Keine Datenbanktreiber (SQLite, MySQL oder PostgreSQL) installiert.",
"Cannot write into \"config\" directory" : "Das Schreiben in das „config“-Verzeichnis ist nicht möglich",
"Cannot write into \"apps\" directory" : "Das Schreiben in das „apps“-Verzeichnis ist nicht möglich",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das App-Verzeichnis eingeräumt wird. Siehe auch %s",
"Cannot create \"data\" directory" : "Kann das \"Daten\"-Verzeichnis nicht erstellen",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Berechtigungen können zumeist korrigiert werden indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s.",
"Setting locale to %s failed" : "Das Setzen der Umgebungslokale auf %s fehlgeschlagen",
"Please install one of these locales on your system and restart your webserver." : "Bitte installiere eine dieser Sprachen auf Deinem System und starte den Webserver neu.",
"Please ask your server administrator to install the module." : "Bitte für die Installation des Moduls Ihren Server-Administrator anfragen.",
diff --git a/lib/l10n/de_DE.js b/lib/l10n/de_DE.js
index 485854259fd..dda09331913 100644
--- a/lib/l10n/de_DE.js
+++ b/lib/l10n/de_DE.js
@@ -4,6 +4,7 @@ OC.L10N.register(
"Cannot write into \"config\" directory!" : "Das Schreiben in das „config“-Verzeichnis ist nicht möglich!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das config-Verzeichnis gegeben wird",
"See %s" : "Siehe %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Konfigurationsverzeichnis eingeräumt wird. Siehe auch %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Die Dateien der App %$1s wurden nicht korrekt ersetzt. Stellen Sie sicher, dass die Version mit dem Server kompatibel ist.",
"Sample configuration detected" : "Beispielkonfiguration gefunden",
"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" : "Es wurde festgestellt, dass die Beispielkonfiguration kopiert wurde. Dies kann Ihre Installation zerstören und wird nicht unterstützt. Bitte lesen Sie die Dokumentation, bevor Sie Änderungen an der config.php vornehmen.",
@@ -44,6 +45,8 @@ OC.L10N.register(
"File name is too long" : "Dateiname ist zu lang",
"Dot files are not allowed" : "Dateinamen mit einem Punkt am Anfang sind nicht erlaubt",
"Empty filename is not allowed" : "Ein leerer Dateiname ist nicht erlaubt",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.",
"This is an automatically sent email, please do not reply." : "Dies ist eine automatisch versendete EMail, bitte nicht antworten.",
"Help" : "Hilfe",
"Apps" : "Apps",
@@ -165,8 +168,6 @@ OC.L10N.register(
"The username is already being used" : "Der Benutzername existiert bereits",
"User disabled" : "Nutzer deaktiviert",
"Login canceled by app" : "Anmeldung durch die App abgebrochen",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.",
"No app name specified" : "Es wurde kein App-Name angegeben",
"App '%s' could not be installed!" : "'%s' - App konnte nicht installiert werden!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Die App „%s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %s",
@@ -180,7 +181,10 @@ OC.L10N.register(
"No database drivers (sqlite, mysql, or postgresql) installed." : "Keine Datenbanktreiber (SQLite, MYSQL oder PostgreSQL) installiert.",
"Cannot write into \"config\" directory" : "Schreiben in das „config“-Verzeichnis ist nicht möglich",
"Cannot write into \"apps\" directory" : "Schreiben in das „apps“-Verzeichnis ist nicht möglich",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das App-Verzeichnis eingeräumt wird. Siehe auch %s",
"Cannot create \"data\" directory" : "Kann das \"Daten\"-Verzeichnis nicht erstellen",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Berechtigungen können zumeist korrigiert werden indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s. ",
"Setting locale to %s failed" : "Das Setzen der Umgebungslokale auf %s fehlgeschlagen",
"Please install one of these locales on your system and restart your webserver." : "Bitte installieren Sie eine dieser Sprachen auf Ihrem System und starten Sie den Webserver neu.",
"Please ask your server administrator to install the module." : "Bitte kontaktieren Sie Ihren Server-Administrator und bitten Sie um die Installation des Moduls.",
diff --git a/lib/l10n/de_DE.json b/lib/l10n/de_DE.json
index 115d2a1bce1..30ffa8a21fb 100644
--- a/lib/l10n/de_DE.json
+++ b/lib/l10n/de_DE.json
@@ -2,6 +2,7 @@
"Cannot write into \"config\" directory!" : "Das Schreiben in das „config“-Verzeichnis ist nicht möglich!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Dies kann normalerweise repariert werden, indem dem Webserver Schreibzugriff auf das config-Verzeichnis gegeben wird",
"See %s" : "Siehe %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Konfigurationsverzeichnis eingeräumt wird. Siehe auch %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Die Dateien der App %$1s wurden nicht korrekt ersetzt. Stellen Sie sicher, dass die Version mit dem Server kompatibel ist.",
"Sample configuration detected" : "Beispielkonfiguration gefunden",
"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" : "Es wurde festgestellt, dass die Beispielkonfiguration kopiert wurde. Dies kann Ihre Installation zerstören und wird nicht unterstützt. Bitte lesen Sie die Dokumentation, bevor Sie Änderungen an der config.php vornehmen.",
@@ -42,6 +43,8 @@
"File name is too long" : "Dateiname ist zu lang",
"Dot files are not allowed" : "Dateinamen mit einem Punkt am Anfang sind nicht erlaubt",
"Empty filename is not allowed" : "Ein leerer Dateiname ist nicht erlaubt",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.",
"This is an automatically sent email, please do not reply." : "Dies ist eine automatisch versendete EMail, bitte nicht antworten.",
"Help" : "Hilfe",
"Apps" : "Apps",
@@ -163,8 +166,6 @@
"The username is already being used" : "Der Benutzername existiert bereits",
"User disabled" : "Nutzer deaktiviert",
"Login canceled by app" : "Anmeldung durch die App abgebrochen",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Die Anwendung \"%s\" kann nicht installiert werden, weil die Anwendungsinfodatei nicht gelesen werden kann.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Die App \"%s\" kann nicht installiert werden, da sie mit dieser Serverversion nicht kompatibel ist.",
"No app name specified" : "Es wurde kein App-Name angegeben",
"App '%s' could not be installed!" : "'%s' - App konnte nicht installiert werden!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Die App „%s“ kann nicht installiert werden, da die folgenden Abhängigkeiten nicht erfüllt sind: %s",
@@ -178,7 +179,10 @@
"No database drivers (sqlite, mysql, or postgresql) installed." : "Keine Datenbanktreiber (SQLite, MYSQL oder PostgreSQL) installiert.",
"Cannot write into \"config\" directory" : "Schreiben in das „config“-Verzeichnis ist nicht möglich",
"Cannot write into \"apps\" directory" : "Schreiben in das „apps“-Verzeichnis ist nicht möglich",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das App-Verzeichnis eingeräumt wird. Siehe auch %s",
"Cannot create \"data\" directory" : "Kann das \"Daten\"-Verzeichnis nicht erstellen",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Dies kann zumeist behoben werden, indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Berechtigungen können zumeist korrigiert werden indem dem Web-Server Schreibzugriff auf das Wurzel-Verzeichnis eingeräumt wird. Siehe auch %s. ",
"Setting locale to %s failed" : "Das Setzen der Umgebungslokale auf %s fehlgeschlagen",
"Please install one of these locales on your system and restart your webserver." : "Bitte installieren Sie eine dieser Sprachen auf Ihrem System und starten Sie den Webserver neu.",
"Please ask your server administrator to install the module." : "Bitte kontaktieren Sie Ihren Server-Administrator und bitten Sie um die Installation des Moduls.",
diff --git a/lib/l10n/el.js b/lib/l10n/el.js
index 6768a3fe0e9..91165a8c2a6 100644
--- a/lib/l10n/el.js
+++ b/lib/l10n/el.js
@@ -4,6 +4,8 @@ OC.L10N.register(
"Cannot write into \"config\" directory!" : "Αδυναμία εγγραφής στον κατάλογο \"config\"!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Αυτό μπορεί συνήθως να διορθωθεί παρέχοντας δικαιώματα εγγραφής για το φάκελο config στο διακομιστή δικτύου",
"See %s" : "Δείτε %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Αυτό μπορεί συνήθως να διορθωθεί δίνοντας στον διακομιστή γραπτή πρόσβαση στον κατάλογο εκχώρησης. Βλέπε%s",
+ "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Τα αρχεία της εφαρμογής% $ 1s δεν αντικαταστάθηκαν σωστά. Βεβαιωθείτε ότι πρόκειται για μια έκδοση που είναι συμβατή με το διακομιστή.",
"Sample configuration detected" : "Ανιχνεύθηκε δείγμα εγκατάστασης",
"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" : "Έχει ανιχνευθεί ότι το δείγμα εγκατάστασης έχει αντιγραφεί. Αυτό μπορεί να σπάσει την εγκατάστασή σας και δεν υποστηρίζεται. Παρακαλώ διαβάστε την τεκμηρίωση πριν εκτελέσετε αλλαγές στο config.php",
"%1$s and %2$s" : "%1$s και %2$s",
@@ -56,6 +58,7 @@ OC.L10N.register(
"Oracle username and/or password not valid" : "Μη έγκυρος χρήστης και/ή συνθηματικό της Oracle",
"DB Error: \"%s\"" : "Σφάλμα Βάσης Δεδομένων: \"%s\"",
"Offending command was: \"%s\"" : "Η εντολη παραβατικοτητας ηταν: \"%s\"",
+ "You need to enter details of an existing account." : "Χρειάζεται να εισάγετε λεπτομέρειες από υπάρχον λογαριασμό.",
"Offending command was: \"%s\", name: %s, password: %s" : "Η εντολη παραβατικοτητας ηταν: \"%s\", ονομα: %s, κωδικος: %s",
"PostgreSQL username and/or password not valid" : "Μη έγκυρος χρήστης και/ή συνθηματικό της PostgreSQL",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Το Mac OS X δεν υποστηρίζεται και το %s δεν θα λειτουργήσει σωστά σε αυτή την πλατφόρμα. Χρησιμοποιείτε με δική σας ευθύνη!",
@@ -93,6 +96,7 @@ OC.L10N.register(
"Sharing %s failed, because resharing is not allowed" : "Ο διαμοιρασμός του %s απέτυχε, γιατί δεν επιτρέπεται ο επαναδιαμοιρασμός",
"Sharing %s failed, because the sharing backend for %s could not find its source" : "Ο διαμοιρασμός του %s απέτυχε, γιατί δεν ήταν δυνατό να εντοπίσει την πηγή το σύστημα διαμοιρασμού για το %s ",
"Sharing %s failed, because the file could not be found in the file cache" : "Ο διαμοιρασμός του %s απέτυχε, γιατί το αρχείο δεν βρέθηκε στην προσωρινή αποθήκευση αρχείων",
+ "Expiration date is in the past" : "Η ημερομηνία λήξης είναι στο παρελθόν",
"Could not find category \"%s\"" : "Αδυναμία εύρεσης κατηγορίας \"%s\"",
"Sunday" : "Κυριακή",
"Monday" : "Δευτέρα",
@@ -171,9 +175,12 @@ OC.L10N.register(
"PostgreSQL >= 9 required" : "Απαιτείται PostgreSQL >= 9",
"Please upgrade your database version" : "Παρακαλώ αναβαθμίστε την έκδοση της βάσης δεδομένων σας",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Παρακαλώ αλλάξτε τις ρυθμίσεις σε 0770 έτσι ώστε ο κατάλογος να μην μπορεί να προβάλλεται από άλλους χρήστες.",
+ "Your data directory is readable by other users" : "Ο κατάλογος δεδομένων σας είναι διαθέσιμος προς ανάγνωση από άλλους χρήστες",
"Check the value of \"datadirectory\" in your configuration" : "Ελέγξτε την τιμή του \"Φάκελος Δεδομένων\" στις ρυθμίσεις σας",
+ "Your data directory is invalid" : "Ο κατάλογος δεδομένων σας δεν είναι έγκυρος",
"Please check that the data directory contains a file \".ocdata\" in its root." : "Παρακαλώ ελέγξτε ότι ο κατάλογος δεδομένων περιέχει ένα αρχείο \".ocdata\" στη βάση του.",
"Could not obtain lock type %d on \"%s\"." : "Αδυναμία ανάκτησης τύπου κλειδιού %d στο \"%s\".",
+ "Storage is temporarily not available" : "Μη διαθέσιμος χώρος αποθήκευσης προσωρινά",
"This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Αυτό μπορεί συνήθως να διορθωθεί %sπαρέχοντας δικαιώματα εγγραφής για το φάκελο config στο διακομιστή δικτύου%s.",
"Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Το άρθρωμα με id: %s δεν υπάρχει. Παρακαλώ ενεργοποιήστε το από τις ρυθμίσεις των εφαρμογών ή επικοινωνήστε με τον διαχειριστή.",
"Server settings" : "Ρυθμίσεις διακομιστή",
@@ -183,7 +190,7 @@ OC.L10N.register(
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Αυτό μπορεί συνήθως να διορθωθεί %sδίνοντας διακαιώματα εγγραφής για τον κατάλογο εφαρμογών στο διακομιστή δικτύου%s ή απενεργοποιώντας το κέντρο εφαρμογών στο αρχείο config.",
"Cannot create \"data\" directory (%s)" : "Αδυναμία δημιουργίας του καταλόγου \"data\" (%s)",
"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Τα δικαιώματα πρόσβασης μπορούν συνήθως να διορθωθούν %sδίνοντας δικαιώματα εγγραφής για τον βασικό κατάλογο στο διακομιστή δικτύου%s.",
- "Data directory (%s) is readable by other users" : "Ο κατάλογος δεδομένων (%s) είναι διαθέσιμος προς ανάγνωση για άλλους χρήστες",
+ "Data directory (%s) is readable by other users" : "Ο κατάλογος δεδομένων (%s) είναι διαθέσιμος προς ανάγνωση από άλλους χρήστες",
"Data directory (%s) must be an absolute path" : "Κατάλογος δεδομένων (%s) πρεπει να είναι απόλυτη η διαδρομή",
"Data directory (%s) is invalid" : "Ο κατάλογος δεδομένων (%s) είναι άκυρος"
},
diff --git a/lib/l10n/el.json b/lib/l10n/el.json
index d713d2bdbeb..b0157e0de06 100644
--- a/lib/l10n/el.json
+++ b/lib/l10n/el.json
@@ -2,6 +2,8 @@
"Cannot write into \"config\" directory!" : "Αδυναμία εγγραφής στον κατάλογο \"config\"!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Αυτό μπορεί συνήθως να διορθωθεί παρέχοντας δικαιώματα εγγραφής για το φάκελο config στο διακομιστή δικτύου",
"See %s" : "Δείτε %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Αυτό μπορεί συνήθως να διορθωθεί δίνοντας στον διακομιστή γραπτή πρόσβαση στον κατάλογο εκχώρησης. Βλέπε%s",
+ "The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Τα αρχεία της εφαρμογής% $ 1s δεν αντικαταστάθηκαν σωστά. Βεβαιωθείτε ότι πρόκειται για μια έκδοση που είναι συμβατή με το διακομιστή.",
"Sample configuration detected" : "Ανιχνεύθηκε δείγμα εγκατάστασης",
"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" : "Έχει ανιχνευθεί ότι το δείγμα εγκατάστασης έχει αντιγραφεί. Αυτό μπορεί να σπάσει την εγκατάστασή σας και δεν υποστηρίζεται. Παρακαλώ διαβάστε την τεκμηρίωση πριν εκτελέσετε αλλαγές στο config.php",
"%1$s and %2$s" : "%1$s και %2$s",
@@ -54,6 +56,7 @@
"Oracle username and/or password not valid" : "Μη έγκυρος χρήστης και/ή συνθηματικό της Oracle",
"DB Error: \"%s\"" : "Σφάλμα Βάσης Δεδομένων: \"%s\"",
"Offending command was: \"%s\"" : "Η εντολη παραβατικοτητας ηταν: \"%s\"",
+ "You need to enter details of an existing account." : "Χρειάζεται να εισάγετε λεπτομέρειες από υπάρχον λογαριασμό.",
"Offending command was: \"%s\", name: %s, password: %s" : "Η εντολη παραβατικοτητας ηταν: \"%s\", ονομα: %s, κωδικος: %s",
"PostgreSQL username and/or password not valid" : "Μη έγκυρος χρήστης και/ή συνθηματικό της PostgreSQL",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Το Mac OS X δεν υποστηρίζεται και το %s δεν θα λειτουργήσει σωστά σε αυτή την πλατφόρμα. Χρησιμοποιείτε με δική σας ευθύνη!",
@@ -91,6 +94,7 @@
"Sharing %s failed, because resharing is not allowed" : "Ο διαμοιρασμός του %s απέτυχε, γιατί δεν επιτρέπεται ο επαναδιαμοιρασμός",
"Sharing %s failed, because the sharing backend for %s could not find its source" : "Ο διαμοιρασμός του %s απέτυχε, γιατί δεν ήταν δυνατό να εντοπίσει την πηγή το σύστημα διαμοιρασμού για το %s ",
"Sharing %s failed, because the file could not be found in the file cache" : "Ο διαμοιρασμός του %s απέτυχε, γιατί το αρχείο δεν βρέθηκε στην προσωρινή αποθήκευση αρχείων",
+ "Expiration date is in the past" : "Η ημερομηνία λήξης είναι στο παρελθόν",
"Could not find category \"%s\"" : "Αδυναμία εύρεσης κατηγορίας \"%s\"",
"Sunday" : "Κυριακή",
"Monday" : "Δευτέρα",
@@ -169,9 +173,12 @@
"PostgreSQL >= 9 required" : "Απαιτείται PostgreSQL >= 9",
"Please upgrade your database version" : "Παρακαλώ αναβαθμίστε την έκδοση της βάσης δεδομένων σας",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Παρακαλώ αλλάξτε τις ρυθμίσεις σε 0770 έτσι ώστε ο κατάλογος να μην μπορεί να προβάλλεται από άλλους χρήστες.",
+ "Your data directory is readable by other users" : "Ο κατάλογος δεδομένων σας είναι διαθέσιμος προς ανάγνωση από άλλους χρήστες",
"Check the value of \"datadirectory\" in your configuration" : "Ελέγξτε την τιμή του \"Φάκελος Δεδομένων\" στις ρυθμίσεις σας",
+ "Your data directory is invalid" : "Ο κατάλογος δεδομένων σας δεν είναι έγκυρος",
"Please check that the data directory contains a file \".ocdata\" in its root." : "Παρακαλώ ελέγξτε ότι ο κατάλογος δεδομένων περιέχει ένα αρχείο \".ocdata\" στη βάση του.",
"Could not obtain lock type %d on \"%s\"." : "Αδυναμία ανάκτησης τύπου κλειδιού %d στο \"%s\".",
+ "Storage is temporarily not available" : "Μη διαθέσιμος χώρος αποθήκευσης προσωρινά",
"This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Αυτό μπορεί συνήθως να διορθωθεί %sπαρέχοντας δικαιώματα εγγραφής για το φάκελο config στο διακομιστή δικτύου%s.",
"Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Το άρθρωμα με id: %s δεν υπάρχει. Παρακαλώ ενεργοποιήστε το από τις ρυθμίσεις των εφαρμογών ή επικοινωνήστε με τον διαχειριστή.",
"Server settings" : "Ρυθμίσεις διακομιστή",
@@ -181,7 +188,7 @@
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Αυτό μπορεί συνήθως να διορθωθεί %sδίνοντας διακαιώματα εγγραφής για τον κατάλογο εφαρμογών στο διακομιστή δικτύου%s ή απενεργοποιώντας το κέντρο εφαρμογών στο αρχείο config.",
"Cannot create \"data\" directory (%s)" : "Αδυναμία δημιουργίας του καταλόγου \"data\" (%s)",
"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Τα δικαιώματα πρόσβασης μπορούν συνήθως να διορθωθούν %sδίνοντας δικαιώματα εγγραφής για τον βασικό κατάλογο στο διακομιστή δικτύου%s.",
- "Data directory (%s) is readable by other users" : "Ο κατάλογος δεδομένων (%s) είναι διαθέσιμος προς ανάγνωση για άλλους χρήστες",
+ "Data directory (%s) is readable by other users" : "Ο κατάλογος δεδομένων (%s) είναι διαθέσιμος προς ανάγνωση από άλλους χρήστες",
"Data directory (%s) must be an absolute path" : "Κατάλογος δεδομένων (%s) πρεπει να είναι απόλυτη η διαδρομή",
"Data directory (%s) is invalid" : "Ο κατάλογος δεδομένων (%s) είναι άκυρος"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/lib/l10n/es.js b/lib/l10n/es.js
index 553b40e7f34..4b0710d0d8c 100644
--- a/lib/l10n/es.js
+++ b/lib/l10n/es.js
@@ -44,6 +44,8 @@ OC.L10N.register(
"File name is too long" : "El nombre del archivo es demasiado largo",
"Dot files are not allowed" : "Los archivos Dot no están permitidos",
"Empty filename is not allowed" : "No se puede dejar el nombre en blanco.",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "La app \"%s\" no puede ser instalada debido a que no se puede leer la información de la app.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no se puede instalar porque no es compatible con esta versión del servidor.",
"This is an automatically sent email, please do not reply." : "Este es un correo enviado automáticamente, por favor no responda.",
"Help" : "Ayuda",
"Apps" : "Aplicaciones",
@@ -165,8 +167,6 @@ OC.L10N.register(
"The username is already being used" : "El nombre de usuario ya está en uso",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Login cancelado por la app",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "La app \"%s\" no puede ser instalada debido a que no se puede leer la información de la app.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no se puede instalar porque no es compatible con esta versión del servidor.",
"No app name specified" : "No se ha especificado nombre de la aplicación",
"App '%s' could not be installed!" : "¡No se pudo instalar la app '%s'!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "La app \"%s\" no puede instalarse porque las siguientes dependencias no están cumplimentadas: %s",
diff --git a/lib/l10n/es.json b/lib/l10n/es.json
index 1e30aac6719..41293e99c79 100644
--- a/lib/l10n/es.json
+++ b/lib/l10n/es.json
@@ -42,6 +42,8 @@
"File name is too long" : "El nombre del archivo es demasiado largo",
"Dot files are not allowed" : "Los archivos Dot no están permitidos",
"Empty filename is not allowed" : "No se puede dejar el nombre en blanco.",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "La app \"%s\" no puede ser instalada debido a que no se puede leer la información de la app.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no se puede instalar porque no es compatible con esta versión del servidor.",
"This is an automatically sent email, please do not reply." : "Este es un correo enviado automáticamente, por favor no responda.",
"Help" : "Ayuda",
"Apps" : "Aplicaciones",
@@ -163,8 +165,6 @@
"The username is already being used" : "El nombre de usuario ya está en uso",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Login cancelado por la app",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "La app \"%s\" no puede ser instalada debido a que no se puede leer la información de la app.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no se puede instalar porque no es compatible con esta versión del servidor.",
"No app name specified" : "No se ha especificado nombre de la aplicación",
"App '%s' could not be installed!" : "¡No se pudo instalar la app '%s'!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "La app \"%s\" no puede instalarse porque las siguientes dependencias no están cumplimentadas: %s",
diff --git a/lib/l10n/es_MX.js b/lib/l10n/es_MX.js
index add58903193..42d76d5e4b1 100644
--- a/lib/l10n/es_MX.js
+++ b/lib/l10n/es_MX.js
@@ -4,6 +4,7 @@ OC.L10N.register(
"Cannot write into \"config\" directory!" : "¡No se puede escribir en el directorio \"config\"!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Esto generalmente se soluciona dándole al servidor web acceso para escribir en el directorio config. ",
"See %s" : "Ver %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Favor de ver %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Los archivos de la aplicación %$1s no fueron correctamente remplazados. Favor de asegurarse de que la versión sea compatible con el servidor.",
"Sample configuration detected" : "Se ha detectado la configuración de muestra",
"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" : "Se ha detectado que la configuración de muestra ha sido copiada. Esto puede descomponer su instalacón y no está soportado. Favor de leer la documentación antes de hacer cambios en el archivo config.php",
@@ -44,6 +45,8 @@ OC.L10N.register(
"File name is too long" : "El nombre del archivo es demasiado largo",
"Dot files are not allowed" : "Los archivos Dot no están permitidos",
"Empty filename is not allowed" : "El uso de nombres de archivo vacíos no está permitido",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "La aplicación \"%s\" no puede ser instalada porque el archivo appinfo no se puede leer. ",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no puede ser instalada porque no es compatible con esta versión del servidor. ",
"This is an automatically sent email, please do not reply." : "Este es un correo enviado automáticamente, favor de no contestarlo. ",
"Help" : "Ayuda",
"Apps" : "Aplicaciones",
@@ -165,8 +168,6 @@ OC.L10N.register(
"The username is already being used" : "Ese nombre de usuario ya está en uso",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "La aplicación \"%s\" no puede ser instalada porque el archivo appinfo no se puede leer. ",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no puede ser instalada porque no es compatible con esta versión del servidor. ",
"No app name specified" : "No se ha especificado el nombre de la aplicación",
"App '%s' could not be installed!" : "¡La aplicación \"%s\" no puede ser instalada!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "La aplicación \"%s\" no puede ser instalada porque las siguientes dependencias no están satisfechas: %s ",
@@ -180,7 +181,10 @@ OC.L10N.register(
"No database drivers (sqlite, mysql, or postgresql) installed." : "No cuenta con controladores de base de datos (sqlite, mysql o postgresql) instalados. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio de las aplicaciones o deshabilitando la appstore en el archivo config. Favor de ver %s",
"Cannot create \"data\" directory" : "No fue posible crear el directorio \"data\"",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio raíz. Favor de ver %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Por lo general los permisos se pueden corregir al darle al servidor web acceso de escritura al directorio raíz. Favor de ver %s.",
"Setting locale to %s failed" : "Se presentó una falla al establecer la regionalización a %s",
"Please install one of these locales on your system and restart your webserver." : "Favor de instalar uno de las siguientes configuraciones locales en su sistema y reinicie su servidor web",
"Please ask your server administrator to install the module." : "Favor de solicitar a su adminsitrador la instalación del módulo. ",
diff --git a/lib/l10n/es_MX.json b/lib/l10n/es_MX.json
index 65eabd5c5b3..69ddf4cfcfb 100644
--- a/lib/l10n/es_MX.json
+++ b/lib/l10n/es_MX.json
@@ -2,6 +2,7 @@
"Cannot write into \"config\" directory!" : "¡No se puede escribir en el directorio \"config\"!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Esto generalmente se soluciona dándole al servidor web acceso para escribir en el directorio config. ",
"See %s" : "Ver %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio config. Favor de ver %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Los archivos de la aplicación %$1s no fueron correctamente remplazados. Favor de asegurarse de que la versión sea compatible con el servidor.",
"Sample configuration detected" : "Se ha detectado la configuración de muestra",
"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" : "Se ha detectado que la configuración de muestra ha sido copiada. Esto puede descomponer su instalacón y no está soportado. Favor de leer la documentación antes de hacer cambios en el archivo config.php",
@@ -42,6 +43,8 @@
"File name is too long" : "El nombre del archivo es demasiado largo",
"Dot files are not allowed" : "Los archivos Dot no están permitidos",
"Empty filename is not allowed" : "El uso de nombres de archivo vacíos no está permitido",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "La aplicación \"%s\" no puede ser instalada porque el archivo appinfo no se puede leer. ",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no puede ser instalada porque no es compatible con esta versión del servidor. ",
"This is an automatically sent email, please do not reply." : "Este es un correo enviado automáticamente, favor de no contestarlo. ",
"Help" : "Ayuda",
"Apps" : "Aplicaciones",
@@ -163,8 +166,6 @@
"The username is already being used" : "Ese nombre de usuario ya está en uso",
"User disabled" : "Usuario deshabilitado",
"Login canceled by app" : "Inicio de sesión cancelado por la aplicación",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "La aplicación \"%s\" no puede ser instalada porque el archivo appinfo no se puede leer. ",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "La aplicación \"%s\" no puede ser instalada porque no es compatible con esta versión del servidor. ",
"No app name specified" : "No se ha especificado el nombre de la aplicación",
"App '%s' could not be installed!" : "¡La aplicación \"%s\" no puede ser instalada!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "La aplicación \"%s\" no puede ser instalada porque las siguientes dependencias no están satisfechas: %s ",
@@ -178,7 +179,10 @@
"No database drivers (sqlite, mysql, or postgresql) installed." : "No cuenta con controladores de base de datos (sqlite, mysql o postgresql) instalados. ",
"Cannot write into \"config\" directory" : "No fue posible escribir en el directorio \"config\"",
"Cannot write into \"apps\" directory" : "No fue posible escribir en el directorio \"apps\"",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio de las aplicaciones o deshabilitando la appstore en el archivo config. Favor de ver %s",
"Cannot create \"data\" directory" : "No fue posible crear el directorio \"data\"",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Por lo general esto se puede resolver al darle al servidor web acceso de escritura al directorio raíz. Favor de ver %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Por lo general los permisos se pueden corregir al darle al servidor web acceso de escritura al directorio raíz. Favor de ver %s.",
"Setting locale to %s failed" : "Se presentó una falla al establecer la regionalización a %s",
"Please install one of these locales on your system and restart your webserver." : "Favor de instalar uno de las siguientes configuraciones locales en su sistema y reinicie su servidor web",
"Please ask your server administrator to install the module." : "Favor de solicitar a su adminsitrador la instalación del módulo. ",
diff --git a/lib/l10n/fi.js b/lib/l10n/fi.js
index 06a39ccc74c..eca8b47d005 100644
--- a/lib/l10n/fi.js
+++ b/lib/l10n/fi.js
@@ -40,6 +40,8 @@ OC.L10N.register(
"File name is too long" : "Tiedoston nimi on liian pitkä",
"Dot files are not allowed" : "Pistetiedostot eivät ole sallittuja",
"Empty filename is not allowed" : "Tiedostonimi ei voi olla tyhjä",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Sovellusta \"%s\" ei voi asentaa, koska appinfo-tiedostoa ei voi loi lukea.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Sovellusta \"%s\" ei voi asentaa, koska se ei ole yhteensopiva tämän palvelinversion kanssa.",
"This is an automatically sent email, please do not reply." : "Tämä on automaattisesti lähetetty viesti. Älä vastaa tähän viestiin.",
"Help" : "Ohje",
"Apps" : "Sovellukset",
@@ -154,8 +156,6 @@ OC.L10N.register(
"The username is already being used" : "Käyttäjätunnus on jo käytössä",
"User disabled" : "Käyttäjä poistettu käytöstä",
"Login canceled by app" : "Kirjautuminen peruttiin sovelluksen toimesta",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Sovellusta \"%s\" ei voi asentaa, koska appinfo-tiedostoa ei voi loi lukea.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Sovellusta \"%s\" ei voi asentaa, koska se ei ole yhteensopiva tämän palvelinversion kanssa.",
"No app name specified" : "Sovelluksen nimeä ei määritelty",
"App '%s' could not be installed!" : "Sovellusta \"%s\" ei voi asentaa!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Sovelluksen \"%s\" asennus ei onnistu, koska seuraavia riippuvuuksia ei ole täytetty: %s",
diff --git a/lib/l10n/fi.json b/lib/l10n/fi.json
index eec39c5b2a9..72022a4ac30 100644
--- a/lib/l10n/fi.json
+++ b/lib/l10n/fi.json
@@ -38,6 +38,8 @@
"File name is too long" : "Tiedoston nimi on liian pitkä",
"Dot files are not allowed" : "Pistetiedostot eivät ole sallittuja",
"Empty filename is not allowed" : "Tiedostonimi ei voi olla tyhjä",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Sovellusta \"%s\" ei voi asentaa, koska appinfo-tiedostoa ei voi loi lukea.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Sovellusta \"%s\" ei voi asentaa, koska se ei ole yhteensopiva tämän palvelinversion kanssa.",
"This is an automatically sent email, please do not reply." : "Tämä on automaattisesti lähetetty viesti. Älä vastaa tähän viestiin.",
"Help" : "Ohje",
"Apps" : "Sovellukset",
@@ -152,8 +154,6 @@
"The username is already being used" : "Käyttäjätunnus on jo käytössä",
"User disabled" : "Käyttäjä poistettu käytöstä",
"Login canceled by app" : "Kirjautuminen peruttiin sovelluksen toimesta",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Sovellusta \"%s\" ei voi asentaa, koska appinfo-tiedostoa ei voi loi lukea.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Sovellusta \"%s\" ei voi asentaa, koska se ei ole yhteensopiva tämän palvelinversion kanssa.",
"No app name specified" : "Sovelluksen nimeä ei määritelty",
"App '%s' could not be installed!" : "Sovellusta \"%s\" ei voi asentaa!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Sovelluksen \"%s\" asennus ei onnistu, koska seuraavia riippuvuuksia ei ole täytetty: %s",
diff --git a/lib/l10n/fr.js b/lib/l10n/fr.js
index 09c42db8c93..51792e096dd 100644
--- a/lib/l10n/fr.js
+++ b/lib/l10n/fr.js
@@ -4,6 +4,7 @@ OC.L10N.register(
"Cannot write into \"config\" directory!" : "Impossible d’écrire dans le répertoire « config » !",
"This can usually be fixed by giving the webserver write access to the config directory" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire \"config\"",
"See %s" : "Voir %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire \"config\". Voir %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Les fichiers de l'application %$1s n'ont pas été remplacés correctement. Veuillez vérifier que c'est une version compatible avec le serveur.",
"Sample configuration detected" : "Configuration d'exemple détectée",
"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" : "Il a été détecté que la configuration donnée à titre d'exemple a été copiée. Cela peut rendre votre installation inopérante et n'est pas pris en charge. Veuillez lire la documentation avant d'effectuer des modifications dans config.php",
@@ -16,7 +17,7 @@ OC.L10N.register(
"Social sharing bundle" : "Pack pour partage social",
"PHP %s or higher is required." : "PHP %s ou supérieur est requis.",
"PHP with a version lower than %s is required." : "PHP avec une version antérieure à %s est requis.",
- "%sbit or higher PHP required." : "%sbit ou PHP supérieur est requis.",
+ "%sbit or higher PHP required." : "PHP %sbits ou supérieur est requis.",
"Following databases are supported: %s" : "Les bases de données suivantes sont supportées : %s",
"The command line tool %s could not be found" : "La commande %s est introuvable",
"The library %s is not available." : "La librairie %s n'est pas disponible.",
@@ -44,6 +45,8 @@ OC.L10N.register(
"File name is too long" : "Nom de fichier trop long",
"Dot files are not allowed" : "Le nom de fichier ne peut pas commencer par un point",
"Empty filename is not allowed" : "Le nom de fichier ne peut pas être vide",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'application \"%s\" ne peut pas être installée car le fichier appinfo ne peut pas être lu.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'application \"%s\" ne peut être installée car elle n'est pas compatible avec cette version du serveur",
"This is an automatically sent email, please do not reply." : "Ceci est un e-mail envoyé automatiquement, veuillez ne pas y répondre.",
"Help" : "Aide",
"Apps" : "Applications",
@@ -165,8 +168,6 @@ OC.L10N.register(
"The username is already being used" : "Ce nom d'utilisateur est déjà utilisé",
"User disabled" : "Utilisateur désactivé",
"Login canceled by app" : "L'authentification a été annulé par l'application",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'application \"%s\" ne peut pas être installée car le fichier appinfo ne peut pas être lu.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'application \"%s\" ne peut être installée car elle n'est pas compatible avec cette version du serveur",
"No app name specified" : "Aucun nom d'application spécifié",
"App '%s' could not be installed!" : "L'application \"%s\" ne peut pas être installée !",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "L'application \"%s\" ne peut pas être installée à cause des dépendances suivantes non satisfaites : %s",
@@ -180,7 +181,10 @@ OC.L10N.register(
"No database drivers (sqlite, mysql, or postgresql) installed." : "Aucun pilote de base de données n’est installé (sqlite, mysql ou postgresql).",
"Cannot write into \"config\" directory" : "Impossible d’écrire dans le répertoire \"config\"",
"Cannot write into \"apps\" directory" : "Impossible d’écrire dans le répertoire \"apps\"",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire \"apps\" ou en désactivant l'appstore dans le fichier de configuration. Voir %s",
"Cannot create \"data\" directory" : "Impossible de créer le dossier \"data\"",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire racine. Voir %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Le problème de permissions peut généralement être résolu en donnant au serveur web un accès en écriture au répertoire racine. Voir %s.",
"Setting locale to %s failed" : "Echec de la spécification des paramètres régionaux à %s",
"Please install one of these locales on your system and restart your webserver." : "Veuillez installer l'un de ces paramètres régionaux sur votre système et redémarrer votre serveur web.",
"Please ask your server administrator to install the module." : "Veuillez demander à votre administrateur d’installer le module.",
diff --git a/lib/l10n/fr.json b/lib/l10n/fr.json
index d70cad594f4..639eed6cb7a 100644
--- a/lib/l10n/fr.json
+++ b/lib/l10n/fr.json
@@ -2,6 +2,7 @@
"Cannot write into \"config\" directory!" : "Impossible d’écrire dans le répertoire « config » !",
"This can usually be fixed by giving the webserver write access to the config directory" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire \"config\"",
"See %s" : "Voir %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire \"config\". Voir %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Les fichiers de l'application %$1s n'ont pas été remplacés correctement. Veuillez vérifier que c'est une version compatible avec le serveur.",
"Sample configuration detected" : "Configuration d'exemple détectée",
"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" : "Il a été détecté que la configuration donnée à titre d'exemple a été copiée. Cela peut rendre votre installation inopérante et n'est pas pris en charge. Veuillez lire la documentation avant d'effectuer des modifications dans config.php",
@@ -14,7 +15,7 @@
"Social sharing bundle" : "Pack pour partage social",
"PHP %s or higher is required." : "PHP %s ou supérieur est requis.",
"PHP with a version lower than %s is required." : "PHP avec une version antérieure à %s est requis.",
- "%sbit or higher PHP required." : "%sbit ou PHP supérieur est requis.",
+ "%sbit or higher PHP required." : "PHP %sbits ou supérieur est requis.",
"Following databases are supported: %s" : "Les bases de données suivantes sont supportées : %s",
"The command line tool %s could not be found" : "La commande %s est introuvable",
"The library %s is not available." : "La librairie %s n'est pas disponible.",
@@ -42,6 +43,8 @@
"File name is too long" : "Nom de fichier trop long",
"Dot files are not allowed" : "Le nom de fichier ne peut pas commencer par un point",
"Empty filename is not allowed" : "Le nom de fichier ne peut pas être vide",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'application \"%s\" ne peut pas être installée car le fichier appinfo ne peut pas être lu.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'application \"%s\" ne peut être installée car elle n'est pas compatible avec cette version du serveur",
"This is an automatically sent email, please do not reply." : "Ceci est un e-mail envoyé automatiquement, veuillez ne pas y répondre.",
"Help" : "Aide",
"Apps" : "Applications",
@@ -163,8 +166,6 @@
"The username is already being used" : "Ce nom d'utilisateur est déjà utilisé",
"User disabled" : "Utilisateur désactivé",
"Login canceled by app" : "L'authentification a été annulé par l'application",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'application \"%s\" ne peut pas être installée car le fichier appinfo ne peut pas être lu.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'application \"%s\" ne peut être installée car elle n'est pas compatible avec cette version du serveur",
"No app name specified" : "Aucun nom d'application spécifié",
"App '%s' could not be installed!" : "L'application \"%s\" ne peut pas être installée !",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "L'application \"%s\" ne peut pas être installée à cause des dépendances suivantes non satisfaites : %s",
@@ -178,7 +179,10 @@
"No database drivers (sqlite, mysql, or postgresql) installed." : "Aucun pilote de base de données n’est installé (sqlite, mysql ou postgresql).",
"Cannot write into \"config\" directory" : "Impossible d’écrire dans le répertoire \"config\"",
"Cannot write into \"apps\" directory" : "Impossible d’écrire dans le répertoire \"apps\"",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire \"apps\" ou en désactivant l'appstore dans le fichier de configuration. Voir %s",
"Cannot create \"data\" directory" : "Impossible de créer le dossier \"data\"",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Ce problème est généralement résolu en donnant au serveur web un accès en écriture au répertoire racine. Voir %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Le problème de permissions peut généralement être résolu en donnant au serveur web un accès en écriture au répertoire racine. Voir %s.",
"Setting locale to %s failed" : "Echec de la spécification des paramètres régionaux à %s",
"Please install one of these locales on your system and restart your webserver." : "Veuillez installer l'un de ces paramètres régionaux sur votre système et redémarrer votre serveur web.",
"Please ask your server administrator to install the module." : "Veuillez demander à votre administrateur d’installer le module.",
diff --git a/lib/l10n/he.js b/lib/l10n/he.js
index 01cc07b9048..3aa060db9a0 100644
--- a/lib/l10n/he.js
+++ b/lib/l10n/he.js
@@ -29,6 +29,7 @@ OC.L10N.register(
"File name is too long" : "שם קובץ ארוך מדי",
"Dot files are not allowed" : "קבצי Dot אינם מותרים",
"Empty filename is not allowed" : "שם קובץ ריק אינו מאושר",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "יישום \"%s\" לא ניתן להתקנה כיוון שקובץ appinfo לא ניתן לקריאה.",
"Help" : "עזרה",
"Apps" : "יישומים",
"Personal" : "אישי",
@@ -140,7 +141,6 @@ OC.L10N.register(
"The username is already being used" : "השם משתמש כבר בשימוש",
"User disabled" : "משתמש מנוטרל",
"Login canceled by app" : "התחברות בוטלה על ידי יישום",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "יישום \"%s\" לא ניתן להתקנה כיוון שקובץ appinfo לא ניתן לקריאה.",
"No app name specified" : "לא הוגדר שם יישום",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "היישום \"%s\" לא ניתן להתקנה כיוון שיחסי התלות הבאים אינם מתקיימים: %s",
"a safe home for all your data" : "בית בטוח עבור כל המידע שלך",
diff --git a/lib/l10n/he.json b/lib/l10n/he.json
index f6ec548f78d..a9e11217739 100644
--- a/lib/l10n/he.json
+++ b/lib/l10n/he.json
@@ -27,6 +27,7 @@
"File name is too long" : "שם קובץ ארוך מדי",
"Dot files are not allowed" : "קבצי Dot אינם מותרים",
"Empty filename is not allowed" : "שם קובץ ריק אינו מאושר",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "יישום \"%s\" לא ניתן להתקנה כיוון שקובץ appinfo לא ניתן לקריאה.",
"Help" : "עזרה",
"Apps" : "יישומים",
"Personal" : "אישי",
@@ -138,7 +139,6 @@
"The username is already being used" : "השם משתמש כבר בשימוש",
"User disabled" : "משתמש מנוטרל",
"Login canceled by app" : "התחברות בוטלה על ידי יישום",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "יישום \"%s\" לא ניתן להתקנה כיוון שקובץ appinfo לא ניתן לקריאה.",
"No app name specified" : "לא הוגדר שם יישום",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "היישום \"%s\" לא ניתן להתקנה כיוון שיחסי התלות הבאים אינם מתקיימים: %s",
"a safe home for all your data" : "בית בטוח עבור כל המידע שלך",
diff --git a/lib/l10n/hu.js b/lib/l10n/hu.js
index 228c8b649a4..01f8ef573fc 100644
--- a/lib/l10n/hu.js
+++ b/lib/l10n/hu.js
@@ -40,6 +40,8 @@ OC.L10N.register(
"File name is too long" : "A fájlnév túl hosszú!",
"Dot files are not allowed" : "Pontozott fájlok nem engedétlyezettek",
"Empty filename is not allowed" : "Üres fájlnév nem engedétlyezett",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "\"%s\" alkalmazás nem lehet telepíteni, mert az appinfo fájl nem olvasható.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" alkalmazás nem lehet telepíteni, mert nem kompatibilis a szerver jelen verziójával.",
"Help" : "Súgó",
"Apps" : "Alkalmazások",
"Personal" : "Személyes",
@@ -157,8 +159,6 @@ OC.L10N.register(
"The username is already being used" : "Ez a bejelentkezési név már foglalt",
"User disabled" : "Felhasználó letiltva",
"Login canceled by app" : "Bejelentkezés megszakítva az alkalmazás által",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "\"%s\" alkalmazás nem lehet telepíteni, mert az appinfo fájl nem olvasható.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" alkalmazás nem lehet telepíteni, mert nem kompatibilis a szerver jelen verziójával.",
"No app name specified" : "Nincs az alkalmazás név megadva.",
"App '%s' could not be installed!" : "\"%s\" alkalmazás nem lehet telepíthető!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "\"%s\" alkalmazás nem lehet telepíteni, mert a következő függőségek nincsenek kielégítve: %s",
diff --git a/lib/l10n/hu.json b/lib/l10n/hu.json
index 1dec7c2fef2..2894e05d12b 100644
--- a/lib/l10n/hu.json
+++ b/lib/l10n/hu.json
@@ -38,6 +38,8 @@
"File name is too long" : "A fájlnév túl hosszú!",
"Dot files are not allowed" : "Pontozott fájlok nem engedétlyezettek",
"Empty filename is not allowed" : "Üres fájlnév nem engedétlyezett",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "\"%s\" alkalmazás nem lehet telepíteni, mert az appinfo fájl nem olvasható.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" alkalmazás nem lehet telepíteni, mert nem kompatibilis a szerver jelen verziójával.",
"Help" : "Súgó",
"Apps" : "Alkalmazások",
"Personal" : "Személyes",
@@ -155,8 +157,6 @@
"The username is already being used" : "Ez a bejelentkezési név már foglalt",
"User disabled" : "Felhasználó letiltva",
"Login canceled by app" : "Bejelentkezés megszakítva az alkalmazás által",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "\"%s\" alkalmazás nem lehet telepíteni, mert az appinfo fájl nem olvasható.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" alkalmazás nem lehet telepíteni, mert nem kompatibilis a szerver jelen verziójával.",
"No app name specified" : "Nincs az alkalmazás név megadva.",
"App '%s' could not be installed!" : "\"%s\" alkalmazás nem lehet telepíthető!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "\"%s\" alkalmazás nem lehet telepíteni, mert a következő függőségek nincsenek kielégítve: %s",
diff --git a/lib/l10n/is.js b/lib/l10n/is.js
index 45256e710a1..b807b8640d9 100644
--- a/lib/l10n/is.js
+++ b/lib/l10n/is.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"%1$s, %2$s and %3$s" : "%1$s, %2$s og %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s og %4$s",
"%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s og %5$s",
+ "Enterprise bundle" : "Fyrirtækjavöndull",
+ "Groupware bundle" : "Hópvinnsluvöndull",
"PHP %s or higher is required." : "Krafist er PHP %s eða hærra.",
"PHP with a version lower than %s is required." : "Krafist er PHP útgáfu %s eða lægri.",
"%sbit or higher PHP required." : "Krafist er PHP %sbita eða hærra.",
@@ -35,6 +37,9 @@ OC.L10N.register(
"File name is too long" : "Skráarheiti er of langt",
"Dot files are not allowed" : "Skrár með punkti eru ekki leyfðar",
"Empty filename is not allowed" : "Autt skráarheiti er ekki leyft.",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Ekki er hægt að setja upp \"%s\" forritið vegna þess að ekki var hægt að lesa appinfo-skrána.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Ekki var hægt að setja upp forritið \"%s\" vegna þess að það er ekki samhæft þessari útgáfu vefþjónsins.",
+ "This is an automatically sent email, please do not reply." : "Þetta er sjálfvirk tölvupóstsending, ekki svara þessu.",
"Help" : "Hjálp",
"Apps" : "Forrit",
"Personal" : "Einka",
@@ -43,7 +48,9 @@ OC.L10N.register(
"Admin" : "Stjórnun",
"APCu" : "APCu",
"Redis" : "Redis",
+ "Basic settings" : "Grunnstillingar",
"Sharing" : "Deiling",
+ "Security" : "Öryggi",
"Encryption" : "Dulritun",
"Additional settings" : "Valfrjálsar stillingar",
"Tips & tricks" : "Ábendingar og góð ráð",
@@ -83,6 +90,7 @@ OC.L10N.register(
"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 %s failed, because resharing is not allowed" : "Deiling %s mistókst, því endurdeiling er ekki leyfð",
+ "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",
"Cannot increase permissions of %s" : "Get ekki aukið aðgangsheimildir %s",
"Expiration date is in the past" : "Gildistíminn er þegar runninn út",
"Cannot set expiration date more than %s days in the future" : "Ekki er hægt að setja lokadagsetningu meira en %s daga fram í tímann",
@@ -135,12 +143,11 @@ OC.L10N.register(
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Einungis eru leyfilegir eftirfarandi stafir í notandanafni: \"a-z\", \"A-Z\", \"0-9\", og \"_.@-'\"",
"A valid username must be provided" : "Skráðu inn gilt notandanafn",
"Username contains whitespace at the beginning or at the end" : "Notandanafnið inniheldur orðabil í upphafi eða enda",
+ "Username must not consist of dots only" : "Notandanafn má ekki einungis samanstanda af punktum",
"A valid password must be provided" : "Skráðu inn gilt lykilorð",
"The username is already being used" : "Notandanafnið er þegar í notkun",
"User disabled" : "Notandi óvirkur",
"Login canceled by app" : "Forrit hætti við innskráningu",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Ekki er hægt að setja upp \"%s\" forritið vegna þess að ekki var hægt að lesa appinfo-skrána.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Ekki var hægt að setja upp forritið \"%s\" vegna þess að það er ekki samhæft þessari útgáfu vefþjónsins.",
"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",
@@ -154,6 +161,7 @@ OC.L10N.register(
"No database drivers (sqlite, mysql, or postgresql) installed." : "Engir reklar fyrir gagnagrunn eru uppsettir (sqlite, mysql eða postgresql).",
"Cannot write into \"config\" directory" : "Get ekki skrifað í \"config\" möppuna",
"Cannot write into \"apps\" directory" : "Get ekki skrifað í \"apps\" möppuna",
+ "Cannot create \"data\" directory" : "Get ekki búið til \"data\" möppu",
"Setting locale to %s failed" : "Mistókst að setja upp staðfærsluna %s",
"Please install one of these locales on your system and restart your webserver." : "Settu upp eina af þessum staðfærslum og endurræstu vefþjóninn.",
"Please ask your server administrator to install the module." : "Biddu kerfisstjórann þinn um að setja eininguna upp.",
@@ -169,7 +177,10 @@ OC.L10N.register(
"Please ask your server administrator to restart the web server." : "Biddu kerfisstjórann þinn um að endurræsa vefþjóninn.",
"PostgreSQL >= 9 required" : "Krefst PostgreSQL >= 9",
"Please upgrade your database version" : "Uppfærðu útgáfu gagnagrunnsins",
+ "Your data directory is readable by other users" : "Gagnamappn þín er lesanleg fyrir aðra notendur",
+ "Your data directory must be an absolute path" : "Gagnamappan þín verður að vera með algilda slóð",
"Check the value of \"datadirectory\" in your configuration" : "Athugaðu gildi \"datadirectory\" í uppsetningunni þinni",
+ "Your data directory is invalid" : "Gagnamappan þín er ógild",
"Storage unauthorized. %s" : "Gagnageymsla ekki auðkennd. %s",
"Storage incomplete configuration. %s" : "Ófullgerð uppsetning gagnageymslu. %s",
"Storage connection error. %s" : "Villa í tengingu við gagnageymslu. %s",
diff --git a/lib/l10n/is.json b/lib/l10n/is.json
index 11a82e161b4..a5541e993e4 100644
--- a/lib/l10n/is.json
+++ b/lib/l10n/is.json
@@ -6,6 +6,8 @@
"%1$s, %2$s and %3$s" : "%1$s, %2$s og %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s og %4$s",
"%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s og %5$s",
+ "Enterprise bundle" : "Fyrirtækjavöndull",
+ "Groupware bundle" : "Hópvinnsluvöndull",
"PHP %s or higher is required." : "Krafist er PHP %s eða hærra.",
"PHP with a version lower than %s is required." : "Krafist er PHP útgáfu %s eða lægri.",
"%sbit or higher PHP required." : "Krafist er PHP %sbita eða hærra.",
@@ -33,6 +35,9 @@
"File name is too long" : "Skráarheiti er of langt",
"Dot files are not allowed" : "Skrár með punkti eru ekki leyfðar",
"Empty filename is not allowed" : "Autt skráarheiti er ekki leyft.",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Ekki er hægt að setja upp \"%s\" forritið vegna þess að ekki var hægt að lesa appinfo-skrána.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Ekki var hægt að setja upp forritið \"%s\" vegna þess að það er ekki samhæft þessari útgáfu vefþjónsins.",
+ "This is an automatically sent email, please do not reply." : "Þetta er sjálfvirk tölvupóstsending, ekki svara þessu.",
"Help" : "Hjálp",
"Apps" : "Forrit",
"Personal" : "Einka",
@@ -41,7 +46,9 @@
"Admin" : "Stjórnun",
"APCu" : "APCu",
"Redis" : "Redis",
+ "Basic settings" : "Grunnstillingar",
"Sharing" : "Deiling",
+ "Security" : "Öryggi",
"Encryption" : "Dulritun",
"Additional settings" : "Valfrjálsar stillingar",
"Tips & tricks" : "Ábendingar og góð ráð",
@@ -81,6 +88,7 @@
"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 %s failed, because resharing is not allowed" : "Deiling %s mistókst, því endurdeiling er ekki leyfð",
+ "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",
"Cannot increase permissions of %s" : "Get ekki aukið aðgangsheimildir %s",
"Expiration date is in the past" : "Gildistíminn er þegar runninn út",
"Cannot set expiration date more than %s days in the future" : "Ekki er hægt að setja lokadagsetningu meira en %s daga fram í tímann",
@@ -133,12 +141,11 @@
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Einungis eru leyfilegir eftirfarandi stafir í notandanafni: \"a-z\", \"A-Z\", \"0-9\", og \"_.@-'\"",
"A valid username must be provided" : "Skráðu inn gilt notandanafn",
"Username contains whitespace at the beginning or at the end" : "Notandanafnið inniheldur orðabil í upphafi eða enda",
+ "Username must not consist of dots only" : "Notandanafn má ekki einungis samanstanda af punktum",
"A valid password must be provided" : "Skráðu inn gilt lykilorð",
"The username is already being used" : "Notandanafnið er þegar í notkun",
"User disabled" : "Notandi óvirkur",
"Login canceled by app" : "Forrit hætti við innskráningu",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Ekki er hægt að setja upp \"%s\" forritið vegna þess að ekki var hægt að lesa appinfo-skrána.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Ekki var hægt að setja upp forritið \"%s\" vegna þess að það er ekki samhæft þessari útgáfu vefþjónsins.",
"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",
@@ -152,6 +159,7 @@
"No database drivers (sqlite, mysql, or postgresql) installed." : "Engir reklar fyrir gagnagrunn eru uppsettir (sqlite, mysql eða postgresql).",
"Cannot write into \"config\" directory" : "Get ekki skrifað í \"config\" möppuna",
"Cannot write into \"apps\" directory" : "Get ekki skrifað í \"apps\" möppuna",
+ "Cannot create \"data\" directory" : "Get ekki búið til \"data\" möppu",
"Setting locale to %s failed" : "Mistókst að setja upp staðfærsluna %s",
"Please install one of these locales on your system and restart your webserver." : "Settu upp eina af þessum staðfærslum og endurræstu vefþjóninn.",
"Please ask your server administrator to install the module." : "Biddu kerfisstjórann þinn um að setja eininguna upp.",
@@ -167,7 +175,10 @@
"Please ask your server administrator to restart the web server." : "Biddu kerfisstjórann þinn um að endurræsa vefþjóninn.",
"PostgreSQL >= 9 required" : "Krefst PostgreSQL >= 9",
"Please upgrade your database version" : "Uppfærðu útgáfu gagnagrunnsins",
+ "Your data directory is readable by other users" : "Gagnamappn þín er lesanleg fyrir aðra notendur",
+ "Your data directory must be an absolute path" : "Gagnamappan þín verður að vera með algilda slóð",
"Check the value of \"datadirectory\" in your configuration" : "Athugaðu gildi \"datadirectory\" í uppsetningunni þinni",
+ "Your data directory is invalid" : "Gagnamappan þín er ógild",
"Storage unauthorized. %s" : "Gagnageymsla ekki auðkennd. %s",
"Storage incomplete configuration. %s" : "Ófullgerð uppsetning gagnageymslu. %s",
"Storage connection error. %s" : "Villa í tengingu við gagnageymslu. %s",
diff --git a/lib/l10n/it.js b/lib/l10n/it.js
index e071ec0e696..7d2ae7ac070 100644
--- a/lib/l10n/it.js
+++ b/lib/l10n/it.js
@@ -41,6 +41,8 @@ OC.L10N.register(
"File name is too long" : "Il nome del file è troppo lungo",
"Dot files are not allowed" : "I file con un punto iniziale non sono consentiti",
"Empty filename is not allowed" : "Un nome di file vuoto non è consentito",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'applicazione \"%s\" non può essere installata poiché il file appinfo non può essere letto.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'applicazione \"%s\" non può essere installata perché non è compatibile con questa versione del server.",
"This is an automatically sent email, please do not reply." : "Questo è un messaggio di posta inviato automaticamente, non rispondere.",
"Help" : "Aiuto",
"Apps" : "Applicazioni",
@@ -161,8 +163,6 @@ OC.L10N.register(
"The username is already being used" : "Il nome utente è già utilizzato",
"User disabled" : "Utente disabilitato",
"Login canceled by app" : "Accesso annullato dall'applicazione",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'applicazione \"%s\" non può essere installata poiché il file appinfo non può essere letto.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'applicazione \"%s\" non può essere installata perché non è compatibile con questa versione del server.",
"No app name specified" : "Il nome dell'applicazione non è specificato",
"App '%s' could not be installed!" : "L'applicazione '%s' non può essere installata!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "L'applicazione \"%s\" non può essere installata poiché le seguenti dipendenze non sono soddisfatte: %s",
diff --git a/lib/l10n/it.json b/lib/l10n/it.json
index 84cf29f9017..8ccfd848395 100644
--- a/lib/l10n/it.json
+++ b/lib/l10n/it.json
@@ -39,6 +39,8 @@
"File name is too long" : "Il nome del file è troppo lungo",
"Dot files are not allowed" : "I file con un punto iniziale non sono consentiti",
"Empty filename is not allowed" : "Un nome di file vuoto non è consentito",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'applicazione \"%s\" non può essere installata poiché il file appinfo non può essere letto.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'applicazione \"%s\" non può essere installata perché non è compatibile con questa versione del server.",
"This is an automatically sent email, please do not reply." : "Questo è un messaggio di posta inviato automaticamente, non rispondere.",
"Help" : "Aiuto",
"Apps" : "Applicazioni",
@@ -159,8 +161,6 @@
"The username is already being used" : "Il nome utente è già utilizzato",
"User disabled" : "Utente disabilitato",
"Login canceled by app" : "Accesso annullato dall'applicazione",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "L'applicazione \"%s\" non può essere installata poiché il file appinfo non può essere letto.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "L'applicazione \"%s\" non può essere installata perché non è compatibile con questa versione del server.",
"No app name specified" : "Il nome dell'applicazione non è specificato",
"App '%s' could not be installed!" : "L'applicazione '%s' non può essere installata!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "L'applicazione \"%s\" non può essere installata poiché le seguenti dipendenze non sono soddisfatte: %s",
diff --git a/lib/l10n/ja.js b/lib/l10n/ja.js
index 252f028b300..15dc44a521f 100644
--- a/lib/l10n/ja.js
+++ b/lib/l10n/ja.js
@@ -40,6 +40,8 @@ OC.L10N.register(
"File name is too long" : "ファイル名が長すぎます",
"Dot files are not allowed" : "ドットファイルは許可されていません",
"Empty filename is not allowed" : "空のファイル名は許可されていません",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfoファイルが読み込めないため、アプリ名 \"%s\" がインストールできません。",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" アプリは、このバージョンのサーバーと互換性がないためインストールされませんでした。",
"Help" : "ヘルプ",
"Apps" : "アプリ",
"Personal" : "個人",
@@ -157,8 +159,6 @@ OC.L10N.register(
"The username is already being used" : "ユーザー名はすでに使われています",
"User disabled" : "ユーザーは無効です",
"Login canceled by app" : "アプリによりログインが中止されました",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfoファイルが読み込めないため、アプリ名 \"%s\" がインストールできません。",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" アプリは、このバージョンのサーバーと互換性がないためインストールされませんでした。",
"No app name specified" : "アプリ名が未指定",
"App '%s' could not be installed!" : "'%s' アプリをインストールできませんでした。",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "次の依存関係が満たされないため、\"%s\" アプリをインストールできません:%s",
diff --git a/lib/l10n/ja.json b/lib/l10n/ja.json
index e3fc49a777f..07449a935ca 100644
--- a/lib/l10n/ja.json
+++ b/lib/l10n/ja.json
@@ -38,6 +38,8 @@
"File name is too long" : "ファイル名が長すぎます",
"Dot files are not allowed" : "ドットファイルは許可されていません",
"Empty filename is not allowed" : "空のファイル名は許可されていません",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfoファイルが読み込めないため、アプリ名 \"%s\" がインストールできません。",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" アプリは、このバージョンのサーバーと互換性がないためインストールされませんでした。",
"Help" : "ヘルプ",
"Apps" : "アプリ",
"Personal" : "個人",
@@ -155,8 +157,6 @@
"The username is already being used" : "ユーザー名はすでに使われています",
"User disabled" : "ユーザーは無効です",
"Login canceled by app" : "アプリによりログインが中止されました",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfoファイルが読み込めないため、アプリ名 \"%s\" がインストールできません。",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" アプリは、このバージョンのサーバーと互換性がないためインストールされませんでした。",
"No app name specified" : "アプリ名が未指定",
"App '%s' could not be installed!" : "'%s' アプリをインストールできませんでした。",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "次の依存関係が満たされないため、\"%s\" アプリをインストールできません:%s",
diff --git a/lib/l10n/ko.js b/lib/l10n/ko.js
index 5971a29913e..2a26f1031f9 100644
--- a/lib/l10n/ko.js
+++ b/lib/l10n/ko.js
@@ -44,6 +44,8 @@ OC.L10N.register(
"File name is too long" : "파일 이름이 너무 김",
"Dot files are not allowed" : "점으로 시작하는 파일은 허용되지 않음",
"Empty filename is not allowed" : "파일 이름을 비워 둘 수 없음",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo 파일을 읽을 수 없어서 앱 \"%s\"을(를) 설치할 수 없습니다.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "이 서버 버전과 호환되지 않아서 앱 \"%s\"을(를) 설치할 수 없습니다",
"This is an automatically sent email, please do not reply." : "자동으로 전송한 이메일입니다. 답장하지 마십시오.",
"Help" : "도움말",
"Apps" : "앱",
@@ -165,8 +167,6 @@ OC.L10N.register(
"The username is already being used" : "사용자 이름이 이미 존재합니다",
"User disabled" : "사용자 비활성화",
"Login canceled by app" : "앱 로그인 취소",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo 파일을 읽을 수 없어서 앱 \"%s\"을(를) 설치할 수 없습니다.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "이 서버 버전과 호환되지 않아서 앱 \"%s\"을(를) 설치할 수 없습니다",
"No app name specified" : "앱 이름이 지정되지 않았음",
"App '%s' could not be installed!" : "앱 '%s'을(를) 설치할 수 없습니다!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "앱 \"%s\"의 다음 의존성을 만족하지 못하므로 설치할 수 없습니다: %s",
diff --git a/lib/l10n/ko.json b/lib/l10n/ko.json
index be31b08716c..3bf4ceac1b5 100644
--- a/lib/l10n/ko.json
+++ b/lib/l10n/ko.json
@@ -42,6 +42,8 @@
"File name is too long" : "파일 이름이 너무 김",
"Dot files are not allowed" : "점으로 시작하는 파일은 허용되지 않음",
"Empty filename is not allowed" : "파일 이름을 비워 둘 수 없음",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo 파일을 읽을 수 없어서 앱 \"%s\"을(를) 설치할 수 없습니다.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "이 서버 버전과 호환되지 않아서 앱 \"%s\"을(를) 설치할 수 없습니다",
"This is an automatically sent email, please do not reply." : "자동으로 전송한 이메일입니다. 답장하지 마십시오.",
"Help" : "도움말",
"Apps" : "앱",
@@ -163,8 +165,6 @@
"The username is already being used" : "사용자 이름이 이미 존재합니다",
"User disabled" : "사용자 비활성화",
"Login canceled by app" : "앱 로그인 취소",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo 파일을 읽을 수 없어서 앱 \"%s\"을(를) 설치할 수 없습니다.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "이 서버 버전과 호환되지 않아서 앱 \"%s\"을(를) 설치할 수 없습니다",
"No app name specified" : "앱 이름이 지정되지 않았음",
"App '%s' could not be installed!" : "앱 '%s'을(를) 설치할 수 없습니다!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "앱 \"%s\"의 다음 의존성을 만족하지 못하므로 설치할 수 없습니다: %s",
diff --git a/lib/l10n/nb.js b/lib/l10n/nb.js
index b48cca20852..39a5b333f05 100644
--- a/lib/l10n/nb.js
+++ b/lib/l10n/nb.js
@@ -44,6 +44,8 @@ OC.L10N.register(
"File name is too long" : "Filnavnet er for langt",
"Dot files are not allowed" : "Punktum-filer er ikke tillatt",
"Empty filename is not allowed" : "Tomt filnavn er ikke tillatt",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Appen \"%s\" kan ikke installeres på grunn av at appinfo filen ikke kan leses.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Appen \"%s\" kan ikke installere fordi den ikke er kompatibel med denne tjenerversjonen.",
"This is an automatically sent email, please do not reply." : "Dette er en automatisk sendt e-post, ikke svar.",
"Help" : "Hjelp",
"Apps" : "Programmer",
@@ -89,7 +91,7 @@ OC.L10N.register(
"Sharing %s failed, because the group %s does not exist" : "Deling av %s feilet, fordi gruppen %s ikke finnes",
"Sharing %s failed, because %s is not a member of the group %s" : "Deling av %s feilet, fordi %s ikke er medlem av gruppen %s",
"You need to provide a password to create a public link, only protected links are allowed" : "Du må oppgi et passord for å lage en offentlig lenke. Bare beskyttede lenker er tillatt",
- "Sharing %s failed, because sharing with links is not allowed" : "Deling av %s feilet, fordi deling med lenker ikke er tillatt",
+ "Sharing %s failed, because sharing with links is not allowed" : "Deling av %s mislyktes, fordi deling med lenker ikke er tillatt",
"Not allowed to create a federated share with the same user" : "Ikke tillatt å opprette en sammenknyttet sky-deling med den samme brukeren",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Deling %s feilet, fant ikke %s, kanskje tjeneren er utilgjengelig for øyeblikket.",
"Share type %s is not valid for %s" : "Delingstype %s er ikke gyldig for %s",
@@ -165,8 +167,6 @@ OC.L10N.register(
"The username is already being used" : "Brukernavnet er allerede i bruk",
"User disabled" : "Brukeren er deaktivert",
"Login canceled by app" : "Innlogging avbrutt av app",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Appen \"%s\" kan ikke installeres på grunn av at appinfo filen ikke kan leses.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Appen \"%s\" kan ikke installere fordi den ikke er kompatibel med denne tjenerversjonen.",
"No app name specified" : "Intet app-navn spesifisert",
"App '%s' could not be installed!" : "Appen '%s' kunne ikke installeres!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Programmet \"%s\" kan ikke installeres fordi følgende avhengigheter ikke er tilfredsstilt: %s",
diff --git a/lib/l10n/nb.json b/lib/l10n/nb.json
index 5e393299863..fd30f786e78 100644
--- a/lib/l10n/nb.json
+++ b/lib/l10n/nb.json
@@ -42,6 +42,8 @@
"File name is too long" : "Filnavnet er for langt",
"Dot files are not allowed" : "Punktum-filer er ikke tillatt",
"Empty filename is not allowed" : "Tomt filnavn er ikke tillatt",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Appen \"%s\" kan ikke installeres på grunn av at appinfo filen ikke kan leses.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Appen \"%s\" kan ikke installere fordi den ikke er kompatibel med denne tjenerversjonen.",
"This is an automatically sent email, please do not reply." : "Dette er en automatisk sendt e-post, ikke svar.",
"Help" : "Hjelp",
"Apps" : "Programmer",
@@ -87,7 +89,7 @@
"Sharing %s failed, because the group %s does not exist" : "Deling av %s feilet, fordi gruppen %s ikke finnes",
"Sharing %s failed, because %s is not a member of the group %s" : "Deling av %s feilet, fordi %s ikke er medlem av gruppen %s",
"You need to provide a password to create a public link, only protected links are allowed" : "Du må oppgi et passord for å lage en offentlig lenke. Bare beskyttede lenker er tillatt",
- "Sharing %s failed, because sharing with links is not allowed" : "Deling av %s feilet, fordi deling med lenker ikke er tillatt",
+ "Sharing %s failed, because sharing with links is not allowed" : "Deling av %s mislyktes, fordi deling med lenker ikke er tillatt",
"Not allowed to create a federated share with the same user" : "Ikke tillatt å opprette en sammenknyttet sky-deling med den samme brukeren",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Deling %s feilet, fant ikke %s, kanskje tjeneren er utilgjengelig for øyeblikket.",
"Share type %s is not valid for %s" : "Delingstype %s er ikke gyldig for %s",
@@ -163,8 +165,6 @@
"The username is already being used" : "Brukernavnet er allerede i bruk",
"User disabled" : "Brukeren er deaktivert",
"Login canceled by app" : "Innlogging avbrutt av app",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Appen \"%s\" kan ikke installeres på grunn av at appinfo filen ikke kan leses.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Appen \"%s\" kan ikke installere fordi den ikke er kompatibel med denne tjenerversjonen.",
"No app name specified" : "Intet app-navn spesifisert",
"App '%s' could not be installed!" : "Appen '%s' kunne ikke installeres!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Programmet \"%s\" kan ikke installeres fordi følgende avhengigheter ikke er tilfredsstilt: %s",
diff --git a/lib/l10n/nl.js b/lib/l10n/nl.js
index 083c799bcb8..9ad05fb7eba 100644
--- a/lib/l10n/nl.js
+++ b/lib/l10n/nl.js
@@ -2,8 +2,9 @@ OC.L10N.register(
"lib",
{
"Cannot write into \"config\" directory!" : "Kan niet schrijven naar de \"config\" directory!",
- "This can usually be fixed by giving the webserver write access to the config directory" : "Dit kan hersteld worden door de webserver schrijfrechten te geven op de de config directory",
+ "This can usually be fixed by giving the webserver write access to the config directory" : "Dit kan hersteld worden door config map op de webserver schrijfrechten te geven",
"See %s" : "Zie %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dit kan hersteld geregeld door de config map op de webserver schrijf rechten te geven. See %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "De bestanden van de app %$1s zijn niet correct vervangen. Zorg ervoor dat hij compatible is met de server.",
"Sample configuration detected" : "Voorbeeldconfiguratie gevonden",
"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" : "Blijkbaar is de voorbeeldconfiguratie gekopieerd. Dit kan je installatie beschadigen en wordt dan ook niet ondersteund. Lees de documentatie voordat je wijzigingen aan config.php doorvoert",
@@ -44,6 +45,8 @@ OC.L10N.register(
"File name is too long" : "De bestandsnaam is te lang",
"Dot files are not allowed" : "Punt bestanden zijn niet toegestaan",
"Empty filename is not allowed" : "Een lege bestandsnaam is niet toegestaan",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "App \"%s\" kan niet worden geïnstalleerd, omdat het appinfo bestand niet gelezen kan worden.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "App \"%s\" kan niet worden geïnstalleerd, omdat deze niet compatible is met deze versie van de server.",
"This is an automatically sent email, please do not reply." : "Dit is een automatisch gegenereerde e-mail, dus niet reageren.",
"Help" : "Help",
"Apps" : "Apps",
@@ -165,8 +168,6 @@ OC.L10N.register(
"The username is already being used" : "De gebruikersnaam bestaat al",
"User disabled" : "Gebruiker geblokkeerd",
"Login canceled by app" : "Inloggen geannuleerd door app",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "App \"%s\" kan niet worden geïnstalleerd, omdat het appinfo bestand niet gelezen kan worden.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "App \"%s\" kan niet worden geïnstalleerd, omdat deze niet compatible is met deze versie van de server.",
"No app name specified" : "Geen app naam opgegeven.",
"App '%s' could not be installed!" : "App '%s' kon niet worden geïnstalleerd!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "App \"%s\" kan niet worden geïnstalleerd, omdat de volgende afhankelijkheden niet zijn ingevuld: %s",
@@ -180,7 +181,10 @@ OC.L10N.register(
"No database drivers (sqlite, mysql, or postgresql) installed." : "Geen database drivers (sqlite, mysql of postgres) geïnstalleerd.",
"Cannot write into \"config\" directory" : "Kan niet schrijven naar de \"config\" directory",
"Cannot write into \"apps\" directory" : "Kan niet schrijven naar de \"apps\" directory",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Dit kan hersteld worden door de app map schrijf rechten te geven of schakel de appstore uit bij het config bestand. See %s",
"Cannot create \"data\" directory" : "\"data\" map kan niet worden aangemaakt",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Dit kan hersteld worden door de root map schrijf rechten te geven. See %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Rechten kunnen worden hersteld door de root map op de webserver schrijf toegang te geven. See %s.",
"Setting locale to %s failed" : "Instellen taal op %s mislukte",
"Please install one of these locales on your system and restart your webserver." : "Installeer één van de talen op je systeem en herstart je webserver.",
"Please ask your server administrator to install the module." : "Vraag je beheerder om de module te installeren.",
@@ -217,8 +221,8 @@ OC.L10N.register(
"%s via %s" : "%s via %s",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dit kan hersteld worden door de webserver schrijfrechten te %s geven op de appsdirectory %s of door de appstore te deactiveren in het configbestand.",
"Cannot create \"data\" directory (%s)" : "Kan de \"data\" directory (%s) niet aanmaken",
- "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Dit kan worden hersteld door <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\"> de webserver schrijfrechten te geven tot de hoofddirectory</a>.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dit kan hersteld worden door de webserver schrijfrechten te %s geven op de hoofddirectory %s.",
+ "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Dit kan hersteld worden door <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\"> de webserver schrijfrechten te geven tot de hoofddirectory</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dit kan hersteld worden door 1%s in de hoofd directory 1%s op de webserver schrijfrechten te geven.",
"Data directory (%s) is readable by other users" : "De datadirectory (%s) is leesbaar voor andere gebruikers",
"Data directory (%s) must be an absolute path" : "De datadirectory (%s) moet een absoluut pad hebben",
"Data directory (%s) is invalid" : "Data directory (%s) is ongeldig"
diff --git a/lib/l10n/nl.json b/lib/l10n/nl.json
index e67c505676b..8a6bd04bdb4 100644
--- a/lib/l10n/nl.json
+++ b/lib/l10n/nl.json
@@ -1,7 +1,8 @@
{ "translations": {
"Cannot write into \"config\" directory!" : "Kan niet schrijven naar de \"config\" directory!",
- "This can usually be fixed by giving the webserver write access to the config directory" : "Dit kan hersteld worden door de webserver schrijfrechten te geven op de de config directory",
+ "This can usually be fixed by giving the webserver write access to the config directory" : "Dit kan hersteld worden door config map op de webserver schrijfrechten te geven",
"See %s" : "Zie %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Dit kan hersteld geregeld door de config map op de webserver schrijf rechten te geven. See %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "De bestanden van de app %$1s zijn niet correct vervangen. Zorg ervoor dat hij compatible is met de server.",
"Sample configuration detected" : "Voorbeeldconfiguratie gevonden",
"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" : "Blijkbaar is de voorbeeldconfiguratie gekopieerd. Dit kan je installatie beschadigen en wordt dan ook niet ondersteund. Lees de documentatie voordat je wijzigingen aan config.php doorvoert",
@@ -42,6 +43,8 @@
"File name is too long" : "De bestandsnaam is te lang",
"Dot files are not allowed" : "Punt bestanden zijn niet toegestaan",
"Empty filename is not allowed" : "Een lege bestandsnaam is niet toegestaan",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "App \"%s\" kan niet worden geïnstalleerd, omdat het appinfo bestand niet gelezen kan worden.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "App \"%s\" kan niet worden geïnstalleerd, omdat deze niet compatible is met deze versie van de server.",
"This is an automatically sent email, please do not reply." : "Dit is een automatisch gegenereerde e-mail, dus niet reageren.",
"Help" : "Help",
"Apps" : "Apps",
@@ -163,8 +166,6 @@
"The username is already being used" : "De gebruikersnaam bestaat al",
"User disabled" : "Gebruiker geblokkeerd",
"Login canceled by app" : "Inloggen geannuleerd door app",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "App \"%s\" kan niet worden geïnstalleerd, omdat het appinfo bestand niet gelezen kan worden.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "App \"%s\" kan niet worden geïnstalleerd, omdat deze niet compatible is met deze versie van de server.",
"No app name specified" : "Geen app naam opgegeven.",
"App '%s' could not be installed!" : "App '%s' kon niet worden geïnstalleerd!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "App \"%s\" kan niet worden geïnstalleerd, omdat de volgende afhankelijkheden niet zijn ingevuld: %s",
@@ -178,7 +179,10 @@
"No database drivers (sqlite, mysql, or postgresql) installed." : "Geen database drivers (sqlite, mysql of postgres) geïnstalleerd.",
"Cannot write into \"config\" directory" : "Kan niet schrijven naar de \"config\" directory",
"Cannot write into \"apps\" directory" : "Kan niet schrijven naar de \"apps\" directory",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Dit kan hersteld worden door de app map schrijf rechten te geven of schakel de appstore uit bij het config bestand. See %s",
"Cannot create \"data\" directory" : "\"data\" map kan niet worden aangemaakt",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Dit kan hersteld worden door de root map schrijf rechten te geven. See %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Rechten kunnen worden hersteld door de root map op de webserver schrijf toegang te geven. See %s.",
"Setting locale to %s failed" : "Instellen taal op %s mislukte",
"Please install one of these locales on your system and restart your webserver." : "Installeer één van de talen op je systeem en herstart je webserver.",
"Please ask your server administrator to install the module." : "Vraag je beheerder om de module te installeren.",
@@ -215,8 +219,8 @@
"%s via %s" : "%s via %s",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dit kan hersteld worden door de webserver schrijfrechten te %s geven op de appsdirectory %s of door de appstore te deactiveren in het configbestand.",
"Cannot create \"data\" directory (%s)" : "Kan de \"data\" directory (%s) niet aanmaken",
- "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Dit kan worden hersteld door <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\"> de webserver schrijfrechten te geven tot de hoofddirectory</a>.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dit kan hersteld worden door de webserver schrijfrechten te %s geven op de hoofddirectory %s.",
+ "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Dit kan hersteld worden door <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\"> de webserver schrijfrechten te geven tot de hoofddirectory</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dit kan hersteld worden door 1%s in de hoofd directory 1%s op de webserver schrijfrechten te geven.",
"Data directory (%s) is readable by other users" : "De datadirectory (%s) is leesbaar voor andere gebruikers",
"Data directory (%s) must be an absolute path" : "De datadirectory (%s) moet een absoluut pad hebben",
"Data directory (%s) is invalid" : "Data directory (%s) is ongeldig"
diff --git a/lib/l10n/pl.js b/lib/l10n/pl.js
index 231194748e1..d3a3f1d8922 100644
--- a/lib/l10n/pl.js
+++ b/lib/l10n/pl.js
@@ -4,6 +4,7 @@ OC.L10N.register(
"Cannot write into \"config\" directory!" : "Nie można zapisać do katalogu \"config\"!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Można to zwykle rozwiązać przez dodanie serwerowi www uprawnień zapisu do katalogu config.",
"See %s" : "Zobacz %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Zwykle można to rozwiązać nadając serwerowi www uprawnienia do zapisu w katalogu konfiguracji. Zobacz %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Pliki aplikacji %1$s nie zostały zastąpione prawidłowo. Upewnij się, że to jest wersja kompatybilna z serwerem.",
"Sample configuration detected" : "Wykryto przykładową konfigurację",
"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" : "Wykryto skopiowanie przykładowej konfiguracji. To może popsuć Twoją instalację i nie jest wspierane. Proszę przeczytać dokumentację przed dokonywaniem zmian w config.php",
@@ -44,6 +45,8 @@ OC.L10N.register(
"File name is too long" : "Nazwa pliku zbyt długa",
"Dot files are not allowed" : "Pliki z kropką są nie dozwolone",
"Empty filename is not allowed" : "Pusta nazwa nie jest dozwolona.",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ plik informacyjny nie może zostać odczytany.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ jest niekompatybilna z obecną wersją serwera.",
"This is an automatically sent email, please do not reply." : "To jest automatycznie wysłany e-mail, proszę nie odpowiadać na niego.",
"Help" : "Pomoc",
"Apps" : "Aplikacje",
@@ -165,8 +168,6 @@ OC.L10N.register(
"The username is already being used" : "Ta nazwa użytkownika jest już używana",
"User disabled" : "Użytkownik zablokowany",
"Login canceled by app" : "Zalogowanie anulowane przez aplikację",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ plik informacyjny nie może zostać odczytany.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ jest niekompatybilna z obecną wersją serwera.",
"No app name specified" : "Nie określono nazwy aplikacji",
"App '%s' could not be installed!" : "Aplikacja '%s' nie mogła zostać zainstalowana!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ następujące zależności nie zostały spełnione: %s",
diff --git a/lib/l10n/pl.json b/lib/l10n/pl.json
index 44c1d7f57f2..1cfbf84a59e 100644
--- a/lib/l10n/pl.json
+++ b/lib/l10n/pl.json
@@ -2,6 +2,7 @@
"Cannot write into \"config\" directory!" : "Nie można zapisać do katalogu \"config\"!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Można to zwykle rozwiązać przez dodanie serwerowi www uprawnień zapisu do katalogu config.",
"See %s" : "Zobacz %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Zwykle można to rozwiązać nadając serwerowi www uprawnienia do zapisu w katalogu konfiguracji. Zobacz %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Pliki aplikacji %1$s nie zostały zastąpione prawidłowo. Upewnij się, że to jest wersja kompatybilna z serwerem.",
"Sample configuration detected" : "Wykryto przykładową konfigurację",
"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" : "Wykryto skopiowanie przykładowej konfiguracji. To może popsuć Twoją instalację i nie jest wspierane. Proszę przeczytać dokumentację przed dokonywaniem zmian w config.php",
@@ -42,6 +43,8 @@
"File name is too long" : "Nazwa pliku zbyt długa",
"Dot files are not allowed" : "Pliki z kropką są nie dozwolone",
"Empty filename is not allowed" : "Pusta nazwa nie jest dozwolona.",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ plik informacyjny nie może zostać odczytany.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ jest niekompatybilna z obecną wersją serwera.",
"This is an automatically sent email, please do not reply." : "To jest automatycznie wysłany e-mail, proszę nie odpowiadać na niego.",
"Help" : "Pomoc",
"Apps" : "Aplikacje",
@@ -163,8 +166,6 @@
"The username is already being used" : "Ta nazwa użytkownika jest już używana",
"User disabled" : "Użytkownik zablokowany",
"Login canceled by app" : "Zalogowanie anulowane przez aplikację",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ plik informacyjny nie może zostać odczytany.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ jest niekompatybilna z obecną wersją serwera.",
"No app name specified" : "Nie określono nazwy aplikacji",
"App '%s' could not be installed!" : "Aplikacja '%s' nie mogła zostać zainstalowana!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Aplikacja \"%s\" nie może zostać zainstalowana, ponieważ następujące zależności nie zostały spełnione: %s",
diff --git a/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js
index 0bd92e97d21..d13d0bc1f9a 100644
--- a/lib/l10n/pt_BR.js
+++ b/lib/l10n/pt_BR.js
@@ -4,6 +4,7 @@ OC.L10N.register(
"Cannot write into \"config\" directory!" : "Não foi possível gravar no diretório \"config\"!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Isso geralmente pode ser corrigido dando o acesso de gravação ao webserver para o diretório de configuração",
"See %s" : "Ver %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Normalmente isso pode ser resolvido dando ao webserver permissão de escrita no diretório config. Veja %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Os arquivos do aplicativo %$1s não foram substituídos corretamente. Certifique-se de que é uma versão compatível com o servidor.",
"Sample configuration detected" : "Configuração de exemplo detectada",
"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" : "Foi detectado que a configuração de exemplo foi copiada. Isso pode desestabilizar sua instalação e não é suportado. Por favor leia a documentação antes de realizar mudanças no config.php",
@@ -44,6 +45,8 @@ OC.L10N.register(
"File name is too long" : "O nome do arquivo é muito longo",
"Dot files are not allowed" : "Arquivos Dot não são permitidos",
"Empty filename is not allowed" : "Nome vazio para arquivo não é permitido.",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "O aplicativo \"%s\" não pode ser instalado pois o arquivo appinfo não pôde ser lido.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "O aplicativo \"%s\" não pode ser instalado pois não é compatível com a versão do servidor.",
"This is an automatically sent email, please do not reply." : "Este é um e-mail enviado automaticamente. Por favor, não responda.",
"Help" : "Ajuda",
"Apps" : "Aplicativos",
@@ -165,8 +168,6 @@ OC.L10N.register(
"The username is already being used" : "Este nome de usuário já está em uso",
"User disabled" : "Usuário desativado",
"Login canceled by app" : "Login cancelado pelo aplicativo",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "O aplicativo \"%s\" não pode ser instalado pois o arquivo appinfo não pôde ser lido.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "O aplicativo \"%s\" não pode ser instalado pois não é compatível com a versão do servidor.",
"No app name specified" : "O nome do aplicativo não foi especificado.",
"App '%s' could not be installed!" : "O aplicativo '%s' não pôde ser instalado!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "O aplicativo \"%s\" não pode ser instalado pois as seguintes dependências não foram cumpridas: %s",
@@ -180,7 +181,10 @@ OC.L10N.register(
"No database drivers (sqlite, mysql, or postgresql) installed." : "Nenhum driver de banco de dados (sqlite, mysql ou postgresql) instalado.",
"Cannot write into \"config\" directory" : "Não foi possível gravar no diretório \"config\"",
"Cannot write into \"apps\" directory" : "Não foi possível gravar no diretório \"apps\"",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Normalmente isso pode ser resolvido dando ao webserver permissão de escrita no diretório apps ou desabilitando a appstore no arquivo de configuração. Veja %s",
"Cannot create \"data\" directory" : "Não foi possível criar o diretório de dados",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Normalmente isso pode ser resolvido dando ao webserver permissão de escrita no diretório raiz. Veja %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "As permissões normalmente podem ser corrigidas dando permissão de escrita do diretório raiz para o servidor web. Veja %s.",
"Setting locale to %s failed" : "Falha ao configurar localização para %s",
"Please install one of these locales on your system and restart your webserver." : "Por favor, defina uma dessas localizações em seu sistema e reinicie o seu servidor web.",
"Please ask your server administrator to install the module." : "Por favor, peça ao administrador do servidor para instalar o módulo.",
diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json
index 51ef8a6a778..4b52bcdeb20 100644
--- a/lib/l10n/pt_BR.json
+++ b/lib/l10n/pt_BR.json
@@ -2,6 +2,7 @@
"Cannot write into \"config\" directory!" : "Não foi possível gravar no diretório \"config\"!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Isso geralmente pode ser corrigido dando o acesso de gravação ao webserver para o diretório de configuração",
"See %s" : "Ver %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Normalmente isso pode ser resolvido dando ao webserver permissão de escrita no diretório config. Veja %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Os arquivos do aplicativo %$1s não foram substituídos corretamente. Certifique-se de que é uma versão compatível com o servidor.",
"Sample configuration detected" : "Configuração de exemplo detectada",
"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" : "Foi detectado que a configuração de exemplo foi copiada. Isso pode desestabilizar sua instalação e não é suportado. Por favor leia a documentação antes de realizar mudanças no config.php",
@@ -42,6 +43,8 @@
"File name is too long" : "O nome do arquivo é muito longo",
"Dot files are not allowed" : "Arquivos Dot não são permitidos",
"Empty filename is not allowed" : "Nome vazio para arquivo não é permitido.",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "O aplicativo \"%s\" não pode ser instalado pois o arquivo appinfo não pôde ser lido.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "O aplicativo \"%s\" não pode ser instalado pois não é compatível com a versão do servidor.",
"This is an automatically sent email, please do not reply." : "Este é um e-mail enviado automaticamente. Por favor, não responda.",
"Help" : "Ajuda",
"Apps" : "Aplicativos",
@@ -163,8 +166,6 @@
"The username is already being used" : "Este nome de usuário já está em uso",
"User disabled" : "Usuário desativado",
"Login canceled by app" : "Login cancelado pelo aplicativo",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "O aplicativo \"%s\" não pode ser instalado pois o arquivo appinfo não pôde ser lido.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "O aplicativo \"%s\" não pode ser instalado pois não é compatível com a versão do servidor.",
"No app name specified" : "O nome do aplicativo não foi especificado.",
"App '%s' could not be installed!" : "O aplicativo '%s' não pôde ser instalado!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "O aplicativo \"%s\" não pode ser instalado pois as seguintes dependências não foram cumpridas: %s",
@@ -178,7 +179,10 @@
"No database drivers (sqlite, mysql, or postgresql) installed." : "Nenhum driver de banco de dados (sqlite, mysql ou postgresql) instalado.",
"Cannot write into \"config\" directory" : "Não foi possível gravar no diretório \"config\"",
"Cannot write into \"apps\" directory" : "Não foi possível gravar no diretório \"apps\"",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Normalmente isso pode ser resolvido dando ao webserver permissão de escrita no diretório apps ou desabilitando a appstore no arquivo de configuração. Veja %s",
"Cannot create \"data\" directory" : "Não foi possível criar o diretório de dados",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Normalmente isso pode ser resolvido dando ao webserver permissão de escrita no diretório raiz. Veja %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "As permissões normalmente podem ser corrigidas dando permissão de escrita do diretório raiz para o servidor web. Veja %s.",
"Setting locale to %s failed" : "Falha ao configurar localização para %s",
"Please install one of these locales on your system and restart your webserver." : "Por favor, defina uma dessas localizações em seu sistema e reinicie o seu servidor web.",
"Please ask your server administrator to install the module." : "Por favor, peça ao administrador do servidor para instalar o módulo.",
diff --git a/lib/l10n/ru.js b/lib/l10n/ru.js
index 4e498aaddb4..e05f6ac024f 100644
--- a/lib/l10n/ru.js
+++ b/lib/l10n/ru.js
@@ -1,9 +1,10 @@
OC.L10N.register(
"lib",
{
- "Cannot write into \"config\" directory!" : "Запись в каталог \"config\" невозможна!",
+ "Cannot write into \"config\" directory!" : "Запись в каталог «config» невозможна!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Обычно это можно исправить, предоставив веб-серверу права на запись в каталог конфигурации",
"See %s" : "Смотрите %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Обычно это можно исправить, предоставив веб-серверу права на запись в каталог конфигурации. Смотрите %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Файлы приложения %$1s не заменены корректно. Проверьте что его версия совместима с версией сервера.",
"Sample configuration detected" : "Обнаружена конфигурация из примера",
"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" : "Была обнаружена конфигурация из примера. Такая конфигурация не поддерживается и может повредить вашей системе. Прочтите документацию перед внесением изменений в файл config.php",
@@ -44,6 +45,8 @@ OC.L10N.register(
"File name is too long" : "Имя файла слишком длинное.",
"Dot files are not allowed" : "Файлы начинающиеся с точки не допускаются",
"Empty filename is not allowed" : "Пустое имя файла не допускается",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Приложение «%s» не может быть установлено, так как файл с информацией о приложении не может быть прочтен.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Приложение «%s» не может быть установлено, потому что оно несовместимо с этой версией сервера",
"This is an automatically sent email, please do not reply." : "Это соощение отправлено автоматически, пожалуйста, не отвечайте на него.",
"Help" : "Помощь",
"Apps" : "Приложения",
@@ -65,10 +68,10 @@ OC.L10N.register(
"%s you may not use dots in the database name" : "%s Вы не можете использовать точки в имени базы данных",
"Oracle connection could not be established" : "Соединение с Oracle не может быть установлено",
"Oracle username and/or password not valid" : "Неверное имя пользователя и/или пароль Oracle",
- "DB Error: \"%s\"" : "Ошибка БД: \"%s\"",
- "Offending command was: \"%s\"" : "Вызываемая команда была: \"%s\"",
+ "DB Error: \"%s\"" : "Ошибка БД: «%s»",
+ "Offending command was: \"%s\"" : "Вызываемая команда была: «%s»",
"You need to enter details of an existing account." : "Необходимо уточнить данные существующего акаунта.",
- "Offending command was: \"%s\", name: %s, password: %s" : "Вызываемая команда была: \"%s\", имя: %s, пароль: %s",
+ "Offending command was: \"%s\", name: %s, password: %s" : "Вызываемая команда была: «%s», имя: %s, пароль: %s",
"PostgreSQL username and/or password not valid" : "Неверное имя пользователя и/или пароль PostgreSQL",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X не поддерживается и %s может работать некорректно на данной платформе. Используйте на свой страх и риск!",
"For the best results, please consider using a GNU/Linux server instead." : "Для достижения наилучших результатов, рассмотрите вариант использования сервера на GNU/Linux.",
@@ -111,7 +114,7 @@ OC.L10N.register(
"Files can't be shared with create permissions" : "Файлы не могут иметь общий доступ с правами на создание",
"Expiration date is in the past" : "Дата окончания срока действия уже прошла",
"Cannot set expiration date more than %s days in the future" : "Невозможно установить дату окончания срока действия более %s дней",
- "Could not find category \"%s\"" : "Категория \"%s\" не найдена",
+ "Could not find category \"%s\"" : "Категория «%s» не найдена",
"Sunday" : "Воскресенье",
"Monday" : "Понедельник",
"Tuesday" : "Вторник",
@@ -157,7 +160,7 @@ OC.L10N.register(
"Oct." : "Окт.",
"Nov." : "Нояб.",
"Dec." : "Дек.",
- "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "В составе имени пользователя допускаются следующие символы: \"a-z\", \"A-Z\", \"0-9\" и \"_.@-'\"",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "В составе имени пользователя допускаются следующие символы: «a–z», «A–Z», «0–9» и «_.@-'»",
"A valid username must be provided" : "Укажите допустимое имя пользователя",
"Username contains whitespace at the beginning or at the end" : "Имя пользователя содержит пробел в начале или в конце",
"Username must not consist of dots only" : "Имя пользователя должно состоять не только из точек",
@@ -165,11 +168,9 @@ OC.L10N.register(
"The username is already being used" : "Имя пользователя уже используется",
"User disabled" : "Пользователь отключен",
"Login canceled by app" : "Вход отменен приложением",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Приложение \"%s\" не может быть установлено, так как файл с информацией о приложении не может быть прочтен.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Приложение \"%s\" не может быть установлено, потому что оно несовместимо с этой версией сервера",
"No app name specified" : "Не указано имя приложения",
"App '%s' could not be installed!" : "Приложение '%s' не может быть установлено!",
- "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Приложение \"%s\" не может быть установлено, так как следующие зависимости не выполнены: %s",
+ "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Приложение «%s» не может быть установлено, так как следующие зависимости не выполнены: %s",
"a safe home for all your data" : "надежный дом для всех ваших данных",
"File is currently busy, please try again later" : "Файл в данный момент используется, повторите попытку позже.",
"Can't read file" : "Не удается прочитать файл",
@@ -178,16 +179,19 @@ OC.L10N.register(
"Token expired. Please reload page." : "Токен просрочен. Перезагрузите страницу.",
"Unknown user" : "Неизвестный пользователь",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Не установлены драйвера баз данных (sqlite, mysql или postgresql)",
- "Cannot write into \"config\" directory" : "Запись в каталог \"config\" невозможна",
- "Cannot write into \"apps\" directory" : "Запись в каталог \"app\" невозможна",
+ "Cannot write into \"config\" directory" : "Запись в каталог «config» невозможна",
+ "Cannot write into \"apps\" directory" : "Запись в каталог «app» невозможна",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Обычно это можно исправить, предоставив веб-серверу права на запись в каталог приложений или отключив магазин приложений в файле конфигурации. Смотрите %s",
"Cannot create \"data\" directory" : "Невозможно создать каталог «data»",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Обычно это можно исправить, предоставив веб-серверу права на запись в корневой каталог. Смотрите %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Разрешения обычно можно исправить, предоставив веб-серверу право на запись в корневой каталог. Смотрите %s.",
"Setting locale to %s failed" : "Установка локали %s не удалась",
"Please install one of these locales on your system and restart your webserver." : "Установите один из этих языковых пакетов на вашу систему и перезапустите веб-сервер.",
"Please ask your server administrator to install the module." : "Пожалуйста, попростите администратора сервера установить модуль.",
"PHP module %s not installed." : "Не установлен PHP-модуль %s.",
- "PHP setting \"%s\" is not set to \"%s\"." : "Параметр PHP \"%s\" не установлен в \"%s\".",
+ "PHP setting \"%s\" is not set to \"%s\"." : "Параметру PHP «%s» не присвоено значение «%s».",
"Adjusting this setting in php.ini will make Nextcloud run again" : "Настройка этого параметра в php.ini поможет Nextcloud работать снова",
- "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload установлен в \"%s\", при этом требуется \"0\"",
+ "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload установлен в «%s», при этом требуется «0»",
"To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Чтобы исправить эту проблему установите параметр <code>mbstring.func_overload</code> в значение <code>0</code> в php.ini",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "Требуется как минимум libxml2 версии 2.7.0. На данный момент установлена %s.",
"To fix this issue update your libxml2 version and restart your web server." : "Для исправления этой ошибки обновите версию libxml2 и перезапустите ваш веб-сервер.",
@@ -200,10 +204,10 @@ OC.L10N.register(
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Измените права доступа на 0770, чтобы другие пользователи не могли получить список файлов этого каталога.",
"Your data directory is readable by other users" : "Каталог данных доступен для чтения другим пользователям",
"Your data directory must be an absolute path" : "Каталог данных должен быть указан в виде абсолютного пути",
- "Check the value of \"datadirectory\" in your configuration" : "Проверьте значение \"datadirectory\" в настройках.",
+ "Check the value of \"datadirectory\" in your configuration" : "Проверьте значение «datadirectory» в настройках.",
"Your data directory is invalid" : "Каталог данных не верен",
- "Please check that the data directory contains a file \".ocdata\" in its root." : "Убедитесь, что файл \".ocdata\" присутствует в корне каталога данных.",
- "Could not obtain lock type %d on \"%s\"." : "Не удалось получить блокировку типа %d для \"%s\"",
+ "Please check that the data directory contains a file \".ocdata\" in its root." : "Убедитесь, что файл «.ocdata» присутствует в корне каталога данных.",
+ "Could not obtain lock type %d on \"%s\"." : "Не удалось получить блокировку типа %d для «%s»",
"Storage unauthorized. %s" : "Хранилище неавторизовано. %s",
"Storage incomplete configuration. %s" : "Неполная конфигурация хранилища. %s",
"Storage connection error. %s" : "Ошибка подключения к хранилищу. %s",
@@ -216,7 +220,7 @@ OC.L10N.register(
"%s shared »%s« with you" : "%s поделился »%s« с вами",
"%s via %s" : "%s через %s",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Обычно это можно исправить, %sпредоставив веб-серверу права на запись в каталог приложений%s или отключив магазин приложений в файле конфигурации.",
- "Cannot create \"data\" directory (%s)" : "Невозможно создать каталог \"data\" (%s)",
+ "Cannot create \"data\" directory (%s)" : "Невозможно создать каталог «data» (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Обычно это можно исправить <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">предоставив веб-серверу права на запись в корневом каталоге</a>.",
"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Обычно это можно исправить, %sпредоставив веб-серверу права на запись в корневой каталог%s.",
"Data directory (%s) is readable by other users" : "Каталог данных (%s) доступен для чтения другим пользователям",
diff --git a/lib/l10n/ru.json b/lib/l10n/ru.json
index 1d0b03e81ce..c6e0ba8c08a 100644
--- a/lib/l10n/ru.json
+++ b/lib/l10n/ru.json
@@ -1,7 +1,8 @@
{ "translations": {
- "Cannot write into \"config\" directory!" : "Запись в каталог \"config\" невозможна!",
+ "Cannot write into \"config\" directory!" : "Запись в каталог «config» невозможна!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Обычно это можно исправить, предоставив веб-серверу права на запись в каталог конфигурации",
"See %s" : "Смотрите %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Обычно это можно исправить, предоставив веб-серверу права на запись в каталог конфигурации. Смотрите %s",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "Файлы приложения %$1s не заменены корректно. Проверьте что его версия совместима с версией сервера.",
"Sample configuration detected" : "Обнаружена конфигурация из примера",
"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" : "Была обнаружена конфигурация из примера. Такая конфигурация не поддерживается и может повредить вашей системе. Прочтите документацию перед внесением изменений в файл config.php",
@@ -42,6 +43,8 @@
"File name is too long" : "Имя файла слишком длинное.",
"Dot files are not allowed" : "Файлы начинающиеся с точки не допускаются",
"Empty filename is not allowed" : "Пустое имя файла не допускается",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Приложение «%s» не может быть установлено, так как файл с информацией о приложении не может быть прочтен.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Приложение «%s» не может быть установлено, потому что оно несовместимо с этой версией сервера",
"This is an automatically sent email, please do not reply." : "Это соощение отправлено автоматически, пожалуйста, не отвечайте на него.",
"Help" : "Помощь",
"Apps" : "Приложения",
@@ -63,10 +66,10 @@
"%s you may not use dots in the database name" : "%s Вы не можете использовать точки в имени базы данных",
"Oracle connection could not be established" : "Соединение с Oracle не может быть установлено",
"Oracle username and/or password not valid" : "Неверное имя пользователя и/или пароль Oracle",
- "DB Error: \"%s\"" : "Ошибка БД: \"%s\"",
- "Offending command was: \"%s\"" : "Вызываемая команда была: \"%s\"",
+ "DB Error: \"%s\"" : "Ошибка БД: «%s»",
+ "Offending command was: \"%s\"" : "Вызываемая команда была: «%s»",
"You need to enter details of an existing account." : "Необходимо уточнить данные существующего акаунта.",
- "Offending command was: \"%s\", name: %s, password: %s" : "Вызываемая команда была: \"%s\", имя: %s, пароль: %s",
+ "Offending command was: \"%s\", name: %s, password: %s" : "Вызываемая команда была: «%s», имя: %s, пароль: %s",
"PostgreSQL username and/or password not valid" : "Неверное имя пользователя и/или пароль PostgreSQL",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X не поддерживается и %s может работать некорректно на данной платформе. Используйте на свой страх и риск!",
"For the best results, please consider using a GNU/Linux server instead." : "Для достижения наилучших результатов, рассмотрите вариант использования сервера на GNU/Linux.",
@@ -109,7 +112,7 @@
"Files can't be shared with create permissions" : "Файлы не могут иметь общий доступ с правами на создание",
"Expiration date is in the past" : "Дата окончания срока действия уже прошла",
"Cannot set expiration date more than %s days in the future" : "Невозможно установить дату окончания срока действия более %s дней",
- "Could not find category \"%s\"" : "Категория \"%s\" не найдена",
+ "Could not find category \"%s\"" : "Категория «%s» не найдена",
"Sunday" : "Воскресенье",
"Monday" : "Понедельник",
"Tuesday" : "Вторник",
@@ -155,7 +158,7 @@
"Oct." : "Окт.",
"Nov." : "Нояб.",
"Dec." : "Дек.",
- "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "В составе имени пользователя допускаются следующие символы: \"a-z\", \"A-Z\", \"0-9\" и \"_.@-'\"",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "В составе имени пользователя допускаются следующие символы: «a–z», «A–Z», «0–9» и «_.@-'»",
"A valid username must be provided" : "Укажите допустимое имя пользователя",
"Username contains whitespace at the beginning or at the end" : "Имя пользователя содержит пробел в начале или в конце",
"Username must not consist of dots only" : "Имя пользователя должно состоять не только из точек",
@@ -163,11 +166,9 @@
"The username is already being used" : "Имя пользователя уже используется",
"User disabled" : "Пользователь отключен",
"Login canceled by app" : "Вход отменен приложением",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Приложение \"%s\" не может быть установлено, так как файл с информацией о приложении не может быть прочтен.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Приложение \"%s\" не может быть установлено, потому что оно несовместимо с этой версией сервера",
"No app name specified" : "Не указано имя приложения",
"App '%s' could not be installed!" : "Приложение '%s' не может быть установлено!",
- "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Приложение \"%s\" не может быть установлено, так как следующие зависимости не выполнены: %s",
+ "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Приложение «%s» не может быть установлено, так как следующие зависимости не выполнены: %s",
"a safe home for all your data" : "надежный дом для всех ваших данных",
"File is currently busy, please try again later" : "Файл в данный момент используется, повторите попытку позже.",
"Can't read file" : "Не удается прочитать файл",
@@ -176,16 +177,19 @@
"Token expired. Please reload page." : "Токен просрочен. Перезагрузите страницу.",
"Unknown user" : "Неизвестный пользователь",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Не установлены драйвера баз данных (sqlite, mysql или postgresql)",
- "Cannot write into \"config\" directory" : "Запись в каталог \"config\" невозможна",
- "Cannot write into \"apps\" directory" : "Запись в каталог \"app\" невозможна",
+ "Cannot write into \"config\" directory" : "Запись в каталог «config» невозможна",
+ "Cannot write into \"apps\" directory" : "Запись в каталог «app» невозможна",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Обычно это можно исправить, предоставив веб-серверу права на запись в каталог приложений или отключив магазин приложений в файле конфигурации. Смотрите %s",
"Cannot create \"data\" directory" : "Невозможно создать каталог «data»",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Обычно это можно исправить, предоставив веб-серверу права на запись в корневой каталог. Смотрите %s",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "Разрешения обычно можно исправить, предоставив веб-серверу право на запись в корневой каталог. Смотрите %s.",
"Setting locale to %s failed" : "Установка локали %s не удалась",
"Please install one of these locales on your system and restart your webserver." : "Установите один из этих языковых пакетов на вашу систему и перезапустите веб-сервер.",
"Please ask your server administrator to install the module." : "Пожалуйста, попростите администратора сервера установить модуль.",
"PHP module %s not installed." : "Не установлен PHP-модуль %s.",
- "PHP setting \"%s\" is not set to \"%s\"." : "Параметр PHP \"%s\" не установлен в \"%s\".",
+ "PHP setting \"%s\" is not set to \"%s\"." : "Параметру PHP «%s» не присвоено значение «%s».",
"Adjusting this setting in php.ini will make Nextcloud run again" : "Настройка этого параметра в php.ini поможет Nextcloud работать снова",
- "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload установлен в \"%s\", при этом требуется \"0\"",
+ "mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload установлен в «%s», при этом требуется «0»",
"To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "Чтобы исправить эту проблему установите параметр <code>mbstring.func_overload</code> в значение <code>0</code> в php.ini",
"libxml2 2.7.0 is at least required. Currently %s is installed." : "Требуется как минимум libxml2 версии 2.7.0. На данный момент установлена %s.",
"To fix this issue update your libxml2 version and restart your web server." : "Для исправления этой ошибки обновите версию libxml2 и перезапустите ваш веб-сервер.",
@@ -198,10 +202,10 @@
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Измените права доступа на 0770, чтобы другие пользователи не могли получить список файлов этого каталога.",
"Your data directory is readable by other users" : "Каталог данных доступен для чтения другим пользователям",
"Your data directory must be an absolute path" : "Каталог данных должен быть указан в виде абсолютного пути",
- "Check the value of \"datadirectory\" in your configuration" : "Проверьте значение \"datadirectory\" в настройках.",
+ "Check the value of \"datadirectory\" in your configuration" : "Проверьте значение «datadirectory» в настройках.",
"Your data directory is invalid" : "Каталог данных не верен",
- "Please check that the data directory contains a file \".ocdata\" in its root." : "Убедитесь, что файл \".ocdata\" присутствует в корне каталога данных.",
- "Could not obtain lock type %d on \"%s\"." : "Не удалось получить блокировку типа %d для \"%s\"",
+ "Please check that the data directory contains a file \".ocdata\" in its root." : "Убедитесь, что файл «.ocdata» присутствует в корне каталога данных.",
+ "Could not obtain lock type %d on \"%s\"." : "Не удалось получить блокировку типа %d для «%s»",
"Storage unauthorized. %s" : "Хранилище неавторизовано. %s",
"Storage incomplete configuration. %s" : "Неполная конфигурация хранилища. %s",
"Storage connection error. %s" : "Ошибка подключения к хранилищу. %s",
@@ -214,7 +218,7 @@
"%s shared »%s« with you" : "%s поделился »%s« с вами",
"%s via %s" : "%s через %s",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Обычно это можно исправить, %sпредоставив веб-серверу права на запись в каталог приложений%s или отключив магазин приложений в файле конфигурации.",
- "Cannot create \"data\" directory (%s)" : "Невозможно создать каталог \"data\" (%s)",
+ "Cannot create \"data\" directory (%s)" : "Невозможно создать каталог «data» (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Обычно это можно исправить <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">предоставив веб-серверу права на запись в корневом каталоге</a>.",
"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Обычно это можно исправить, %sпредоставив веб-серверу права на запись в корневой каталог%s.",
"Data directory (%s) is readable by other users" : "Каталог данных (%s) доступен для чтения другим пользователям",
diff --git a/lib/l10n/sk.js b/lib/l10n/sk.js
index 90824feb8cf..9ae8ccdfc11 100644
--- a/lib/l10n/sk.js
+++ b/lib/l10n/sk.js
@@ -40,6 +40,8 @@ OC.L10N.register(
"File name is too long" : "Meno súboru je veľmi dlhé.",
"Dot files are not allowed" : "Názov súboru začínajúci bodkou nie je povolený.",
"Empty filename is not allowed" : "Prázdny názov súboru nie je povolený",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikáciu \"%s\" nie je možné nainštalovať, lebo nebolo možné načítať súbor s informáciami o aplikácií.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikácia \"%s\" nie je kompatibilná s verziou servera, preto nemôže byť nainštalovaná.",
"Help" : "Pomoc",
"Apps" : "Aplikácie",
"Personal" : "Osobné",
@@ -151,8 +153,6 @@ OC.L10N.register(
"The username is already being used" : "Meno používateľa je už použité",
"User disabled" : "Používateľ zakázaný",
"Login canceled by app" : "Prihlásenie bolo zrušené aplikáciou",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikáciu \"%s\" nie je možné nainštalovať, lebo nebolo možné načítať súbor s informáciami o aplikácií.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikácia \"%s\" nie je kompatibilná s verziou servera, preto nemôže byť nainštalovaná.",
"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",
diff --git a/lib/l10n/sk.json b/lib/l10n/sk.json
index 55ea99e8a60..fc4fd9e8327 100644
--- a/lib/l10n/sk.json
+++ b/lib/l10n/sk.json
@@ -38,6 +38,8 @@
"File name is too long" : "Meno súboru je veľmi dlhé.",
"Dot files are not allowed" : "Názov súboru začínajúci bodkou nie je povolený.",
"Empty filename is not allowed" : "Prázdny názov súboru nie je povolený",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikáciu \"%s\" nie je možné nainštalovať, lebo nebolo možné načítať súbor s informáciami o aplikácií.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikácia \"%s\" nie je kompatibilná s verziou servera, preto nemôže byť nainštalovaná.",
"Help" : "Pomoc",
"Apps" : "Aplikácie",
"Personal" : "Osobné",
@@ -149,8 +151,6 @@
"The username is already being used" : "Meno používateľa je už použité",
"User disabled" : "Používateľ zakázaný",
"Login canceled by app" : "Prihlásenie bolo zrušené aplikáciou",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikáciu \"%s\" nie je možné nainštalovať, lebo nebolo možné načítať súbor s informáciami o aplikácií.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikácia \"%s\" nie je kompatibilná s verziou servera, preto nemôže byť nainštalovaná.",
"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",
diff --git a/lib/l10n/sq.js b/lib/l10n/sq.js
index 53ac0f243cf..5ef61291c12 100644
--- a/lib/l10n/sq.js
+++ b/lib/l10n/sq.js
@@ -40,6 +40,8 @@ OC.L10N.register(
"File name is too long" : "Emri i kartelës është shumë i gjatë",
"Dot files are not allowed" : "Nuk lejohen kartela të fshehura",
"Empty filename is not allowed" : "Nuk lejohen emra të zbrazët kartelash",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacioni \"%s\" s’mund të instalohet, ngaqë s’lexohet dot kartela appinfo.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacioni \"%s\" nuk mund të instalohet sepse nuk përputhet me këtë version të serverit.",
"Help" : "Ndihmë",
"Apps" : "Aplikacione",
"Personal" : "Personale",
@@ -155,8 +157,6 @@ OC.L10N.register(
"The username is already being used" : "Emri i përdoruesit është tashmë i përdorur",
"User disabled" : "Përdorues i çaktivizuar",
"Login canceled by app" : "Hyrja u anulua nga aplikacioni",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacioni \"%s\" s’mund të instalohet, ngaqë s’lexohet dot kartela appinfo.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacioni \"%s\" nuk mund të instalohet sepse nuk përputhet me këtë version të serverit.",
"No app name specified" : "S’u dha emër aplikacioni",
"App '%s' could not be installed!" : "Aplikacioni \"%s\" nuk mund të instalohet!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Përditësimi \"%s\" s’instalohet dot, ngaqë s’plotësohen varësitë vijuese: %s.",
diff --git a/lib/l10n/sq.json b/lib/l10n/sq.json
index dbd3334ce80..b884ab5bfc3 100644
--- a/lib/l10n/sq.json
+++ b/lib/l10n/sq.json
@@ -38,6 +38,8 @@
"File name is too long" : "Emri i kartelës është shumë i gjatë",
"Dot files are not allowed" : "Nuk lejohen kartela të fshehura",
"Empty filename is not allowed" : "Nuk lejohen emra të zbrazët kartelash",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacioni \"%s\" s’mund të instalohet, ngaqë s’lexohet dot kartela appinfo.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacioni \"%s\" nuk mund të instalohet sepse nuk përputhet me këtë version të serverit.",
"Help" : "Ndihmë",
"Apps" : "Aplikacione",
"Personal" : "Personale",
@@ -153,8 +155,6 @@
"The username is already being used" : "Emri i përdoruesit është tashmë i përdorur",
"User disabled" : "Përdorues i çaktivizuar",
"Login canceled by app" : "Hyrja u anulua nga aplikacioni",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Aplikacioni \"%s\" s’mund të instalohet, ngaqë s’lexohet dot kartela appinfo.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Aplikacioni \"%s\" nuk mund të instalohet sepse nuk përputhet me këtë version të serverit.",
"No app name specified" : "S’u dha emër aplikacioni",
"App '%s' could not be installed!" : "Aplikacioni \"%s\" nuk mund të instalohet!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Përditësimi \"%s\" s’instalohet dot, ngaqë s’plotësohen varësitë vijuese: %s.",
diff --git a/lib/l10n/sv.js b/lib/l10n/sv.js
index dcbf7fb2d8c..8d4812f7617 100644
--- a/lib/l10n/sv.js
+++ b/lib/l10n/sv.js
@@ -40,6 +40,8 @@ OC.L10N.register(
"File name is too long" : "Filnamnet är för långt",
"Dot files are not allowed" : "Dot filer är inte tillåtna",
"Empty filename is not allowed" : "Tomma filnamn är inte tillåtna",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Applikationen \"%s\" kan ej installeras eftersom informationen från appen ej kunde läsas.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Applikationen \"%s\" kan ej installeras eftersom den inte är kompatibel med denna serverversion.",
"This is an automatically sent email, please do not reply." : "Detta är ett automatiskt skickat e-postmeddelande, svara inte på detta mejl.",
"Help" : "Hjälp",
"Apps" : "Applikationer",
@@ -161,8 +163,6 @@ OC.L10N.register(
"The username is already being used" : "Användarnamnet används redan",
"User disabled" : "Användare inaktiverad",
"Login canceled by app" : "Inloggningen avbruten av appen",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Applikationen \"%s\" kan ej installeras eftersom informationen från appen ej kunde läsas.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Applikationen \"%s\" kan ej installeras eftersom den inte är kompatibel med denna serverversion.",
"No app name specified" : "Inget appnamn angivet",
"App '%s' could not be installed!" : "Applikationen \"%s\" gick inte att installera!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Applikationen \"%s\" kan ej installeras eftersom följande kriterier inte är uppfyllda: %s",
diff --git a/lib/l10n/sv.json b/lib/l10n/sv.json
index d1f979e51da..484d81b65db 100644
--- a/lib/l10n/sv.json
+++ b/lib/l10n/sv.json
@@ -38,6 +38,8 @@
"File name is too long" : "Filnamnet är för långt",
"Dot files are not allowed" : "Dot filer är inte tillåtna",
"Empty filename is not allowed" : "Tomma filnamn är inte tillåtna",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "Applikationen \"%s\" kan ej installeras eftersom informationen från appen ej kunde läsas.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Applikationen \"%s\" kan ej installeras eftersom den inte är kompatibel med denna serverversion.",
"This is an automatically sent email, please do not reply." : "Detta är ett automatiskt skickat e-postmeddelande, svara inte på detta mejl.",
"Help" : "Hjälp",
"Apps" : "Applikationer",
@@ -159,8 +161,6 @@
"The username is already being used" : "Användarnamnet används redan",
"User disabled" : "Användare inaktiverad",
"Login canceled by app" : "Inloggningen avbruten av appen",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "Applikationen \"%s\" kan ej installeras eftersom informationen från appen ej kunde läsas.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Applikationen \"%s\" kan ej installeras eftersom den inte är kompatibel med denna serverversion.",
"No app name specified" : "Inget appnamn angivet",
"App '%s' could not be installed!" : "Applikationen \"%s\" gick inte att installera!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Applikationen \"%s\" kan ej installeras eftersom följande kriterier inte är uppfyllda: %s",
diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js
index 54a557cb2a2..a391642129a 100644
--- a/lib/l10n/tr.js
+++ b/lib/l10n/tr.js
@@ -4,6 +4,7 @@ OC.L10N.register(
"Cannot write into \"config\" directory!" : "\"config\" klasörüne yazılamadı!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Bu sorun genellikle, web sunucusuna config klasörüne yazma izni verilerek çözülebilir",
"See %s" : "Şuraya bakın: %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Bu sorun genellikle, web sunucusuna config klasörüne yazma izni verilerek çözülebilir. %s bölümüne bakın",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "%1$s uygulamasının dosyaları doğru şekilde değiştirilmedi. Sunucu ile uyumlu dosyaların yüklü olduğundan emin olun.",
"Sample configuration detected" : "Örnek yapılandırma algılandı",
"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" : "Örnek yapılandırmanın kopyalanmış olabileceği tespit edildi. Bu durum kurulumunuzu bozabilir ve desteklenmez. Lütfen config.php dosyasında değişiklik yapmadan önce belgeleri okuyun",
@@ -44,6 +45,8 @@ OC.L10N.register(
"File name is too long" : "Dosya adı çok uzun",
"Dot files are not allowed" : "Nokta dosyalarına izin verilmiyor",
"Empty filename is not allowed" : "Boş dosya adına izin verilmiyor",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo dosyası okunamadığından \"%s\" uygulaması kurulamaz.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" uygulaması sunucu sürümüyle uyumlu olmadığından kurulamaz.",
"This is an automatically sent email, please do not reply." : "Bu ileti otomatik olarak gönderildiğinden lütfen yanıtlamayın.",
"Help" : "Yardım",
"Apps" : "Uygulamalar",
@@ -65,7 +68,7 @@ OC.L10N.register(
"%s you may not use dots in the database name" : "%s veritabanı adında nokta kullanamayabilirsiniz",
"Oracle connection could not be established" : "Oracle bağlantısı kurulamadı",
"Oracle username and/or password not valid" : "Oracle kullanıcı adı ya da parolası geçersiz",
- "DB Error: \"%s\"" : "Veritabanı Hatası: \"%s\"",
+ "DB Error: \"%s\"" : "Veritabanı Sorunu: \"%s\"",
"Offending command was: \"%s\"" : "Saldırgan komut: \"%s\"",
"You need to enter details of an existing account." : "Varolan bir hesabın bilgilerini yazmalısınız.",
"Offending command was: \"%s\", name: %s, password: %s" : "Saldırgan komut: \"%s\", kullanıcı adı: %s, parola: %s",
@@ -165,8 +168,6 @@ OC.L10N.register(
"The username is already being used" : "Bu kullanıcı adı zaten var",
"User disabled" : "Kullanıcı devre dışı",
"Login canceled by app" : "Oturum açma işlemi uygulama tarafından iptal edildi",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo dosyası okunamadığından \"%s\" uygulaması kurulamaz.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" uygulaması sunucu sürümüyle uyumlu olmadığından kurulamaz.",
"No app name specified" : "Uygulama adı belirtilmemiş",
"App '%s' could not be installed!" : "'%s' uygulaması kurulamadı!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "\"%s\" uygulaması, şu gereklilikler sağlanmadığı için kurulamıyor: %s",
@@ -174,13 +175,16 @@ OC.L10N.register(
"File is currently busy, please try again later" : "Dosya şu anda meşgul, lütfen daha sonra deneyin",
"Can't read file" : "Dosya okunamadı",
"Application is not enabled" : "Uygulama etkinleştirilmemiş",
- "Authentication error" : "Kimlik doğrulama hatası",
+ "Authentication error" : "Kimlik doğrulama sorunu",
"Token expired. Please reload page." : "Kodun süresi dolmuş. Lütfen sayfayı yenileyin.",
"Unknown user" : "Kullanıcı bilinmiyor",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Herhangi bir veritabanı sürücüsü (sqlite, mysql ya da postgresql) kurulmamış.",
"Cannot write into \"config\" directory" : "\"config\" klasörüne yazılamıyor",
"Cannot write into \"apps\" directory" : "\"apps\" klasörüne yazılamıyor",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Bu sorun genellikle, web sunucusuna apps klasörüne yazma izni verilerek ya da yapılandırma dosyasından uygulama mağazası devre dışı bırakılarak çözülebilir. %s bölümüne bakın",
"Cannot create \"data\" directory" : "\"data\" klasörü oluşturulamadı",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Bu sorun genellikle, web sunucusuna kök klasöre yazma izni verilerek çözülebilir. %s bölümüne bakın",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "İzinler genellikle, web sunucusuna kök klasöre yazma izni verilerek düzeltilebilir. %s bölümüne bakın.",
"Setting locale to %s failed" : "Dil %s olarak ayarlanamadı",
"Please install one of these locales on your system and restart your webserver." : "Lütfen bu dillerden birini sisteminize kurun ve web sunucunuzu yeniden başlatın.",
"Please ask your server administrator to install the module." : "Lütfen modülü kurması için sunucu yöneticinizle görüşün.",
diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json
index 4ac15a966c2..4018b19c467 100644
--- a/lib/l10n/tr.json
+++ b/lib/l10n/tr.json
@@ -2,6 +2,7 @@
"Cannot write into \"config\" directory!" : "\"config\" klasörüne yazılamadı!",
"This can usually be fixed by giving the webserver write access to the config directory" : "Bu sorun genellikle, web sunucusuna config klasörüne yazma izni verilerek çözülebilir",
"See %s" : "Şuraya bakın: %s",
+ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "Bu sorun genellikle, web sunucusuna config klasörüne yazma izni verilerek çözülebilir. %s bölümüne bakın",
"The files of the app %$1s were not replaced correctly. Make sure it is a version compatible with the server." : "%1$s uygulamasının dosyaları doğru şekilde değiştirilmedi. Sunucu ile uyumlu dosyaların yüklü olduğundan emin olun.",
"Sample configuration detected" : "Örnek yapılandırma algılandı",
"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" : "Örnek yapılandırmanın kopyalanmış olabileceği tespit edildi. Bu durum kurulumunuzu bozabilir ve desteklenmez. Lütfen config.php dosyasında değişiklik yapmadan önce belgeleri okuyun",
@@ -42,6 +43,8 @@
"File name is too long" : "Dosya adı çok uzun",
"Dot files are not allowed" : "Nokta dosyalarına izin verilmiyor",
"Empty filename is not allowed" : "Boş dosya adına izin verilmiyor",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo dosyası okunamadığından \"%s\" uygulaması kurulamaz.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" uygulaması sunucu sürümüyle uyumlu olmadığından kurulamaz.",
"This is an automatically sent email, please do not reply." : "Bu ileti otomatik olarak gönderildiğinden lütfen yanıtlamayın.",
"Help" : "Yardım",
"Apps" : "Uygulamalar",
@@ -63,7 +66,7 @@
"%s you may not use dots in the database name" : "%s veritabanı adında nokta kullanamayabilirsiniz",
"Oracle connection could not be established" : "Oracle bağlantısı kurulamadı",
"Oracle username and/or password not valid" : "Oracle kullanıcı adı ya da parolası geçersiz",
- "DB Error: \"%s\"" : "Veritabanı Hatası: \"%s\"",
+ "DB Error: \"%s\"" : "Veritabanı Sorunu: \"%s\"",
"Offending command was: \"%s\"" : "Saldırgan komut: \"%s\"",
"You need to enter details of an existing account." : "Varolan bir hesabın bilgilerini yazmalısınız.",
"Offending command was: \"%s\", name: %s, password: %s" : "Saldırgan komut: \"%s\", kullanıcı adı: %s, parola: %s",
@@ -163,8 +166,6 @@
"The username is already being used" : "Bu kullanıcı adı zaten var",
"User disabled" : "Kullanıcı devre dışı",
"Login canceled by app" : "Oturum açma işlemi uygulama tarafından iptal edildi",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "appinfo dosyası okunamadığından \"%s\" uygulaması kurulamaz.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" uygulaması sunucu sürümüyle uyumlu olmadığından kurulamaz.",
"No app name specified" : "Uygulama adı belirtilmemiş",
"App '%s' could not be installed!" : "'%s' uygulaması kurulamadı!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "\"%s\" uygulaması, şu gereklilikler sağlanmadığı için kurulamıyor: %s",
@@ -172,13 +173,16 @@
"File is currently busy, please try again later" : "Dosya şu anda meşgul, lütfen daha sonra deneyin",
"Can't read file" : "Dosya okunamadı",
"Application is not enabled" : "Uygulama etkinleştirilmemiş",
- "Authentication error" : "Kimlik doğrulama hatası",
+ "Authentication error" : "Kimlik doğrulama sorunu",
"Token expired. Please reload page." : "Kodun süresi dolmuş. Lütfen sayfayı yenileyin.",
"Unknown user" : "Kullanıcı bilinmiyor",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Herhangi bir veritabanı sürücüsü (sqlite, mysql ya da postgresql) kurulmamış.",
"Cannot write into \"config\" directory" : "\"config\" klasörüne yazılamıyor",
"Cannot write into \"apps\" directory" : "\"apps\" klasörüne yazılamıyor",
+ "This can usually be fixed by giving the webserver write access to the apps directory or disabling the appstore in the config file. See %s" : "Bu sorun genellikle, web sunucusuna apps klasörüne yazma izni verilerek ya da yapılandırma dosyasından uygulama mağazası devre dışı bırakılarak çözülebilir. %s bölümüne bakın",
"Cannot create \"data\" directory" : "\"data\" klasörü oluşturulamadı",
+ "This can usually be fixed by giving the webserver write access to the root directory. See %s" : "Bu sorun genellikle, web sunucusuna kök klasöre yazma izni verilerek çözülebilir. %s bölümüne bakın",
+ "Permissions can usually be fixed by giving the webserver write access to the root directory. See %s." : "İzinler genellikle, web sunucusuna kök klasöre yazma izni verilerek düzeltilebilir. %s bölümüne bakın.",
"Setting locale to %s failed" : "Dil %s olarak ayarlanamadı",
"Please install one of these locales on your system and restart your webserver." : "Lütfen bu dillerden birini sisteminize kurun ve web sunucunuzu yeniden başlatın.",
"Please ask your server administrator to install the module." : "Lütfen modülü kurması için sunucu yöneticinizle görüşün.",
diff --git a/lib/l10n/zh_CN.js b/lib/l10n/zh_CN.js
index 544ae9a68cd..d4863642659 100644
--- a/lib/l10n/zh_CN.js
+++ b/lib/l10n/zh_CN.js
@@ -40,6 +40,9 @@ OC.L10N.register(
"File name is too long" : "文件名过长",
"Dot files are not allowed" : ".文件 不被允许",
"Empty filename is not allowed" : "不允许使用空名称。",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "无法安装应用\"%s\",因为无法读取appinfo文件.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "应用程式 \"%s\" 无法安装,因为它与这个版本的服务器不兼容.",
+ "This is an automatically sent email, please do not reply." : "这是一个自动生成的电子邮件,请不要回复。",
"Help" : "帮助",
"Apps" : "应用",
"Personal" : "个人",
@@ -48,6 +51,7 @@ OC.L10N.register(
"Admin" : "管理",
"APCu" : "APCu",
"Redis" : "Redis",
+ "Basic settings" : "基本设置",
"Sharing" : "分享",
"Security" : "安全",
"Encryption" : "加密",
@@ -61,6 +65,7 @@ OC.L10N.register(
"Oracle username and/or password not valid" : "Oracle 数据库用户名和/或密码无效",
"DB Error: \"%s\"" : "数据库错误:\"%s\"",
"Offending command was: \"%s\"" : "冲突命令为:\"%s\"",
+ "You need to enter details of an existing account." : "您需要输入现有帐户的详细信息。",
"Offending command was: \"%s\", name: %s, password: %s" : "冲突命令为:\"%s\",名称:%s,密码:%s",
"PostgreSQL username and/or password not valid" : "PostgreSQL 数据库用户名和/或密码无效",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X 不被支持并且 %s 在这个平台上无法正常工作。请自行承担风险!",
@@ -153,12 +158,11 @@ OC.L10N.register(
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "在用户名中只允许使用以下字符:“a-z”,“A-Z”,“0-9”和\"_.@-'\"",
"A valid username must be provided" : "必须提供合法的用户名",
"Username contains whitespace at the beginning or at the end" : "用户名在开头或结尾处包含空格",
+ "Username must not consist of dots only" : "用户名不能仅由点组成",
"A valid password must be provided" : "必须提供合法的密码",
"The username is already being used" : "用户名已被使用",
"User disabled" : "用户已禁用",
"Login canceled by app" : "已通过应用取消登录",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "无法安装应用\"%s\",因为无法读取appinfo文件.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "应用程式 \"%s\" 无法安装,因为它与这个版本的服务器不兼容.",
"No app name specified" : "没有指定的 App 名称",
"App '%s' could not be installed!" : "应用程序 '%s' 无法被安装!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "应用程序 \"%s\" 无法被安装,因为为满足下列依赖关系: %s",
@@ -172,6 +176,7 @@ OC.L10N.register(
"No database drivers (sqlite, mysql, or postgresql) installed." : "没有安装数据库驱动 (SQLite、MySQL 或 PostgreSQL)。",
"Cannot write into \"config\" directory" : "无法写入“config”目录",
"Cannot write into \"apps\" directory" : "无法写入“apps”目录",
+ "Cannot create \"data\" directory" : "无法创建“data”目录 ",
"Setting locale to %s failed" : "设置语言为 %s 失败",
"Please install one of these locales on your system and restart your webserver." : "请在您的系统中安装下述一种语言并重启 Web 服务器.",
"Please ask your server administrator to install the module." : "请联系服务器管理员安装模块.",
@@ -189,7 +194,10 @@ OC.L10N.register(
"PostgreSQL >= 9 required" : "要求 PostgreSQL >= 9",
"Please upgrade your database version" : "请升级您的数据库版本",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "请更改权限为 0770 以避免其他用户查看目录.",
+ "Your data directory is readable by other users" : "你的数据目录可被其他用户读取",
+ "Your data directory must be an absolute path" : "您的数据目录必须是绝对路径",
"Check the value of \"datadirectory\" in your configuration" : "请检查配置文件中 \"datadirectory\" 的值",
+ "Your data directory is invalid" : "您的数据目录无效",
"Please check that the data directory contains a file \".ocdata\" in its root." : "请检查根目录下 data 目录中包含名为 \".ocdata\" 的文件.",
"Could not obtain lock type %d on \"%s\"." : "无法在 \"%s\" 上获取锁类型 %d.",
"Storage unauthorized. %s" : "存储认证失败. %s",
diff --git a/lib/l10n/zh_CN.json b/lib/l10n/zh_CN.json
index 53b1f0eefcc..7c4c0f6affb 100644
--- a/lib/l10n/zh_CN.json
+++ b/lib/l10n/zh_CN.json
@@ -38,6 +38,9 @@
"File name is too long" : "文件名过长",
"Dot files are not allowed" : ".文件 不被允许",
"Empty filename is not allowed" : "不允许使用空名称。",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "无法安装应用\"%s\",因为无法读取appinfo文件.",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "应用程式 \"%s\" 无法安装,因为它与这个版本的服务器不兼容.",
+ "This is an automatically sent email, please do not reply." : "这是一个自动生成的电子邮件,请不要回复。",
"Help" : "帮助",
"Apps" : "应用",
"Personal" : "个人",
@@ -46,6 +49,7 @@
"Admin" : "管理",
"APCu" : "APCu",
"Redis" : "Redis",
+ "Basic settings" : "基本设置",
"Sharing" : "分享",
"Security" : "安全",
"Encryption" : "加密",
@@ -59,6 +63,7 @@
"Oracle username and/or password not valid" : "Oracle 数据库用户名和/或密码无效",
"DB Error: \"%s\"" : "数据库错误:\"%s\"",
"Offending command was: \"%s\"" : "冲突命令为:\"%s\"",
+ "You need to enter details of an existing account." : "您需要输入现有帐户的详细信息。",
"Offending command was: \"%s\", name: %s, password: %s" : "冲突命令为:\"%s\",名称:%s,密码:%s",
"PostgreSQL username and/or password not valid" : "PostgreSQL 数据库用户名和/或密码无效",
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X 不被支持并且 %s 在这个平台上无法正常工作。请自行承担风险!",
@@ -151,12 +156,11 @@
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "在用户名中只允许使用以下字符:“a-z”,“A-Z”,“0-9”和\"_.@-'\"",
"A valid username must be provided" : "必须提供合法的用户名",
"Username contains whitespace at the beginning or at the end" : "用户名在开头或结尾处包含空格",
+ "Username must not consist of dots only" : "用户名不能仅由点组成",
"A valid password must be provided" : "必须提供合法的密码",
"The username is already being used" : "用户名已被使用",
"User disabled" : "用户已禁用",
"Login canceled by app" : "已通过应用取消登录",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "无法安装应用\"%s\",因为无法读取appinfo文件.",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "应用程式 \"%s\" 无法安装,因为它与这个版本的服务器不兼容.",
"No app name specified" : "没有指定的 App 名称",
"App '%s' could not be installed!" : "应用程序 '%s' 无法被安装!",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "应用程序 \"%s\" 无法被安装,因为为满足下列依赖关系: %s",
@@ -170,6 +174,7 @@
"No database drivers (sqlite, mysql, or postgresql) installed." : "没有安装数据库驱动 (SQLite、MySQL 或 PostgreSQL)。",
"Cannot write into \"config\" directory" : "无法写入“config”目录",
"Cannot write into \"apps\" directory" : "无法写入“apps”目录",
+ "Cannot create \"data\" directory" : "无法创建“data”目录 ",
"Setting locale to %s failed" : "设置语言为 %s 失败",
"Please install one of these locales on your system and restart your webserver." : "请在您的系统中安装下述一种语言并重启 Web 服务器.",
"Please ask your server administrator to install the module." : "请联系服务器管理员安装模块.",
@@ -187,7 +192,10 @@
"PostgreSQL >= 9 required" : "要求 PostgreSQL >= 9",
"Please upgrade your database version" : "请升级您的数据库版本",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "请更改权限为 0770 以避免其他用户查看目录.",
+ "Your data directory is readable by other users" : "你的数据目录可被其他用户读取",
+ "Your data directory must be an absolute path" : "您的数据目录必须是绝对路径",
"Check the value of \"datadirectory\" in your configuration" : "请检查配置文件中 \"datadirectory\" 的值",
+ "Your data directory is invalid" : "您的数据目录无效",
"Please check that the data directory contains a file \".ocdata\" in its root." : "请检查根目录下 data 目录中包含名为 \".ocdata\" 的文件.",
"Could not obtain lock type %d on \"%s\"." : "无法在 \"%s\" 上获取锁类型 %d.",
"Storage unauthorized. %s" : "存储认证失败. %s",
diff --git a/lib/l10n/zh_TW.js b/lib/l10n/zh_TW.js
index 946c61f1946..68b7d363982 100644
--- a/lib/l10n/zh_TW.js
+++ b/lib/l10n/zh_TW.js
@@ -34,6 +34,8 @@ OC.L10N.register(
"File name is too long" : "檔案名稱太長",
"Dot files are not allowed" : "不允許小數點開頭的檔案",
"Empty filename is not allowed" : "不允許空白的檔名",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "程式\"%s\"無法安裝,因為無法讀取appinfo檔案。",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "程式\"%s\"無法安裝,因為伺服器版本不符。",
"Help" : "說明",
"Apps" : "應用程式",
"Personal" : "個人",
@@ -149,8 +151,6 @@ OC.L10N.register(
"The username is already being used" : "這個使用者名稱已經有人使用了",
"User disabled" : "使用者取消",
"Login canceled by app" : "程式取消登入",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "程式\"%s\"無法安裝,因為無法讀取appinfo檔案。",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "程式\"%s\"無法安裝,因為伺服器版本不符。",
"No app name specified" : "沒有指定應用程式名稱",
"App '%s' could not be installed!" : "程式\"%s\"無法安裝。",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "應用程式 \"%s\" 無法被安裝,下列的相依性並不是完整的: %s",
diff --git a/lib/l10n/zh_TW.json b/lib/l10n/zh_TW.json
index dc09c400af6..7411b0f410d 100644
--- a/lib/l10n/zh_TW.json
+++ b/lib/l10n/zh_TW.json
@@ -32,6 +32,8 @@
"File name is too long" : "檔案名稱太長",
"Dot files are not allowed" : "不允許小數點開頭的檔案",
"Empty filename is not allowed" : "不允許空白的檔名",
+ "App \"%s\" cannot be installed because appinfo file cannot be read." : "程式\"%s\"無法安裝,因為無法讀取appinfo檔案。",
+ "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "程式\"%s\"無法安裝,因為伺服器版本不符。",
"Help" : "說明",
"Apps" : "應用程式",
"Personal" : "個人",
@@ -147,8 +149,6 @@
"The username is already being used" : "這個使用者名稱已經有人使用了",
"User disabled" : "使用者取消",
"Login canceled by app" : "程式取消登入",
- "App \"%s\" cannot be installed because appinfo file cannot be read." : "程式\"%s\"無法安裝,因為無法讀取appinfo檔案。",
- "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "程式\"%s\"無法安裝,因為伺服器版本不符。",
"No app name specified" : "沒有指定應用程式名稱",
"App '%s' could not be installed!" : "程式\"%s\"無法安裝。",
"App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "應用程式 \"%s\" 無法被安裝,下列的相依性並不是完整的: %s",
diff --git a/lib/private/Accounts/AccountManager.php b/lib/private/Accounts/AccountManager.php
index 41fdad148aa..7db686c33a1 100644
--- a/lib/private/Accounts/AccountManager.php
+++ b/lib/private/Accounts/AccountManager.php
@@ -114,6 +114,19 @@ class AccountManager {
}
/**
+ * delete user from accounts table
+ *
+ * @param IUser $user
+ */
+ public function deleteUser(IUser $user) {
+ $uid = $user->getUID();
+ $query = $this->connection->getQueryBuilder();
+ $query->delete($this->table)
+ ->where($query->expr()->eq('uid', $query->createNamedParameter($uid)))
+ ->execute();
+ }
+
+ /**
* get stored data from a given user
*
* @param IUser $user
diff --git a/lib/private/App/AppStore/Fetcher/AppFetcher.php b/lib/private/App/AppStore/Fetcher/AppFetcher.php
index e020390988e..63f63aaf695 100644
--- a/lib/private/App/AppStore/Fetcher/AppFetcher.php
+++ b/lib/private/App/AppStore/Fetcher/AppFetcher.php
@@ -22,27 +22,31 @@
namespace OC\App\AppStore\Fetcher;
use OC\App\AppStore\Version\VersionParser;
+use OC\Files\AppData\Factory;
use OCP\AppFramework\Utility\ITimeFactory;
-use OCP\Files\IAppData;
use OCP\Http\Client\IClientService;
use OCP\IConfig;
+use OCP\ILogger;
class AppFetcher extends Fetcher {
/**
- * @param IAppData $appData
+ * @param Factory $appDataFactory
* @param IClientService $clientService
* @param ITimeFactory $timeFactory
- * @param IConfig $config;
+ * @param IConfig $config
+ * @param ILogger $logger
*/
- public function __construct(IAppData $appData,
+ public function __construct(Factory $appDataFactory,
IClientService $clientService,
ITimeFactory $timeFactory,
- IConfig $config) {
+ IConfig $config,
+ ILogger $logger) {
parent::__construct(
- $appData,
+ $appDataFactory,
$clientService,
$timeFactory,
- $config
+ $config,
+ $logger
);
$this->fileName = 'apps.json';
diff --git a/lib/private/App/AppStore/Fetcher/CategoryFetcher.php b/lib/private/App/AppStore/Fetcher/CategoryFetcher.php
index 8b79259a66a..8c3c963462c 100644
--- a/lib/private/App/AppStore/Fetcher/CategoryFetcher.php
+++ b/lib/private/App/AppStore/Fetcher/CategoryFetcher.php
@@ -21,27 +21,31 @@
namespace OC\App\AppStore\Fetcher;
+use OC\Files\AppData\Factory;
use OCP\AppFramework\Utility\ITimeFactory;
-use OCP\Files\IAppData;
use OCP\Http\Client\IClientService;
use OCP\IConfig;
+use OCP\ILogger;
class CategoryFetcher extends Fetcher {
/**
- * @param IAppData $appData
+ * @param Factory $appDataFactory
* @param IClientService $clientService
* @param ITimeFactory $timeFactory
* @param IConfig $config
+ * @param ILogger $logger
*/
- public function __construct(IAppData $appData,
+ public function __construct(Factory $appDataFactory,
IClientService $clientService,
ITimeFactory $timeFactory,
- IConfig $config) {
+ IConfig $config,
+ ILogger $logger) {
parent::__construct(
- $appData,
+ $appDataFactory,
$clientService,
$timeFactory,
- $config
+ $config,
+ $logger
);
$this->fileName = 'categories.json';
$this->endpointUrl = 'https://apps.nextcloud.com/api/v1/categories.json';
diff --git a/lib/private/App/AppStore/Fetcher/Fetcher.php b/lib/private/App/AppStore/Fetcher/Fetcher.php
index 5354d334eb1..e559cf83e6d 100644
--- a/lib/private/App/AppStore/Fetcher/Fetcher.php
+++ b/lib/private/App/AppStore/Fetcher/Fetcher.php
@@ -21,12 +21,15 @@
namespace OC\App\AppStore\Fetcher;
+use OC\Files\AppData\Factory;
+use GuzzleHttp\Exception\ConnectException;
use OCP\AppFramework\Http;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Files\IAppData;
use OCP\Files\NotFoundException;
use OCP\Http\Client\IClientService;
use OCP\IConfig;
+use OCP\ILogger;
abstract class Fetcher {
const INVALIDATE_AFTER_SECONDS = 300;
@@ -39,6 +42,8 @@ abstract class Fetcher {
protected $timeFactory;
/** @var IConfig */
protected $config;
+ /** @var Ilogger */
+ protected $logger;
/** @var string */
protected $fileName;
/** @var string */
@@ -47,19 +52,22 @@ abstract class Fetcher {
protected $version;
/**
- * @param IAppData $appData
+ * @param Factory $appDataFactory
* @param IClientService $clientService
* @param ITimeFactory $timeFactory
* @param IConfig $config
+ * @param ILogger $logger
*/
- public function __construct(IAppData $appData,
+ public function __construct(Factory $appDataFactory,
IClientService $clientService,
ITimeFactory $timeFactory,
- IConfig $config) {
- $this->appData = $appData;
+ IConfig $config,
+ ILogger $logger) {
+ $this->appData = $appDataFactory->get('appstore');
$this->clientService = $clientService;
$this->timeFactory = $timeFactory;
$this->config = $config;
+ $this->logger = $logger;
}
/**
@@ -77,7 +85,9 @@ abstract class Fetcher {
return [];
}
- $options = [];
+ $options = [
+ 'timeout' => 10,
+ ];
if ($ETag !== '') {
$options['headers'] = [
@@ -152,6 +162,9 @@ abstract class Fetcher {
$responseJson = $this->fetch($ETag, $content);
$file->putContent(json_encode($responseJson));
return json_decode($file->getContent(), true)['data'];
+ } catch (ConnectException $e) {
+ $this->logger->logException($e, ['app' => 'appstoreFetcher']);
+ return [];
} catch (\Exception $e) {
return [];
}
diff --git a/lib/private/App/CodeChecker/DatabaseSchemaChecker.php b/lib/private/App/CodeChecker/DatabaseSchemaChecker.php
new file mode 100644
index 00000000000..1255dec25c1
--- /dev/null
+++ b/lib/private/App/CodeChecker/DatabaseSchemaChecker.php
@@ -0,0 +1,105 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017, Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OC\App\CodeChecker;
+
+class DatabaseSchemaChecker {
+
+ /**
+ * @param string $appId
+ * @return array
+ */
+ public function analyse($appId) {
+ $appPath = \OC_App::getAppPath($appId);
+ if ($appPath === false) {
+ throw new \RuntimeException("No app with given id <$appId> known.");
+ }
+
+ if (!file_exists($appPath . '/appinfo/database.xml')) {
+ return ['errors' => [], 'warnings' => []];
+ }
+
+ libxml_use_internal_errors(true);
+ $loadEntities = libxml_disable_entity_loader(false);
+ $xml = simplexml_load_file($appPath . '/appinfo/database.xml');
+ libxml_disable_entity_loader($loadEntities);
+
+
+ $errors = $warnings = [];
+
+ foreach ($xml->table as $table) {
+ // Table names
+ if (strpos($table->name, '*dbprefix*') !== 0) {
+ $errors[] = 'Database schema error: name of table ' . $table->name . ' does not start with *dbprefix*';
+ }
+ $tableName = substr($table->name, strlen('*dbprefix*'));
+ if (strpos($tableName, '*dbprefix*') !== false) {
+ $warnings[] = 'Database schema warning: *dbprefix* should only appear once in name of table ' . $table->name;
+ }
+
+ if (strlen($tableName) > 27) {
+ $errors[] = 'Database schema error: Name of table ' . $table->name . ' is too long (' . strlen($tableName) . '), max. 27 characters (21 characters for tables with autoincrement) + *dbprefix* allowed';
+ }
+
+ $hasAutoIncrement = false;
+
+ // Column names
+ foreach ($table->declaration->field as $column) {
+ if (strpos($column->name, '*dbprefix*') !== false) {
+ $warnings[] = 'Database schema warning: *dbprefix* should not appear in name of column ' . $column->name . ' on table ' . $table->name;
+ }
+
+ if (strlen($column->name) > 30) {
+ $errors[] = 'Database schema error: Name of column ' . $column->name . ' on table ' . $table->name . ' is too long (' . strlen($tableName) . '), max. 30 characters allowed';
+ }
+
+ if ($column->autoincrement) {
+ if ($hasAutoIncrement) {
+ $errors[] = 'Database schema error: Table ' . $table->name . ' has multiple autoincrement columns';
+ }
+
+ if (strlen($tableName) > 21) {
+ $errors[] = 'Database schema error: Name of table ' . $table->name . ' is too long (' . strlen($tableName) . '), max. 27 characters (21 characters for tables with autoincrement) + *dbprefix* allowed';
+ }
+
+ $hasAutoIncrement = true;
+ }
+ }
+
+ // Index names
+ foreach ($table->declaration->index as $index) {
+ $hasPrefix = strpos($index->name, '*dbprefix*');
+ if ($hasPrefix !== false && $hasPrefix !== 0) {
+ $warnings[] = 'Database schema warning: *dbprefix* should only appear at the beginning in name of index ' . $index->name . ' on table ' . $table->name;
+ }
+
+ $indexName = $hasPrefix === 0 ? substr($index->name, strlen('*dbprefix*')) : $index->name;
+ if (strlen($indexName) > 27) {
+ $errors[] = 'Database schema error: Name of index ' . $index->name . ' on table ' . $table->name . ' is too long (' . strlen($tableName) . '), max. 27 characters + *dbprefix* allowed';
+ }
+ }
+ }
+
+ return ['errors' => $errors, 'warnings' => $warnings];
+ }
+}
diff --git a/lib/private/App/CodeChecker/LanguageParseChecker.php b/lib/private/App/CodeChecker/LanguageParseChecker.php
new file mode 100644
index 00000000000..35354869339
--- /dev/null
+++ b/lib/private/App/CodeChecker/LanguageParseChecker.php
@@ -0,0 +1,60 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017, Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OC\App\CodeChecker;
+
+class LanguageParseChecker {
+
+ /**
+ * @param string $appId
+ * @return array
+ */
+ public function analyse($appId) {
+ $appPath = \OC_App::getAppPath($appId);
+ if ($appPath === false) {
+ throw new \RuntimeException("No app with given id <$appId> known.");
+ }
+
+ if (!is_dir($appPath . '/l10n/')) {
+ return [];
+ }
+
+ $errors = [];
+ $directory = new \DirectoryIterator($appPath . '/l10n/');
+
+ foreach ($directory as $file) {
+ if ($file->getExtension() !== 'json') {
+ continue;
+ }
+
+ $content = file_get_contents($file->getPathname());
+ json_decode($content, true);
+
+ if (json_last_error() !== JSON_ERROR_NONE) {
+ $errors[] = 'Invalid language file found: l10n/' . $file->getFilename() . ': ' . json_last_error_msg();
+ }
+ }
+
+ return $errors;
+ }
+}
diff --git a/lib/private/AppFramework/DependencyInjection/DIContainer.php b/lib/private/AppFramework/DependencyInjection/DIContainer.php
index 04747485c13..d24836228cc 100644
--- a/lib/private/AppFramework/DependencyInjection/DIContainer.php
+++ b/lib/private/AppFramework/DependencyInjection/DIContainer.php
@@ -165,7 +165,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
$this->registerService(\OC\Security\IdentityProof\Manager::class, function ($c) {
return new \OC\Security\IdentityProof\Manager(
- $this->getServer()->getAppDataDir('identityproof'),
+ $this->getServer()->query(\OC\Files\AppData\Factory::class),
$this->getServer()->getCrypto()
);
});
diff --git a/lib/private/AppFramework/Http/Request.php b/lib/private/AppFramework/Http/Request.php
index b39ae3e8c0c..09e18f74177 100644
--- a/lib/private/AppFramework/Http/Request.php
+++ b/lib/private/AppFramework/Http/Request.php
@@ -67,7 +67,7 @@ class Request implements \ArrayAccess, \Countable, IRequest {
// Android Chrome user agent: https://developers.google.com/chrome/mobile/docs/user-agent
const USER_AGENT_ANDROID_MOBILE_CHROME = '#Android.*Chrome/[.0-9]*#';
const USER_AGENT_FREEBOX = '#^Mozilla/5\.0$#';
- const REGEX_LOCALHOST = '/^(127\.0\.0\.1|localhost)$/';
+ const REGEX_LOCALHOST = '/^(127\.0\.0\.1|localhost|::1)$/';
/**
* @deprecated use \OCP\IRequest::USER_AGENT_CLIENT_IOS instead
diff --git a/lib/private/AppFramework/Middleware/Security/SecurityMiddleware.php b/lib/private/AppFramework/Middleware/Security/SecurityMiddleware.php
index e420a9dacc0..4e41c946432 100644
--- a/lib/private/AppFramework/Middleware/Security/SecurityMiddleware.php
+++ b/lib/private/AppFramework/Middleware/Security/SecurityMiddleware.php
@@ -246,12 +246,11 @@ class SecurityMiddleware extends Middleware {
);
} else {
if($exception instanceof NotLoggedInException) {
- $url = $this->urlGenerator->linkToRoute(
- 'core.login.showLoginForm',
- [
- 'redirect_url' => $this->request->server['REQUEST_URI'],
- ]
- );
+ $params = [];
+ if (isset($this->request->server['REQUEST_URI'])) {
+ $params['redirect_url'] = $this->request->server['REQUEST_URI'];
+ }
+ $url = $this->urlGenerator->linkToRoute('core.login.showLoginForm', $params);
$response = new RedirectResponse($url);
} else {
$response = new TemplateResponse('core', '403', ['file' => $exception->getMessage()], 'guest');
diff --git a/lib/private/Authentication/Token/DefaultTokenMapper.php b/lib/private/Authentication/Token/DefaultTokenMapper.php
index 8848cd3ec56..44bc553a92e 100644
--- a/lib/private/Authentication/Token/DefaultTokenMapper.php
+++ b/lib/private/Authentication/Token/DefaultTokenMapper.php
@@ -149,4 +149,16 @@ class DefaultTokenMapper extends Mapper {
$qb->execute();
}
+ /**
+ * delete all auth token which belong to a specific client if the client was deleted
+ *
+ * @param string $name
+ */
+ public function deleteByName($name) {
+ $qb = $this->db->getQueryBuilder();
+ $qb->delete('authtoken')
+ ->where($qb->expr()->eq('name', $qb->createNamedParameter($name)));
+ $qb->execute();
+ }
+
}
diff --git a/lib/private/Files/Type/Loader.php b/lib/private/Files/Type/Loader.php
index 4dd798e7b07..1ae783e8f83 100644
--- a/lib/private/Files/Type/Loader.php
+++ b/lib/private/Files/Type/Loader.php
@@ -154,18 +154,23 @@ class Loader implements IMimeTypeLoader {
* Update filecache mimetype based on file extension
*
* @param string $ext file extension
- * @param int $mimetypeId
+ * @param int $mimeTypeId
* @return int number of changed rows
*/
- public function updateFilecache($ext, $mimetypeId) {
+ public function updateFilecache($ext, $mimeTypeId) {
+ $folderMimeTypeId = $this->getId('httpd/unix-directory');
$update = $this->dbConnection->getQueryBuilder();
$update->update('filecache')
- ->set('mimetype', $update->createNamedParameter($mimetypeId))
+ ->set('mimetype', $update->createNamedParameter($mimeTypeId))
->where($update->expr()->neq(
- 'mimetype', $update->createNamedParameter($mimetypeId)
+ 'mimetype', $update->createNamedParameter($mimeTypeId)
+ ))
+ ->andWhere($update->expr()->neq(
+ 'mimetype', $update->createNamedParameter($folderMimeTypeId)
))
->andWhere($update->expr()->like(
- $update->createFunction('LOWER(`name`)'), $update->createNamedParameter($ext)
+ $update->createFunction('LOWER(' . $update->getColumnName('name') . ')'),
+ $update->createNamedParameter('%' . $this->dbConnection->escapeLikeParameter('.' . $ext))
));
return $update->execute();
}
diff --git a/lib/private/Installer.php b/lib/private/Installer.php
index 8702f264e54..35f51b19b07 100644
--- a/lib/private/Installer.php
+++ b/lib/private/Installer.php
@@ -98,7 +98,7 @@ class Installer {
*
* @param string $appId App to install
* @throws \Exception
- * @return integer
+ * @return string app ID
*/
public function installApp($appId) {
$app = \OC_App::findAppInDirectories($appId);
@@ -109,6 +109,29 @@ class Installer {
$basedir = $app['path'].'/'.$appId;
$info = OC_App::getAppInfo($basedir.'/appinfo/info.xml', true);
+ $l = \OC::$server->getL10N('core');
+
+ if(!is_array($info)) {
+ throw new \Exception(
+ $l->t('App "%s" cannot be installed because appinfo file cannot be read.',
+ [$info['name']]
+ )
+ );
+ }
+
+ $version = \OCP\Util::getVersion();
+ if (!\OC_App::isAppCompatible($version, $info)) {
+ throw new \Exception(
+ // TODO $l
+ $l->t('App "%s" cannot be installed because it is not compatible with this version of the server.',
+ [$info['name']]
+ )
+ );
+ }
+
+ // check for required dependencies
+ \OC_App::checkAppDependencies($this->config, $l, $info);
+
//install the database
if(is_file($basedir.'/appinfo/database.xml')) {
if (\OC::$server->getAppConfig()->getValue($info['id'], 'installed_version') === null) {
@@ -120,6 +143,9 @@ class Installer {
\OC_App::registerAutoloading($appId, $basedir);
\OC_App::setupBackgroundJobs($info['background-jobs']);
+ if(isset($info['settings']) && is_array($info['settings'])) {
+ \OC::$server->getSettingsManager()->setupSettings($info['settings']);
+ }
//run appinfo/install.php
if((!isset($data['noinstall']) or $data['noinstall']==false)) {
diff --git a/lib/private/Memcache/Redis.php b/lib/private/Memcache/Redis.php
index a154d08deca..dd7e929a828 100644
--- a/lib/private/Memcache/Redis.php
+++ b/lib/private/Memcache/Redis.php
@@ -79,12 +79,10 @@ class Redis extends Cache implements IMemcacheTTL {
public function clear($prefix = '') {
$prefix = $this->getNameSpace() . $prefix . '*';
- $it = null;
- self::$cache->setOption(\Redis::OPT_SCAN, \Redis::SCAN_RETRY);
- while ($keys = self::$cache->scan($it, $prefix)) {
- self::$cache->del($keys);
- }
- return true;
+ $keys = self::$cache->keys($prefix);
+ $deleted = self::$cache->del($keys);
+
+ return count($keys) === $deleted;
}
/**
diff --git a/lib/private/Repair.php b/lib/private/Repair.php
index 65e0342905a..4d14bf2550c 100644
--- a/lib/private/Repair.php
+++ b/lib/private/Repair.php
@@ -40,6 +40,7 @@ use OC\Repair\NC11\MoveAvatars;
use OC\Repair\NC12\InstallCoreBundle;
use OC\Repair\NC12\UpdateLanguageCodes;
use OC\Repair\OldGroupMembershipShares;
+use OC\Repair\Owncloud\SaveAccountsTableData;
use OC\Repair\RemoveRootShares;
use OC\Repair\SqliteAutoincrement;
use OC\Repair\RepairMimeTypes;
@@ -166,9 +167,11 @@ class Repair implements IOutput{
*/
public static function getBeforeUpgradeRepairSteps() {
$connection = \OC::$server->getDatabaseConnection();
+ $config = \OC::$server->getConfig();
$steps = [
new Collation(\OC::$server->getConfig(), \OC::$server->getLogger(), $connection, true),
new SqliteAutoincrement($connection),
+ new SaveAccountsTableData($connection, $config),
];
return $steps;
diff --git a/lib/private/Repair/NC11/MoveAvatarsBackgroundJob.php b/lib/private/Repair/NC11/MoveAvatarsBackgroundJob.php
index f8c0d9b3abf..d46b6fec8fc 100644
--- a/lib/private/Repair/NC11/MoveAvatarsBackgroundJob.php
+++ b/lib/private/Repair/NC11/MoveAvatarsBackgroundJob.php
@@ -28,6 +28,7 @@ use OCP\Files\Folder;
use OCP\Files\IAppData;
use OCP\Files\IRootFolder;
use OCP\Files\NotFoundException;
+use OCP\Files\SimpleFS\ISimpleFolder;
use OCP\ILogger;
use OCP\IUser;
use OCP\IUserManager;
@@ -63,8 +64,14 @@ class MoveAvatarsBackgroundJob extends QueuedJob {
}
private function moveAvatars() {
+ try {
+ $ownCloudAvatars = $this->rootFolder->get('avatars');
+ } catch (NotFoundException $e) {
+ $ownCloudAvatars = null;
+ }
+
$counter = 0;
- $this->userManager->callForSeenUsers(function (IUser $user) use ($counter) {
+ $this->userManager->callForSeenUsers(function (IUser $user) use ($counter, $ownCloudAvatars) {
$uid = $user->getUID();
\OC\Files\Filesystem::initMountPoints($uid);
@@ -77,26 +84,61 @@ class MoveAvatarsBackgroundJob extends QueuedJob {
$userData = $this->appData->newFolder($uid);
}
+ $foundAvatars = $this->copyAvatarsFromFolder($userFolder, $userData);
- $regex = '/^avatar\.([0-9]+\.)?(jpg|png)$/';
- $avatars = $userFolder->getDirectoryListing();
-
- foreach ($avatars as $avatar) {
- /** @var File $avatar */
- if (preg_match($regex, $avatar->getName())) {
- /*
- * This is not the most effective but it is the most abstract way
- * to handle this. Avatars should be small anyways.
- */
- $newAvatar = $userData->newFile($avatar->getName());
- $newAvatar->putContent($avatar->getContent());
- $avatar->delete();
+ // ownCloud migration?
+ if ($foundAvatars === 0 && $ownCloudAvatars instanceof Folder) {
+ $parts = $this->buildOwnCloudAvatarPath($uid);
+ $userOwnCloudAvatar = $ownCloudAvatars;
+ foreach ($parts as $part) {
+ try {
+ $userOwnCloudAvatar = $userOwnCloudAvatar->get($part);
+ } catch (NotFoundException $e) {
+ return;
+ }
}
+
+ $this->copyAvatarsFromFolder($userOwnCloudAvatar, $userData);
}
+
$counter++;
- if ($counter % 100) {
+ if ($counter % 100 === 0) {
$this->logger->info('{amount} avatars migrated', ['amount' => $counter]);
}
});
}
+
+ /**
+ * @param Folder $source
+ * @param ISimpleFolder $target
+ * @return int
+ * @throws \OCP\Files\NotPermittedException
+ * @throws NotFoundException
+ */
+ protected function copyAvatarsFromFolder(Folder $source, ISimpleFolder $target) {
+ $foundAvatars = 0;
+ $avatars = $source->getDirectoryListing();
+ $regex = '/^avatar\.([0-9]+\.)?(jpg|png)$/';
+
+ foreach ($avatars as $avatar) {
+ /** @var File $avatar */
+ if (preg_match($regex, $avatar->getName())) {
+ /*
+ * This is not the most effective but it is the most abstract way
+ * to handle this. Avatars should be small anyways.
+ */
+ $newAvatar = $target->newFile($avatar->getName());
+ $newAvatar->putContent($avatar->getContent());
+ $avatar->delete();
+ $foundAvatars++;
+ }
+ }
+
+ return $foundAvatars;
+ }
+
+ protected function buildOwnCloudAvatarPath($userId) {
+ $avatar = substr_replace(substr_replace(md5($userId), '/', 4, 0), '/', 2, 0);
+ return explode('/', $avatar);
+ }
}
diff --git a/lib/private/Repair/Owncloud/SaveAccountsTableData.php b/lib/private/Repair/Owncloud/SaveAccountsTableData.php
new file mode 100644
index 00000000000..35e5560856b
--- /dev/null
+++ b/lib/private/Repair/Owncloud/SaveAccountsTableData.php
@@ -0,0 +1,176 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OC\Repair\Owncloud;
+
+use Doctrine\DBAL\Exception\InvalidFieldNameException;
+use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\IConfig;
+use OCP\IDBConnection;
+use OCP\Migration\IOutput;
+use OCP\Migration\IRepairStep;
+use OCP\PreConditionNotMetException;
+
+/**
+ * Copies the email address from the accounts table to the preference table,
+ * before the data structure is changed and the information is gone
+ */
+class SaveAccountsTableData implements IRepairStep {
+
+ const BATCH_SIZE = 75;
+
+ /** @var IDBConnection */
+ protected $db;
+
+ /** @var IConfig */
+ protected $config;
+
+ /**
+ * @param IDBConnection $db
+ * @param IConfig $config
+ */
+ public function __construct(IDBConnection $db, IConfig $config) {
+ $this->db = $db;
+ $this->config = $config;
+ }
+
+ /**
+ * @return string
+ */
+ public function getName() {
+ return 'Copy data from accounts table when migrating from ownCloud';
+ }
+
+ /**
+ * @param IOutput $output
+ */
+ public function run(IOutput $output) {
+ if (!$this->shouldRun()) {
+ return;
+ }
+
+ $offset = 0;
+ $numUsers = $this->runStep($offset);
+
+ while ($numUsers === self::BATCH_SIZE) {
+ $offset += $numUsers;
+ $numUsers = $this->runStep($offset);
+ }
+
+ // Remove the table
+ $this->db->dropTable('accounts');
+ }
+
+ /**
+ * @return bool
+ */
+ protected function shouldRun() {
+ $query = $this->db->getQueryBuilder();
+ $query->select('*')
+ ->from('accounts')
+ ->where($query->expr()->isNotNull('user_id'))
+ ->setMaxResults(1);
+
+ try {
+ $query->execute();
+ return true;
+ } catch (InvalidFieldNameException $e) {
+ return false;
+ }
+ }
+
+ /**
+ * @param int $offset
+ * @return int Number of copied users
+ */
+ protected function runStep($offset) {
+ $query = $this->db->getQueryBuilder();
+ $query->select('*')
+ ->from('accounts')
+ ->orderBy('id')
+ ->setMaxResults(self::BATCH_SIZE);
+
+ if ($offset > 0) {
+ $query->setFirstResult($offset);
+ }
+
+ $result = $query->execute();
+
+ $update = $this->db->getQueryBuilder();
+ $update->update('users')
+ ->set('displayname', $update->createParameter('displayname'))
+ ->where($update->expr()->eq('uid', $update->createParameter('userid')));
+
+ $updatedUsers = 0;
+ while ($row = $result->fetch()) {
+ try {
+ $this->migrateUserInfo($update, $row);
+ } catch (PreConditionNotMetException $e) {
+ // Ignore and continue
+ } catch (\UnexpectedValueException $e) {
+ // Ignore and continue
+ }
+ $updatedUsers++;
+ }
+ $result->closeCursor();
+
+ return $updatedUsers;
+ }
+
+ /**
+ * @param IQueryBuilder $update
+ * @param array $userdata
+ * @throws PreConditionNotMetException
+ * @throws \UnexpectedValueException
+ */
+ protected function migrateUserInfo(IQueryBuilder $update, $userdata) {
+ $state = (int) $userdata['state'];
+ if ($state === 3) {
+ // Deleted user, ignore
+ return;
+ }
+
+ if ($userdata['email'] !== null) {
+ $this->config->setUserValue($userdata['user_id'], 'settings', 'email', $userdata['email']);
+ }
+ if ($userdata['quota'] !== null) {
+ $this->config->setUserValue($userdata['user_id'], 'files', 'quota', $userdata['quota']);
+ }
+ if ($userdata['last_login'] !== null) {
+ $this->config->setUserValue($userdata['user_id'], 'login', 'lastLogin', $userdata['last_login']);
+ }
+ if ($state === 1) {
+ $this->config->setUserValue($userdata['user_id'], 'core', 'enabled', 'true');
+ } else if ($state === 2) {
+ $this->config->setUserValue($userdata['user_id'], 'core', 'enabled', 'false');
+ }
+
+ if ($userdata['display_name'] !== null) {
+ $update->setParameter('displayname', $userdata['display_name'])
+ ->setParameter('userid', $userdata['user_id']);
+ $update->execute();
+ }
+
+ }
+}
+
diff --git a/lib/private/Route/Router.php b/lib/private/Route/Router.php
index fd15400dad4..71aabe15c51 100644
--- a/lib/private/Route/Router.php
+++ b/lib/private/Route/Router.php
@@ -75,7 +75,7 @@ class Router implements IRouter {
if(!(\OC::$server->getConfig()->getSystemValue('htaccess.IgnoreFrontController', false) === true || getenv('front_controller_active') === 'true')) {
$baseUrl = \OC::$server->getURLGenerator()->linkTo('', 'index.php');
}
- if (!\OC::$CLI) {
+ if (!\OC::$CLI && isset($_SERVER['REQUEST_METHOD'])) {
$method = $_SERVER['REQUEST_METHOD'];
} else {
$method = 'GET';
diff --git a/lib/private/Security/IdentityProof/Manager.php b/lib/private/Security/IdentityProof/Manager.php
index d2a9e57e338..73edac5f747 100644
--- a/lib/private/Security/IdentityProof/Manager.php
+++ b/lib/private/Security/IdentityProof/Manager.php
@@ -21,6 +21,7 @@
namespace OC\Security\IdentityProof;
+use OC\Files\AppData\Factory;
use OCP\Files\IAppData;
use OCP\IUser;
use OCP\Security\ICrypto;
@@ -32,12 +33,12 @@ class Manager {
private $crypto;
/**
- * @param IAppData $appData
+ * @param Factory $appDataFactory
* @param ICrypto $crypto
*/
- public function __construct(IAppData $appData,
+ public function __construct(Factory $appDataFactory,
ICrypto $crypto) {
- $this->appData = $appData;
+ $this->appData = $appDataFactory->get('identityproof');
$this->crypto = $crypto;
}
diff --git a/lib/private/Server.php b/lib/private/Server.php
index 07e449ee4a9..75e9d911632 100644
--- a/lib/private/Server.php
+++ b/lib/private/Server.php
@@ -361,6 +361,10 @@ class Server extends ServerContainer implements IServerContainer {
/** @var $user \OC\User\User */
\OC_Hook::emit('OC_User', 'post_login', array('run' => true, 'uid' => $user->getUID(), 'password' => $password));
});
+ $userSession->listen('\OC\User', 'postRememberedLogin', function ($user, $password) {
+ /** @var $user \OC\User\User */
+ \OC_Hook::emit('OC_User', 'post_login', array('run' => true, 'uid' => $user->getUID(), 'password' => $password));
+ });
$userSession->listen('\OC\User', 'logout', function () {
\OC_Hook::emit('OC_User', 'logout', array());
});
@@ -420,24 +424,8 @@ class Server extends ServerContainer implements IServerContainer {
$this->registerService('AppHelper', function ($c) {
return new \OC\AppHelper();
});
- $this->registerService(AppFetcher::class, function ($c) {
- return new AppFetcher(
- $this->getAppDataDir('appstore'),
- $this->getHTTPClientService(),
- $this->query(TimeFactory::class),
- $this->getConfig()
- );
- });
$this->registerAlias('AppFetcher', AppFetcher::class);
-
- $this->registerService('CategoryFetcher', function ($c) {
- return new CategoryFetcher(
- $this->getAppDataDir('appstore'),
- $this->getHTTPClientService(),
- $this->query(TimeFactory::class),
- $this->getConfig()
- );
- });
+ $this->registerAlias('CategoryFetcher', CategoryFetcher::class);
$this->registerService(\OCP\ICache::class, function ($c) {
return new Cache\File();
@@ -869,7 +857,7 @@ class Server extends ServerContainer implements IServerContainer {
$c->getURLGenerator(),
$c->getAppDataDir('theming'),
$c->getMemCacheFactory(),
- new Util($c->getConfig(), $this->getRootFolder(), $this->getAppManager())
+ new Util($c->getConfig(), $this->getAppManager(), $this->getAppDataDir('theming'))
);
}
return new \OC_Defaults();
@@ -884,7 +872,7 @@ class Server extends ServerContainer implements IServerContainer {
$c->getConfig(),
$c->getThemingDefaults(),
\OC::$SERVERROOT,
- $cacheFactory->createLocal('SCSS')
+ $cacheFactory->create('SCSS')
);
});
$this->registerService(EventDispatcher::class, function () {
@@ -1290,7 +1278,7 @@ class Server extends ServerContainer implements IServerContainer {
* @return AppFetcher
*/
public function getAppFetcher() {
- return $this->query('AppFetcher');
+ return $this->query(AppFetcher::class);
}
/**
diff --git a/lib/private/Share/Share.php b/lib/private/Share/Share.php
index 1bfd0821354..dc96d856ba6 100644
--- a/lib/private/Share/Share.php
+++ b/lib/private/Share/Share.php
@@ -812,7 +812,7 @@ class Share extends Constants {
\OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::DEBUG);
throw new \Exception($message_t);
}
- if ($shareWithinGroupOnly && !\OC_Group::inGroup($uidOwner, $shareWith)) {
+ if ($shareWithinGroupOnly) {
$group = \OC::$server->getGroupManager()->get($shareWith);
$user = \OC::$server->getUserManager()->get($uidOwner);
if (!$group || !$user || !$group->inGroup($user)) {
diff --git a/lib/private/Template/JSCombiner.php b/lib/private/Template/JSCombiner.php
index 604cd2cceb7..8254174bfc0 100644
--- a/lib/private/Template/JSCombiner.php
+++ b/lib/private/Template/JSCombiner.php
@@ -101,7 +101,6 @@ class JSCombiner {
if ($deps === null || $deps === '') {
$depFile = $folder->getFile($fileName);
$deps = $depFile->getContent();
- $this->depsCache->set($folder->getName() . '-' . $fileName, $deps);
}
$deps = json_decode($deps, true);
@@ -162,8 +161,11 @@ class JSCombiner {
try {
$cachedfile->putContent($res);
- $depFile->putContent(json_encode($deps));
+ $deps = json_encode($deps);
+ $depFile->putContent($deps);
+ $this->depsCache->set($folder->getName() . '-' . $depFileName, $deps);
$gzipFile->putContent(gzencode($res, 9));
+
return true;
} catch (NotPermittedException $e) {
return false;
diff --git a/lib/private/Updater.php b/lib/private/Updater.php
index 5c4a7725a1b..6d08e5d4cc0 100644
--- a/lib/private/Updater.php
+++ b/lib/private/Updater.php
@@ -32,7 +32,6 @@
namespace OC;
-use OC\App\AppStore\Fetcher\AppFetcher;
use OC\Hooks\BasicEmitter;
use OC\IntegrityCheck\Checker;
use OC_App;
@@ -191,6 +190,22 @@ class Updater extends BasicEmitter {
$majorMinor = $version[0] . '.' . $version[1];
$currentVendor = $this->config->getAppValue('core', 'vendor', '');
+
+ // Vendor was not set correctly on install, so we have to white-list known versions
+ if ($currentVendor === '') {
+ if (in_array($oldVersion, [
+ '11.0.2.7',
+ '11.0.1.2',
+ '11.0.0.10',
+ ], true)) {
+ $currentVendor = 'nextcloud';
+ } else if (in_array($oldVersion, [
+ '10.0.0.12',
+ ], true)) {
+ $currentVendor = 'owncloud';
+ }
+ }
+
if ($currentVendor === 'nextcloud') {
return isset($allowedPreviousVersions[$currentVendor][$majorMinor])
&& (version_compare($oldVersion, $newVersion, '<=') ||
@@ -198,7 +213,8 @@ class Updater extends BasicEmitter {
}
// Check if the instance can be migrated
- return isset($allowedPreviousVersions[$currentVendor][$majorMinor]);
+ return isset($allowedPreviousVersions[$currentVendor][$majorMinor]) ||
+ isset($allowedPreviousVersions[$currentVendor][$oldVersion]);
}
/**
@@ -448,10 +464,12 @@ class Updater extends BasicEmitter {
$this->log,
\OC::$server->getConfig()
);
+ $this->emit('\OC\Updater', 'checkAppStoreAppBefore', [$app]);
if (Installer::isUpdateAvailable($app, \OC::$server->getAppFetcher())) {
$this->emit('\OC\Updater', 'upgradeAppStoreApp', [$app]);
$installer->updateAppstoreApp($app);
}
+ $this->emit('\OC\Updater', 'checkAppStoreApp', [$app]);
} catch (\Exception $ex) {
$this->log->logException($ex, ['app' => 'core']);
}
@@ -579,8 +597,14 @@ class Updater extends BasicEmitter {
$this->listen('\OC\Updater', 'thirdPartyAppDisabled', function ($app) use ($log) {
$log->info('\OC\Updater::thirdPartyAppDisabled: Disabled 3rd-party app: ' . $app, ['app' => 'updater']);
});
+ $this->listen('\OC\Updater', 'checkAppStoreAppBefore', function ($app) use($log) {
+ $log->info('\OC\Updater::checkAppStoreAppBefore: Checking for update of app "' . $app . '" in appstore', ['app' => 'updater']);
+ });
$this->listen('\OC\Updater', 'upgradeAppStoreApp', function ($app) use($log) {
- $log->info('\OC\Updater::upgradeAppStoreApp: Update 3rd-party app: ' . $app, ['app' => 'updater']);
+ $log->info('\OC\Updater::upgradeAppStoreApp: Update app "' . $app . '" from appstore', ['app' => 'updater']);
+ });
+ $this->listen('\OC\Updater', 'checkAppStoreApp', function ($app) use($log) {
+ $log->info('\OC\Updater::checkAppStoreApp: Checked for update of app "' . $app . '" in appstore', ['app' => 'updater']);
});
$this->listen('\OC\Updater', 'appUpgradeCheckBefore', function () use ($log) {
$log->info('\OC\Updater::appUpgradeCheckBefore: Checking updates of apps', ['app' => 'updater']);
diff --git a/lib/private/User/Session.php b/lib/private/User/Session.php
index ac0150ff611..0291c1baecb 100644
--- a/lib/private/User/Session.php
+++ b/lib/private/User/Session.php
@@ -725,7 +725,7 @@ class Session implements IUserSession, Emitter {
*/
public function tryTokenLogin(IRequest $request) {
$authHeader = $request->getHeader('Authorization');
- if (strpos($authHeader, 'token ') === false) {
+ if (strpos($authHeader, 'Bearer ') === false) {
// No auth header, let's try session id
try {
$token = $this->session->getId();
@@ -733,7 +733,7 @@ class Session implements IUserSession, Emitter {
return false;
}
} else {
- $token = substr($authHeader, 6);
+ $token = substr($authHeader, 7);
}
if (!$this->loginWithToken($token)) {
@@ -792,7 +792,13 @@ class Session implements IUserSession, Emitter {
$this->setToken($token->getId());
$this->lockdownManager->setToken($token);
$user->updateLastLoginTimestamp();
- $this->manager->emit('\OC\User', 'postRememberedLogin', [$user]);
+ $password = null;
+ try {
+ $password = $this->tokenProvider->getPassword($token, $sessionId);
+ } catch (PasswordlessTokenException $ex) {
+ // Ignore
+ }
+ $this->manager->emit('\OC\User', 'postRememberedLogin', [$user, $password]);
return true;
}
diff --git a/lib/private/User/User.php b/lib/private/User/User.php
index f55807bc769..5e5d3f0d772 100644
--- a/lib/private/User/User.php
+++ b/lib/private/User/User.php
@@ -30,6 +30,7 @@
namespace OC\User;
+use OC\Accounts\AccountManager;
use OC\Files\Cache\Storage;
use OC\Hooks\Emitter;
use OC_Helper;
@@ -235,6 +236,10 @@ class User implements IUser {
$notification->setUser($this->uid);
\OC::$server->getNotificationManager()->markProcessed($notification);
+ /** @var AccountManager $accountManager */
+ $accountManager = \OC::$server->query(AccountManager::class);
+ $accountManager->deleteUser($this);
+
if ($this->emitter) {
$this->emitter->emit('\OC\User', 'postDelete', array($this));
}
diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php
index 111da7d0d40..2e9e97d5bd7 100644
--- a/lib/private/legacy/app.php
+++ b/lib/private/legacy/app.php
@@ -357,8 +357,6 @@ class OC_App {
public function enable($appId,
$groups = null) {
self::$enabledAppsCache = []; // flush
- $l = \OC::$server->getL10N('core');
- $config = \OC::$server->getConfig();
// Check if app is already downloaded
$installer = new Installer(
@@ -374,23 +372,7 @@ class OC_App {
$installer->downloadApp($appId);
}
- if (!Installer::isInstalled($appId)) {
- $appId = self::installApp(
- $appId,
- $config,
- $l
- );
- $appPath = self::getAppPath($appId);
- self::registerAutoloading($appId, $appPath);
- $installer->installApp($appId);
- } else {
- // check for required dependencies
- $info = self::getAppInfo($appId);
- self::checkAppDependencies($config, $l, $info);
- $appPath = self::getAppPath($appId);
- self::registerAutoloading($appId, $appPath);
- $installer->installApp($appId);
- }
+ $installer->installApp($appId);
$appManager = \OC::$server->getAppManager();
if (!is_null($groups)) {
@@ -406,13 +388,6 @@ class OC_App {
} else {
$appManager->enableApp($appId);
}
-
- $info = self::getAppInfo($appId);
- if(isset($info['settings']) && is_array($info['settings'])) {
- $appPath = self::getAppPath($appId);
- self::registerAutoloading($appId, $appPath);
- \OC::$server->getSettingsManager()->setupSettings($info['settings']);
- }
}
/**
@@ -1258,7 +1233,7 @@ class OC_App {
* @param array $info
* @throws \Exception
*/
- protected static function checkAppDependencies($config, $l, $info) {
+ public static function checkAppDependencies($config, $l, $info) {
$dependencyAnalyzer = new DependencyAnalyzer(new Platform($config), $l);
$missing = $dependencyAnalyzer->analyze($info);
if (!empty($missing)) {
diff --git a/lib/private/legacy/helper.php b/lib/private/legacy/helper.php
index 9c4bc895fb9..6775fe99dcd 100644
--- a/lib/private/legacy/helper.php
+++ b/lib/private/legacy/helper.php
@@ -537,7 +537,7 @@ class OC_Helper {
$includeExtStorage = \OC::$server->getSystemConfig()->getValue('quota_include_external_storage', false);
if (!$rootInfo) {
- $rootInfo = \OC\Files\Filesystem::getFileInfo($path, false);
+ $rootInfo = \OC\Files\Filesystem::getFileInfo($path, $includeExtStorage ? 'ext' : false);
}
if (!$rootInfo instanceof \OCP\Files\FileInfo) {
throw new \OCP\Files\NotFoundException();
diff --git a/lib/private/legacy/util.php b/lib/private/legacy/util.php
index a1e6f2fe702..ac6c47b189c 100644
--- a/lib/private/legacy/util.php
+++ b/lib/private/legacy/util.php
@@ -120,6 +120,46 @@ class OC_Util {
}
/**
+ * mounting an object storage as the root fs will in essence remove the
+ * necessity of a data folder being present.
+ *
+ * @param array $config containing 'class' and optional 'arguments'
+ */
+ private static function initObjectStoreMultibucketRootFS($config) {
+ // check misconfiguration
+ if (empty($config['class'])) {
+ \OCP\Util::writeLog('files', 'No class given for objectstore', \OCP\Util::ERROR);
+ }
+ if (!isset($config['arguments'])) {
+ $config['arguments'] = array();
+ }
+
+ // instantiate object store implementation
+ $name = $config['class'];
+ if (strpos($name, 'OCA\\') === 0 && substr_count($name, '\\') >= 2) {
+ $segments = explode('\\', $name);
+ OC_App::loadApp(strtolower($segments[1]));
+ }
+
+ if (!isset($config['arguments']['bucket'])) {
+ $config['arguments']['bucket'] = '';
+ }
+ // put the root FS always in first bucket for multibucket configuration
+ $config['arguments']['bucket'] .= '0';
+
+ $config['arguments']['objectstore'] = new $config['class']($config['arguments']);
+ // mount with plain / root object store implementation
+ $config['class'] = '\OC\Files\ObjectStore\ObjectStoreStorage';
+
+ // mount object storage as root
+ \OC\Files\Filesystem::initMountManager();
+ if (!self::$rootMounted) {
+ \OC\Files\Filesystem::mount($config['class'], $config['arguments'], '/');
+ self::$rootMounted = true;
+ }
+ }
+
+ /**
* Can be set up
*
* @param string $user
@@ -215,7 +255,12 @@ class OC_Util {
//check if we are using an object storage
$objectStore = \OC::$server->getSystemConfig()->getValue('objectstore', null);
- if (isset($objectStore)) {
+ $objectStoreMultibucket = \OC::$server->getSystemConfig()->getValue('objectstore_multibucket', null);
+
+ // use the same order as in ObjectHomeMountProvider
+ if (isset($objectStoreMultibucket)) {
+ self::initObjectStoreMultibucketRootFS($objectStoreMultibucket);
+ } elseif (isset($objectStore)) {
self::initObjectStoreRootFS($objectStore);
} else {
self::initLocalStorageRootFS();
diff --git a/lib/public/Authentication/Exceptions/PasswordUnavailableException.php b/lib/public/Authentication/Exceptions/PasswordUnavailableException.php
new file mode 100644
index 00000000000..f69b690266d
--- /dev/null
+++ b/lib/public/Authentication/Exceptions/PasswordUnavailableException.php
@@ -0,0 +1,34 @@
+<?php
+
+/**
+ * @copyright 2017 Morris Jobke <hey@morrisjobke.de>
+ *
+ * @author 2017 Morris Jobke <hey@morrisjobke.de>
+ *
+ * @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\Authentication\Exceptions;
+
+use Exception;
+
+/**
+ * @since 12
+ */
+class PasswordUnavailableException extends Exception {
+
+}
diff --git a/lib/public/Authentication/LoginCredentials/ICredentials.php b/lib/public/Authentication/LoginCredentials/ICredentials.php
index c5ef9574398..1734e3e0715 100644
--- a/lib/public/Authentication/LoginCredentials/ICredentials.php
+++ b/lib/public/Authentication/LoginCredentials/ICredentials.php
@@ -24,6 +24,8 @@
namespace OCP\Authentication\LoginCredentials;
+use OCP\Authentication\Exceptions\PasswordUnavailableException;
+
/**
* @since 12
*/
@@ -53,6 +55,7 @@ interface ICredentials {
* @since 12
*
* @return string
+ * @throws PasswordUnavailableException
*/
public function getPassword();
}
diff --git a/lib/public/ILogger.php b/lib/public/ILogger.php
index 5680ec781cb..2d1bf4b804d 100644
--- a/lib/public/ILogger.php
+++ b/lib/public/ILogger.php
@@ -132,7 +132,7 @@ interface ILogger {
*
* <code>
* $logger->logException($ex, [
- * 'message' => 'Exception during cron job execution'
+ * 'message' => 'Exception during background job execution'
* ]);
* </code>
*
diff --git a/settings/Application.php b/settings/Application.php
index 52661c5bae2..0ca2d28dfe6 100644
--- a/settings/Application.php
+++ b/settings/Application.php
@@ -30,8 +30,6 @@
namespace OC\Settings;
-use OC\App\AppStore\Fetcher\AppFetcher;
-use OC\App\AppStore\Fetcher\CategoryFetcher;
use OC\AppFramework\Utility\TimeFactory;
use OC\Authentication\Token\IProvider;
use OC\Server;
@@ -110,26 +108,6 @@ class Application extends App {
Util::getDefaultEmailAddress('no-reply')
);
});
- $container->registerService(AppFetcher::class, function (IContainer $c) {
- /** @var Server $server */
- $server = $c->query('ServerContainer');
- return new AppFetcher(
- $server->getAppDataDir('appstore'),
- $server->getHTTPClientService(),
- $server->query(TimeFactory::class),
- $server->getConfig()
- );
- });
- $container->registerService(CategoryFetcher::class, function (IContainer $c) {
- /** @var Server $server */
- $server = $c->query('ServerContainer');
- return new CategoryFetcher(
- $server->getAppDataDir('appstore'),
- $server->getHTTPClientService(),
- $server->query(TimeFactory::class),
- $server->getConfig()
- );
- });
}
public function register() {
diff --git a/settings/ajax/installapp.php b/settings/ajax/installapp.php
deleted file mode 100644
index 17e5eadf50e..00000000000
--- a/settings/ajax/installapp.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Georg Ehrke <georg@owncloud.com>
- * @author Lukas Reschke <lukas@statuscode.ch>
- * @author Robin Appelman <robin@icewind.nl>
- *
- * @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/>
- *
- */
-OCP\JSON::checkAdminUser();
-OCP\JSON::callCheck();
-
-$lastConfirm = (int) \OC::$server->getSession()->get('last-password-confirm');
-if ($lastConfirm < (time() - 30 * 60 + 15)) { // allow 15 seconds delay
- $l = \OC::$server->getL10N('core');
- OC_JSON::error(array( 'data' => array( 'message' => $l->t('Password confirmation is required'))));
- exit();
-}
-
-if (!array_key_exists('appid', $_POST)) {
- OC_JSON::error();
- exit;
-}
-
-$app = new OC_App();
-$appId = (string)$_POST['appid'];
-$appId = OC_App::cleanAppId($appId);
-$result = $app->installApp(
- $appId,
- \OC::$server->getConfig(),
- \OC::$server->getL10N('core')
-);
-if($result !== false) {
- OC_JSON::success(array('data' => array('appid' => $appId)));
-} else {
- $l = \OC::$server->getL10N('settings');
- OC_JSON::error(array("data" => array( "message" => $l->t("Couldn't remove app.") )));
-}
diff --git a/settings/css/settings.css b/settings/css/settings.css
index 44a7f9879c9..f2eb6282f69 100644
--- a/settings/css/settings.css
+++ b/settings/css/settings.css
@@ -54,6 +54,10 @@ input#openid, input#webdav {
width: 100%;
}
+#avatarform .jcrop-keymgr {
+ display:none !important;
+}
+
#displayavatar {
text-align: center;
}
@@ -1129,7 +1133,7 @@ table.grid td.date {
}
#shareAPI input#shareapiExpireAfterNDays {
- width: 25px;
+ width: 40px;
}
#shareAPI .indent {
diff --git a/settings/l10n/ar.js b/settings/l10n/ar.js
index 1671737eaa2..dd4de545232 100644
--- a/settings/l10n/ar.js
+++ b/settings/l10n/ar.js
@@ -44,7 +44,6 @@ OC.L10N.register(
"Test email settings" : "فحص إعدادات البريد الإلكتروني",
"System locale can not be set to a one which supports UTF-8." : "لا يمكن تعيين لغة النظام الى احد اللغات التي تدعم UTF-8.",
"This means that there might be problems with certain characters in file names." : "هذا يعني انه من الممكن ان يكون هناك مشكلة في بعض الاحرف في اسم الملف.",
- "Cron" : "مجدول",
"Execute one task with each page loaded" : "قم بتنفيذ مهمة واحدة مع كل صفحة تم تحميلها",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "الملف cron.php تم تسجيله فى خدمه webcron لاستدعاء الملف cron.php كل 15 دقيقه",
"Version" : "إصدار",
@@ -95,6 +94,7 @@ OC.L10N.register(
"Sending..." : "جاري الارسال ...",
"Uninstalling ...." : "جاري إلغاء التثبيت ...",
"Uninstall" : "ألغاء التثبيت",
- "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "موديل 'fileinfo' الخاص بالـPHP مفقود . نوصي بتفعيل هذا الموديل للحصول على أفضل النتائج مع خاصية التحقق "
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "موديل 'fileinfo' الخاص بالـPHP مفقود . نوصي بتفعيل هذا الموديل للحصول على أفضل النتائج مع خاصية التحقق ",
+ "Cron" : "مجدول"
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
diff --git a/settings/l10n/ar.json b/settings/l10n/ar.json
index 04e2dbd47a7..b95eb4ab64a 100644
--- a/settings/l10n/ar.json
+++ b/settings/l10n/ar.json
@@ -42,7 +42,6 @@
"Test email settings" : "فحص إعدادات البريد الإلكتروني",
"System locale can not be set to a one which supports UTF-8." : "لا يمكن تعيين لغة النظام الى احد اللغات التي تدعم UTF-8.",
"This means that there might be problems with certain characters in file names." : "هذا يعني انه من الممكن ان يكون هناك مشكلة في بعض الاحرف في اسم الملف.",
- "Cron" : "مجدول",
"Execute one task with each page loaded" : "قم بتنفيذ مهمة واحدة مع كل صفحة تم تحميلها",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "الملف cron.php تم تسجيله فى خدمه webcron لاستدعاء الملف cron.php كل 15 دقيقه",
"Version" : "إصدار",
@@ -93,6 +92,7 @@
"Sending..." : "جاري الارسال ...",
"Uninstalling ...." : "جاري إلغاء التثبيت ...",
"Uninstall" : "ألغاء التثبيت",
- "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "موديل 'fileinfo' الخاص بالـPHP مفقود . نوصي بتفعيل هذا الموديل للحصول على أفضل النتائج مع خاصية التحقق "
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "موديل 'fileinfo' الخاص بالـPHP مفقود . نوصي بتفعيل هذا الموديل للحصول على أفضل النتائج مع خاصية التحقق ",
+ "Cron" : "مجدول"
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
} \ No newline at end of file
diff --git a/settings/l10n/ast.js b/settings/l10n/ast.js
index 023953494d1..c1a662768e5 100644
--- a/settings/l10n/ast.js
+++ b/settings/l10n/ast.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"Your apps" : "Les tos aplicaciones",
"Enabled apps" : "Aplicaciones habilitaes",
"Disabled apps" : "Aplicaciones deshabilitaes",
+ "App bundles" : "Llotes d'aplicaciones",
"Wrong password" : "Contraseña incorreuta",
"Saved" : "Guardóse",
"No user supplied" : "Nun s'apurrieron usuarios",
@@ -29,25 +30,92 @@ OC.L10N.register(
"Unable to delete group." : "Nun pue desaniciase'l grupu.",
"Invalid SMTP password." : "Contraseña SMTP non válida",
"Well done, %s!" : "¡Bien fecho, %s!",
+ "Email could not be sent. Check your mail server log" : "Nun pudo unviase'l corréu. Comprueba'l rexistru del to sirvidor de corréu",
+ "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Asocedió un problema entrín s'unviaba'l corréu. Revisa los tos axustes por favor. (Fallu: %s)",
"You need to set your user email before being able to send test emails." : "Tienes de configurar la direición de corréu-e enantes de poder unviar mensaxes de prueba.",
"Invalid request" : "Solicitú inválida",
+ "Invalid mail address" : "Direición non válida de corréu",
+ "No valid group selected" : "Nun s'esbilló dengún grupu válidu",
+ "A user with that name already exists." : "Yá esiste un nome d'usuariu con esi nome.",
+ "Unable to create user." : "Nun pue crease l'usuariu.",
+ "Unable to delete user." : "Nun pue desaniciase l'usuariu.",
+ "Error while enabling user." : "Fallu entrín s'habilitaba l'usuariu.",
+ "Error while disabling user." : "Fallu entrín se deshabilitaba l'usuariu.",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Pa verificar la to cuenta de Twitter, espubliza elllí'l tuit de darré (por favor asegúrate que lu espublices ensin saltos de llinia):",
"Unable to change full name" : "Nun pue camudase'l nome completu",
+ "Unable to change email address" : "Nun pue camudase la direición de corréu",
"Your full name has been changed." : "Camudóse'l nome completu.",
+ "Invalid user" : "Usuariu non válidu",
+ "Unable to change mail address" : "Nun pue camudase la direición de corréu",
"Email saved" : "Corréu-e guardáu",
+ "If you did not request this, please contact an administrator." : "Si nun solicitesti esto, por favor contautu con un alministrador.",
+ "The new email address is %s" : "La nueva direición de corréu ye %s",
+ "Welcome aboard" : "Afáyate en barcu",
+ "Welcome aboard %s" : "Afáyate en barcu %s",
+ "You have now an %s account, you can add, protect, and share your data." : "Agora tienes una cuenta %s, pues amestar, protexer y compartir los tos datos.",
+ "Your username is: %s" : "El to nome d'usuariu ye: %s",
+ "Go to %s" : "Dir a %s",
+ "Password confirmation is required" : "Ríquese la contraseña de confirmación",
"Couldn't remove app." : "Nun pudo desaniciase l'aplicación.",
"Couldn't update app." : "Nun pudo anovase l'aplicación.",
+ "Are you really sure you want add {domain} as trusted domain?" : "¿De xuru que quies amestar {domain} como dominiu d'enfotu?",
"Add trusted domain" : "Amestar dominiu de confianza",
+ "Migration in progress. Please wait until the migration is finished" : "Migración en cursu. Espera fasta que la migración fine, por favor.",
+ "Migration started …" : "Migración aniciada...",
+ "Not saved" : "Nun se guardó",
+ "Sending…" : "Unviando...",
"Email sent" : "Corréu-e unviáu",
+ "Official" : "Oficial",
"All" : "Toos",
+ "No apps found for your version" : "Nun s'alcontraron anovamientos pa la to versión",
+ "Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "Les aplicaciones oficiales desendólquense dientro la comunidá. Ufren funcionalidá central y tán preparaes pal usu en producción.",
+ "Disabling app …" : "Deshabilitando aplicación...",
"Error while disabling app" : "Fallu mientres se desactivaba l'aplicación",
"Disable" : "Desactivar",
"Enable" : "Activar",
+ "Enabling app …" : "Habilitando aplicación...",
"Error while enabling app" : "Fallu mientres s'activaba l'aplicación",
+ "Error: this app cannot be enabled because it makes the server unstable" : "Fallu: esta aplicación nun pue habilitase porque fadrá inestable'l sirvidor",
+ "Error: could not disable broken app" : "Fallu: nun pudo deshabilitase l'aplicación rota",
+ "Error while disabling broken app" : "Fallu entrín se deshabilitaba l'aplicación rota",
"Updating...." : "Anovando....",
"Error while updating app" : "Fallu mientres s'anovaba l'aplicación",
"Updated" : "Anováu",
+ "Removing …" : "Desaniciando...",
+ "Error while removing app" : "Fallu entrín se desaniciaba l'aplicación",
+ "Remove" : "Desaniciar",
+ "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Habilitóse l'aplicación pero precisa anovase. Redirixirásete a la páxina d'anovamientu en 5 segundos.",
+ "App update" : "Paquetes d'aplicaciones",
+ "Experimental" : "Esperimental",
+ "Enable all" : "Habilitar too",
+ "Revoke" : "Revocar",
+ "Internet Explorer" : "Internet Explorer",
+ "Edge" : "Edge",
+ "Firefox" : "Firefox",
+ "Google Chrome" : "Google Chrome",
+ "Safari" : "Safari",
+ "Google Chrome for Android" : "Google Chrome p'Android",
+ "iPhone iOS" : "iOS d'iPhone",
+ "iPad iOS" : "iOS d'iPad",
+ "iOS Client" : "Veceru d'iOS",
+ "Android Client" : "Veceru d'Android",
+ "This session" : "Esta sesión",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copióse!",
+ "Not supported!" : "¡Nun se sofita!",
+ "Press ⌘-C to copy." : "Primi ⌘-C pa copiar.",
+ "Press Ctrl-C to copy." : "Primi Ctrl-C pa copiar.",
+ "Error while loading browser sessions and device tokens" : "Fallu entrín se carganben les sesiones del restolador y pases de preseos",
+ "Error while creating device token" : "Fallu entrín se creaba'l pase'l preséu",
+ "Error while deleting the token" : "Fallu entrín se desaniciaba'l pase",
+ "An error occurred. Please upload an ASCII-encoded PEM certificate." : "Asocedió un fallu. Xubi un certificáu PEM con codificación ASCII, por favor.",
"Valid until {date}" : "Válidu fasta {date}",
"Delete" : "Desaniciar",
+ "Local" : "Llocal",
+ "Only visible to local users" : "Namái visible pa usuarios llocales",
+ "Contacts" : "Contautos",
+ "Verify" : "Verificar",
+ "Verifying …" : "Verificando...",
"Select a profile picture" : "Esbillar una imaxe de perfil",
"Very weak password" : "Contraseña mui feble",
"Weak password" : "Contraseña feble",
@@ -56,19 +124,35 @@ OC.L10N.register(
"Strong password" : "Contraseña mui bona",
"Groups" : "Grupos",
"Unable to delete {objName}" : "Nun pue desaniciase {objName}",
+ "Error creating group: {message}" : "Fallu crenado'l grupu: {message}",
"A valid group name must be provided" : "Hai d'escribir un nome de grupu válidu",
"deleted {groupName}" : "desaniciáu {groupName}",
"undo" : "desfacer",
"never" : "enxamás",
"deleted {userName}" : "desaniciáu {userName}",
+ "Unable to add user to group {group}" : "Nun pue amestase l'usuariu al grupu {group}",
+ "Unable to remove user from group {group}" : "Nun pue desaniciase l'usuariu del grupu {group}",
+ "Add group" : "Amestar grupu",
+ "Could not change the users email" : "Nun pudo camudase'l corréu de los usuarios",
+ "Error while changing status of {user}" : "Fallu entrín se camudaba l'estáu de {usuariu}",
"A valid username must be provided" : "Tien d'apurrise un nome d'usuariu válidu",
+ "Error creating user: {message}" : "Fallu creando l'usuariu: {message}",
"A valid password must be provided" : "Tien d'apurrise una contraseña válida",
+ "A valid email must be provided" : "Ha apurrise un corréu válidu",
"__language_name__" : "Asturianu",
"Unlimited" : "Non llendáu",
+ "Verifying" : "Verificando",
+ "Personal info" : "Información personal",
+ "Sessions" : "Sesiones",
"None" : "Dengún",
"Login" : "Entamar sesión",
"Plain" : "Planu",
"NT LAN Manager" : "Xestor de NT LAN",
+ "SSL/TLS" : "SSL/TLS",
+ "STARTTLS" : "STARTTLS",
+ "Email server" : "Sirvidor de corréu",
+ "Open documentation" : "Abrir documentación",
+ "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Nun ye importante configurar esti sirvidor pa que seya a unviar correos, como pa refitaminetos de contraseñes y avisos.",
"Send mode" : "Mou d'unviu",
"Encryption" : "Cifráu",
"From address" : "Dende la direición",
@@ -80,22 +164,26 @@ OC.L10N.register(
"Credentials" : "Credenciales",
"SMTP Username" : "Nome d'usuariu SMTP",
"SMTP Password" : "Contraseña SMTP",
+ "Store credentials" : "Atroxar credenciales",
"Test email settings" : "Probar configuración de corréu electrónicu",
"Send email" : "Unviar mensaxe",
+ "Server-side encryption" : "Cifráu del llau del sirvidor",
+ "Enable encryption" : "Habilitar cifráu",
+ "Start migration" : "Aniciar migración",
+ "Security & setup warnings" : "Alvertancies de seguranza y configuración",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ta aparentemente configuráu pa desaniciar bloques de documentos en llinia. Esto va facer que delles aplicaciones principales nun tean accesibles.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dablemente esto seya culpa d'un caché o acelerador, como por exemplu Zend OPcache o eAccelerator.",
"System locale can not be set to a one which supports UTF-8." : "Nun se pue escoyer una configuración rexonal que sofite UTF-8.",
"This means that there might be problems with certain characters in file names." : "Esto significa que pue haber problemes con ciertos caráuteres nos nomes de los ficheros.",
- "Cron" : "Cron",
- "Cron was not executed yet!" : "¡Cron entá nun s'executó!",
+ "All checks passed." : "Pasáronse toles comprobaciones.",
"Execute one task with each page loaded" : "Executar una xera con cada páxina cargada",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php rexístrase nun serviciu webcron pa llamar a cron.php cada 15 minutos al traviés de HTTP.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el serviciu cron del sistema pa llamar al ficheru cron.php cada 15 mins.",
"Version" : "Versión",
"Sharing" : "Compartiendo",
"Allow apps to use the Share API" : "Permitir a les aplicaciones usar la API de Compartición",
"Allow users to share via link" : "Permitir a los usuarios compartir vía enllaz",
"Allow public uploads" : "Permitir xubes públiques",
+ "Always ask for a password" : "Pidir siempres la contraseña",
"Enforce password protection" : "Ameyora la proteición por contraseña.",
"Set default expiration date" : "Afitar la data d'espiración predeterminada",
"Expire after " : "Caduca dempués de",
@@ -105,15 +193,43 @@ OC.L10N.register(
"Restrict users to only share with users in their groups" : "Restrinxir a los usuarios a compartir namái con otros usuarios nos sos grupos",
"Exclude groups from sharing" : "Esclúi grupos de compartir",
"These groups will still be able to receive shares, but not to initiate them." : "Estos grupos van poder siguir recibiendo conteníos compartíos, pero nun van poder anicialos",
+ "Tips & tricks" : "Conseyos y trucos",
+ "How to do backups" : "Cómo facer respaldos",
+ "Limit to groups" : "Llendar a grupos",
+ "This app has an update available." : "Esta apllicación tien un anovamientu disponible.",
+ "by %s" : "por %s",
"Documentation:" : "Documentación:",
+ "User documentation" : "Documentación d'usuariu",
+ "Visit website" : "Visitar sitiu web",
+ "Report a bug" : "Informar un fallu",
+ "Show description …" : "Amosar descripción...",
+ "Hide description …" : "Anubrir descripción...",
+ "This app cannot be installed because the following dependencies are not fulfilled:" : "Nun pue instalase esta aplicación porque nun se cumplen les dependencies de darréu:",
"Enable only for specific groups" : "Habilitar namái pa grupos específicos",
+ "Common Name" : "Nome común",
+ "Administrator documentation" : "Documentación d'alministrador",
+ "Online documentation" : "Documentación en llinia",
"Forum" : "Foru",
+ "Commercial support" : "Sofitu comercial",
+ "You are using <strong>%s</strong> of <strong>%s</strong>" : "Tas usando <strong>%s</strong> de <strong>%s</strong>",
+ "You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "Tas usando <strong>%s</strong> de <strong>%s</strong> (<strong>%s %%</strong>)",
"Profile picture" : "Semeya de perfil",
"Upload new" : "Xubir otra",
"Remove image" : "Desaniciar imaxe",
+ "Picture provided by original account" : "Semeya fornida pola cuenta orixinal",
"Cancel" : "Encaboxar",
+ "Full name" : "Nome completu",
"Email" : "Corréu-e",
"Your email address" : "Direición de corréu-e",
+ "No email address set" : "Nun s'afitó denguna direición de corréu",
+ "Phone number" : "Númberu de teléfonu",
+ "Your phone number" : "El to númberu de teléfonu",
+ "Address" : "Direición",
+ "Your postal address" : "La to direición postal",
+ "Website" : "Sitiu web",
+ "Link https://…" : "Enllaz https://…",
+ "Twitter" : "Twitter",
+ "You are member of the following groups:" : "Yes miembru de los grupos de darréu:",
"Password" : "Contraseña",
"Current password" : "Contraseña actual",
"New password" : "Contraseña nueva",
@@ -125,16 +241,28 @@ OC.L10N.register(
"Android app" : "Aplicación d'Android",
"iOS app" : "Aplicación d'iOS",
"Show First Run Wizard again" : "Amosar nuevamente l'Encontu d'execución inicial",
+ "Device" : "Preséu",
+ "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "Equí pues xenerar contraseñes individuales p'aplicaciones pa qu'asina nun tengas de dar la to contraseña. Tamién pues revocales de mou individual.",
"Name" : "Nome",
+ "App name" : "Nome d'aplicación",
+ "For security reasons this password will only be shown once." : "Por razones de seguranza, esta contraseña namái s'amosará una vegada.",
"Username" : "Nome d'usuariu",
+ "Done" : "Fecho",
+ "Follow us on Google+!" : "¡Síguimos en Google+!",
+ "Follow us on Twitter!" : "¡Síguimos en Twitter!",
+ "Subscribe to our newsletter!" : "¡Soscríbite al nuesu boletín!",
+ "Settings" : "Axustes",
+ "E-Mail" : "Corréu",
"Create" : "Crear",
"Admin Recovery Password" : "Recuperación de la contraseña d'alministración",
"Enter the recovery password in order to recover the users files during password change" : "Introduz la contraseña de recuperación col envís de recuperar los ficheros de los usuarios mientres el cambéu de contraseña.",
+ "Group name" : "Nome del grupu",
"Everyone" : "Toos",
"Admins" : "Almins",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Por favor indica la cuota d'almacenamientu (ex: \"512 MB\" o \"12 GB\")",
"Other" : "Otru",
"Quota" : "Cuota",
+ "Storage location" : "Allugamientu d'almacenamientu",
"change full name" : "camudar el nome completu",
"set new password" : "afitar nueva contraseña",
"Default" : "Predetermináu",
@@ -151,6 +279,13 @@ OC.L10N.register(
"Uninstall" : "Desinstalar",
"This is used for sending out notifications." : "Esto úsase pa unviar notificaciones.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Nun s'atopó'l módulu PHP 'fileinfo'. Encamentámoste qu'habilites esti módulu pa obtener meyores resultaos cola deteición de tribes MIME.",
- "Cheers!" : "¡Salú!"
+ "Cron" : "Cron",
+ "Cron was not executed yet!" : "¡Cron entá nun s'executó!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el serviciu cron del sistema pa llamar al ficheru cron.php cada 15 mins.",
+ "Uninstall app" : "Desinstalar aplicación",
+ "Cheers!" : "¡Salú!",
+ "Your website" : "El to sitiu web",
+ "Follow us on Google Plus!" : "¡Síguimos en Google Plus!",
+ "Subscribe to our twitter channel!" : "¡Soscríbite a la nuesa canal de Twitter!"
},
"nplurals=2; plural=(n != 1);");
diff --git a/settings/l10n/ast.json b/settings/l10n/ast.json
index cee6687893f..e151e90108e 100644
--- a/settings/l10n/ast.json
+++ b/settings/l10n/ast.json
@@ -9,6 +9,7 @@
"Your apps" : "Les tos aplicaciones",
"Enabled apps" : "Aplicaciones habilitaes",
"Disabled apps" : "Aplicaciones deshabilitaes",
+ "App bundles" : "Llotes d'aplicaciones",
"Wrong password" : "Contraseña incorreuta",
"Saved" : "Guardóse",
"No user supplied" : "Nun s'apurrieron usuarios",
@@ -27,25 +28,92 @@
"Unable to delete group." : "Nun pue desaniciase'l grupu.",
"Invalid SMTP password." : "Contraseña SMTP non válida",
"Well done, %s!" : "¡Bien fecho, %s!",
+ "Email could not be sent. Check your mail server log" : "Nun pudo unviase'l corréu. Comprueba'l rexistru del to sirvidor de corréu",
+ "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Asocedió un problema entrín s'unviaba'l corréu. Revisa los tos axustes por favor. (Fallu: %s)",
"You need to set your user email before being able to send test emails." : "Tienes de configurar la direición de corréu-e enantes de poder unviar mensaxes de prueba.",
"Invalid request" : "Solicitú inválida",
+ "Invalid mail address" : "Direición non válida de corréu",
+ "No valid group selected" : "Nun s'esbilló dengún grupu válidu",
+ "A user with that name already exists." : "Yá esiste un nome d'usuariu con esi nome.",
+ "Unable to create user." : "Nun pue crease l'usuariu.",
+ "Unable to delete user." : "Nun pue desaniciase l'usuariu.",
+ "Error while enabling user." : "Fallu entrín s'habilitaba l'usuariu.",
+ "Error while disabling user." : "Fallu entrín se deshabilitaba l'usuariu.",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Pa verificar la to cuenta de Twitter, espubliza elllí'l tuit de darré (por favor asegúrate que lu espublices ensin saltos de llinia):",
"Unable to change full name" : "Nun pue camudase'l nome completu",
+ "Unable to change email address" : "Nun pue camudase la direición de corréu",
"Your full name has been changed." : "Camudóse'l nome completu.",
+ "Invalid user" : "Usuariu non válidu",
+ "Unable to change mail address" : "Nun pue camudase la direición de corréu",
"Email saved" : "Corréu-e guardáu",
+ "If you did not request this, please contact an administrator." : "Si nun solicitesti esto, por favor contautu con un alministrador.",
+ "The new email address is %s" : "La nueva direición de corréu ye %s",
+ "Welcome aboard" : "Afáyate en barcu",
+ "Welcome aboard %s" : "Afáyate en barcu %s",
+ "You have now an %s account, you can add, protect, and share your data." : "Agora tienes una cuenta %s, pues amestar, protexer y compartir los tos datos.",
+ "Your username is: %s" : "El to nome d'usuariu ye: %s",
+ "Go to %s" : "Dir a %s",
+ "Password confirmation is required" : "Ríquese la contraseña de confirmación",
"Couldn't remove app." : "Nun pudo desaniciase l'aplicación.",
"Couldn't update app." : "Nun pudo anovase l'aplicación.",
+ "Are you really sure you want add {domain} as trusted domain?" : "¿De xuru que quies amestar {domain} como dominiu d'enfotu?",
"Add trusted domain" : "Amestar dominiu de confianza",
+ "Migration in progress. Please wait until the migration is finished" : "Migración en cursu. Espera fasta que la migración fine, por favor.",
+ "Migration started …" : "Migración aniciada...",
+ "Not saved" : "Nun se guardó",
+ "Sending…" : "Unviando...",
"Email sent" : "Corréu-e unviáu",
+ "Official" : "Oficial",
"All" : "Toos",
+ "No apps found for your version" : "Nun s'alcontraron anovamientos pa la to versión",
+ "Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "Les aplicaciones oficiales desendólquense dientro la comunidá. Ufren funcionalidá central y tán preparaes pal usu en producción.",
+ "Disabling app …" : "Deshabilitando aplicación...",
"Error while disabling app" : "Fallu mientres se desactivaba l'aplicación",
"Disable" : "Desactivar",
"Enable" : "Activar",
+ "Enabling app …" : "Habilitando aplicación...",
"Error while enabling app" : "Fallu mientres s'activaba l'aplicación",
+ "Error: this app cannot be enabled because it makes the server unstable" : "Fallu: esta aplicación nun pue habilitase porque fadrá inestable'l sirvidor",
+ "Error: could not disable broken app" : "Fallu: nun pudo deshabilitase l'aplicación rota",
+ "Error while disabling broken app" : "Fallu entrín se deshabilitaba l'aplicación rota",
"Updating...." : "Anovando....",
"Error while updating app" : "Fallu mientres s'anovaba l'aplicación",
"Updated" : "Anováu",
+ "Removing …" : "Desaniciando...",
+ "Error while removing app" : "Fallu entrín se desaniciaba l'aplicación",
+ "Remove" : "Desaniciar",
+ "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Habilitóse l'aplicación pero precisa anovase. Redirixirásete a la páxina d'anovamientu en 5 segundos.",
+ "App update" : "Paquetes d'aplicaciones",
+ "Experimental" : "Esperimental",
+ "Enable all" : "Habilitar too",
+ "Revoke" : "Revocar",
+ "Internet Explorer" : "Internet Explorer",
+ "Edge" : "Edge",
+ "Firefox" : "Firefox",
+ "Google Chrome" : "Google Chrome",
+ "Safari" : "Safari",
+ "Google Chrome for Android" : "Google Chrome p'Android",
+ "iPhone iOS" : "iOS d'iPhone",
+ "iPad iOS" : "iOS d'iPad",
+ "iOS Client" : "Veceru d'iOS",
+ "Android Client" : "Veceru d'Android",
+ "This session" : "Esta sesión",
+ "Copy" : "Copiar",
+ "Copied!" : "¡Copióse!",
+ "Not supported!" : "¡Nun se sofita!",
+ "Press ⌘-C to copy." : "Primi ⌘-C pa copiar.",
+ "Press Ctrl-C to copy." : "Primi Ctrl-C pa copiar.",
+ "Error while loading browser sessions and device tokens" : "Fallu entrín se carganben les sesiones del restolador y pases de preseos",
+ "Error while creating device token" : "Fallu entrín se creaba'l pase'l preséu",
+ "Error while deleting the token" : "Fallu entrín se desaniciaba'l pase",
+ "An error occurred. Please upload an ASCII-encoded PEM certificate." : "Asocedió un fallu. Xubi un certificáu PEM con codificación ASCII, por favor.",
"Valid until {date}" : "Válidu fasta {date}",
"Delete" : "Desaniciar",
+ "Local" : "Llocal",
+ "Only visible to local users" : "Namái visible pa usuarios llocales",
+ "Contacts" : "Contautos",
+ "Verify" : "Verificar",
+ "Verifying …" : "Verificando...",
"Select a profile picture" : "Esbillar una imaxe de perfil",
"Very weak password" : "Contraseña mui feble",
"Weak password" : "Contraseña feble",
@@ -54,19 +122,35 @@
"Strong password" : "Contraseña mui bona",
"Groups" : "Grupos",
"Unable to delete {objName}" : "Nun pue desaniciase {objName}",
+ "Error creating group: {message}" : "Fallu crenado'l grupu: {message}",
"A valid group name must be provided" : "Hai d'escribir un nome de grupu válidu",
"deleted {groupName}" : "desaniciáu {groupName}",
"undo" : "desfacer",
"never" : "enxamás",
"deleted {userName}" : "desaniciáu {userName}",
+ "Unable to add user to group {group}" : "Nun pue amestase l'usuariu al grupu {group}",
+ "Unable to remove user from group {group}" : "Nun pue desaniciase l'usuariu del grupu {group}",
+ "Add group" : "Amestar grupu",
+ "Could not change the users email" : "Nun pudo camudase'l corréu de los usuarios",
+ "Error while changing status of {user}" : "Fallu entrín se camudaba l'estáu de {usuariu}",
"A valid username must be provided" : "Tien d'apurrise un nome d'usuariu válidu",
+ "Error creating user: {message}" : "Fallu creando l'usuariu: {message}",
"A valid password must be provided" : "Tien d'apurrise una contraseña válida",
+ "A valid email must be provided" : "Ha apurrise un corréu válidu",
"__language_name__" : "Asturianu",
"Unlimited" : "Non llendáu",
+ "Verifying" : "Verificando",
+ "Personal info" : "Información personal",
+ "Sessions" : "Sesiones",
"None" : "Dengún",
"Login" : "Entamar sesión",
"Plain" : "Planu",
"NT LAN Manager" : "Xestor de NT LAN",
+ "SSL/TLS" : "SSL/TLS",
+ "STARTTLS" : "STARTTLS",
+ "Email server" : "Sirvidor de corréu",
+ "Open documentation" : "Abrir documentación",
+ "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Nun ye importante configurar esti sirvidor pa que seya a unviar correos, como pa refitaminetos de contraseñes y avisos.",
"Send mode" : "Mou d'unviu",
"Encryption" : "Cifráu",
"From address" : "Dende la direición",
@@ -78,22 +162,26 @@
"Credentials" : "Credenciales",
"SMTP Username" : "Nome d'usuariu SMTP",
"SMTP Password" : "Contraseña SMTP",
+ "Store credentials" : "Atroxar credenciales",
"Test email settings" : "Probar configuración de corréu electrónicu",
"Send email" : "Unviar mensaxe",
+ "Server-side encryption" : "Cifráu del llau del sirvidor",
+ "Enable encryption" : "Habilitar cifráu",
+ "Start migration" : "Aniciar migración",
+ "Security & setup warnings" : "Alvertancies de seguranza y configuración",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP ta aparentemente configuráu pa desaniciar bloques de documentos en llinia. Esto va facer que delles aplicaciones principales nun tean accesibles.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dablemente esto seya culpa d'un caché o acelerador, como por exemplu Zend OPcache o eAccelerator.",
"System locale can not be set to a one which supports UTF-8." : "Nun se pue escoyer una configuración rexonal que sofite UTF-8.",
"This means that there might be problems with certain characters in file names." : "Esto significa que pue haber problemes con ciertos caráuteres nos nomes de los ficheros.",
- "Cron" : "Cron",
- "Cron was not executed yet!" : "¡Cron entá nun s'executó!",
+ "All checks passed." : "Pasáronse toles comprobaciones.",
"Execute one task with each page loaded" : "Executar una xera con cada páxina cargada",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php rexístrase nun serviciu webcron pa llamar a cron.php cada 15 minutos al traviés de HTTP.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el serviciu cron del sistema pa llamar al ficheru cron.php cada 15 mins.",
"Version" : "Versión",
"Sharing" : "Compartiendo",
"Allow apps to use the Share API" : "Permitir a les aplicaciones usar la API de Compartición",
"Allow users to share via link" : "Permitir a los usuarios compartir vía enllaz",
"Allow public uploads" : "Permitir xubes públiques",
+ "Always ask for a password" : "Pidir siempres la contraseña",
"Enforce password protection" : "Ameyora la proteición por contraseña.",
"Set default expiration date" : "Afitar la data d'espiración predeterminada",
"Expire after " : "Caduca dempués de",
@@ -103,15 +191,43 @@
"Restrict users to only share with users in their groups" : "Restrinxir a los usuarios a compartir namái con otros usuarios nos sos grupos",
"Exclude groups from sharing" : "Esclúi grupos de compartir",
"These groups will still be able to receive shares, but not to initiate them." : "Estos grupos van poder siguir recibiendo conteníos compartíos, pero nun van poder anicialos",
+ "Tips & tricks" : "Conseyos y trucos",
+ "How to do backups" : "Cómo facer respaldos",
+ "Limit to groups" : "Llendar a grupos",
+ "This app has an update available." : "Esta apllicación tien un anovamientu disponible.",
+ "by %s" : "por %s",
"Documentation:" : "Documentación:",
+ "User documentation" : "Documentación d'usuariu",
+ "Visit website" : "Visitar sitiu web",
+ "Report a bug" : "Informar un fallu",
+ "Show description …" : "Amosar descripción...",
+ "Hide description …" : "Anubrir descripción...",
+ "This app cannot be installed because the following dependencies are not fulfilled:" : "Nun pue instalase esta aplicación porque nun se cumplen les dependencies de darréu:",
"Enable only for specific groups" : "Habilitar namái pa grupos específicos",
+ "Common Name" : "Nome común",
+ "Administrator documentation" : "Documentación d'alministrador",
+ "Online documentation" : "Documentación en llinia",
"Forum" : "Foru",
+ "Commercial support" : "Sofitu comercial",
+ "You are using <strong>%s</strong> of <strong>%s</strong>" : "Tas usando <strong>%s</strong> de <strong>%s</strong>",
+ "You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "Tas usando <strong>%s</strong> de <strong>%s</strong> (<strong>%s %%</strong>)",
"Profile picture" : "Semeya de perfil",
"Upload new" : "Xubir otra",
"Remove image" : "Desaniciar imaxe",
+ "Picture provided by original account" : "Semeya fornida pola cuenta orixinal",
"Cancel" : "Encaboxar",
+ "Full name" : "Nome completu",
"Email" : "Corréu-e",
"Your email address" : "Direición de corréu-e",
+ "No email address set" : "Nun s'afitó denguna direición de corréu",
+ "Phone number" : "Númberu de teléfonu",
+ "Your phone number" : "El to númberu de teléfonu",
+ "Address" : "Direición",
+ "Your postal address" : "La to direición postal",
+ "Website" : "Sitiu web",
+ "Link https://…" : "Enllaz https://…",
+ "Twitter" : "Twitter",
+ "You are member of the following groups:" : "Yes miembru de los grupos de darréu:",
"Password" : "Contraseña",
"Current password" : "Contraseña actual",
"New password" : "Contraseña nueva",
@@ -123,16 +239,28 @@
"Android app" : "Aplicación d'Android",
"iOS app" : "Aplicación d'iOS",
"Show First Run Wizard again" : "Amosar nuevamente l'Encontu d'execución inicial",
+ "Device" : "Preséu",
+ "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "Equí pues xenerar contraseñes individuales p'aplicaciones pa qu'asina nun tengas de dar la to contraseña. Tamién pues revocales de mou individual.",
"Name" : "Nome",
+ "App name" : "Nome d'aplicación",
+ "For security reasons this password will only be shown once." : "Por razones de seguranza, esta contraseña namái s'amosará una vegada.",
"Username" : "Nome d'usuariu",
+ "Done" : "Fecho",
+ "Follow us on Google+!" : "¡Síguimos en Google+!",
+ "Follow us on Twitter!" : "¡Síguimos en Twitter!",
+ "Subscribe to our newsletter!" : "¡Soscríbite al nuesu boletín!",
+ "Settings" : "Axustes",
+ "E-Mail" : "Corréu",
"Create" : "Crear",
"Admin Recovery Password" : "Recuperación de la contraseña d'alministración",
"Enter the recovery password in order to recover the users files during password change" : "Introduz la contraseña de recuperación col envís de recuperar los ficheros de los usuarios mientres el cambéu de contraseña.",
+ "Group name" : "Nome del grupu",
"Everyone" : "Toos",
"Admins" : "Almins",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Por favor indica la cuota d'almacenamientu (ex: \"512 MB\" o \"12 GB\")",
"Other" : "Otru",
"Quota" : "Cuota",
+ "Storage location" : "Allugamientu d'almacenamientu",
"change full name" : "camudar el nome completu",
"set new password" : "afitar nueva contraseña",
"Default" : "Predetermináu",
@@ -149,6 +277,13 @@
"Uninstall" : "Desinstalar",
"This is used for sending out notifications." : "Esto úsase pa unviar notificaciones.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Nun s'atopó'l módulu PHP 'fileinfo'. Encamentámoste qu'habilites esti módulu pa obtener meyores resultaos cola deteición de tribes MIME.",
- "Cheers!" : "¡Salú!"
+ "Cron" : "Cron",
+ "Cron was not executed yet!" : "¡Cron entá nun s'executó!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el serviciu cron del sistema pa llamar al ficheru cron.php cada 15 mins.",
+ "Uninstall app" : "Desinstalar aplicación",
+ "Cheers!" : "¡Salú!",
+ "Your website" : "El to sitiu web",
+ "Follow us on Google Plus!" : "¡Síguimos en Google Plus!",
+ "Subscribe to our twitter channel!" : "¡Soscríbite a la nuesa canal de Twitter!"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/settings/l10n/az.js b/settings/l10n/az.js
index 8b1925f0d86..015dad7d696 100644
--- a/settings/l10n/az.js
+++ b/settings/l10n/az.js
@@ -90,13 +90,8 @@ OC.L10N.register(
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Biz təkidlə təklif edirik ki, göstərilən dillər üçün tələb edilən paketləri sisteminizdə yükləyəsiniz: %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\")" : "Eger sizin yüklənməniz root domain-də yüklənməyibsə və sistem cron-u istifadə edirsə, orda URL generasiyası ilə bağlı problemləriniz ola bilər. Bu problemləri aşmaq üçün xahiş olunur yüklənmə vaxtı \"overwrite.cli.url\" opsiyasını config.php faylında webroot ünvanı olaraq təyin edəsiniz (Məsləhətdir: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "CRON işini CLİ-dan yerinə yetirmək mümkün olmadı. Görünən texniki səhv baş verdi.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Son cron yerinə yetirilməsi işi: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Son cron yerinə yetirilməsi: %s. Nə isə yalnış görünür.",
- "Cron was not executed yet!" : "Cron hələ yerinə yetirilməyib!",
"Execute one task with each page loaded" : "Hər səhifə yüklənməsində bir işi yerinə yetir",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php qeydə alınmış webcron servisdir hansi ki, http üzərindən hər 15 dəqiqədən bir cron.php çağırır.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Sistemin cron servisindən istifadə edin ki, cron.php faylını hər 15 dəqiqədən bir işə salasınız.",
"Version" : "Versiya",
"Sharing" : "Paylaşılır",
"Allow apps to use the Share API" : "Proqramlara izin verin ki, Paylaşım API-sindən istifadə edə bilsinlər.",
@@ -180,6 +175,11 @@ OC.L10N.register(
"Uninstall" : "Sil",
"This is used for sending out notifications." : "Kənara xəbərdarlıqları ötürmək üçün bu istifadə edilir.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-nin modulu 'fileinfo' mövcud deyil. Mime-type təyin edilməsi üçün, modulun aktivləşdirilməsini təkidlə məsləhət görürük.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Son cron yerinə yetirilməsi işi: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Son cron yerinə yetirilməsi: %s. Nə isə yalnış görünür.",
+ "Cron was not executed yet!" : "Cron hələ yerinə yetirilməyib!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Sistemin cron servisindən istifadə edin ki, cron.php faylını hər 15 dəqiqədən bir işə salasınız.",
"Cheers!" : "Şərəfə!",
"Show last log in" : "Son girişi göstər"
},
diff --git a/settings/l10n/az.json b/settings/l10n/az.json
index 2d7b80a42af..c2c2fd797db 100644
--- a/settings/l10n/az.json
+++ b/settings/l10n/az.json
@@ -88,13 +88,8 @@
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Biz təkidlə təklif edirik ki, göstərilən dillər üçün tələb edilən paketləri sisteminizdə yükləyəsiniz: %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\")" : "Eger sizin yüklənməniz root domain-də yüklənməyibsə və sistem cron-u istifadə edirsə, orda URL generasiyası ilə bağlı problemləriniz ola bilər. Bu problemləri aşmaq üçün xahiş olunur yüklənmə vaxtı \"overwrite.cli.url\" opsiyasını config.php faylında webroot ünvanı olaraq təyin edəsiniz (Məsləhətdir: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "CRON işini CLİ-dan yerinə yetirmək mümkün olmadı. Görünən texniki səhv baş verdi.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Son cron yerinə yetirilməsi işi: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Son cron yerinə yetirilməsi: %s. Nə isə yalnış görünür.",
- "Cron was not executed yet!" : "Cron hələ yerinə yetirilməyib!",
"Execute one task with each page loaded" : "Hər səhifə yüklənməsində bir işi yerinə yetir",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php qeydə alınmış webcron servisdir hansi ki, http üzərindən hər 15 dəqiqədən bir cron.php çağırır.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Sistemin cron servisindən istifadə edin ki, cron.php faylını hər 15 dəqiqədən bir işə salasınız.",
"Version" : "Versiya",
"Sharing" : "Paylaşılır",
"Allow apps to use the Share API" : "Proqramlara izin verin ki, Paylaşım API-sindən istifadə edə bilsinlər.",
@@ -178,6 +173,11 @@
"Uninstall" : "Sil",
"This is used for sending out notifications." : "Kənara xəbərdarlıqları ötürmək üçün bu istifadə edilir.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-nin modulu 'fileinfo' mövcud deyil. Mime-type təyin edilməsi üçün, modulun aktivləşdirilməsini təkidlə məsləhət görürük.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Son cron yerinə yetirilməsi işi: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Son cron yerinə yetirilməsi: %s. Nə isə yalnış görünür.",
+ "Cron was not executed yet!" : "Cron hələ yerinə yetirilməyib!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Sistemin cron servisindən istifadə edin ki, cron.php faylını hər 15 dəqiqədən bir işə salasınız.",
"Cheers!" : "Şərəfə!",
"Show last log in" : "Son girişi göstər"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/settings/l10n/bg.js b/settings/l10n/bg.js
index c8a41184739..a77935c2152 100644
--- a/settings/l10n/bg.js
+++ b/settings/l10n/bg.js
@@ -119,13 +119,8 @@ OC.L10N.register(
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Силно препоръчваме инсталиране на необходимите паките на системата, за поддръжка на следните местоположения: %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\")" : "Ако инсталацията не е в основата на вашия домейн и използва системния cron, могат да възникнат проблеми с генерирането на URLи. За избягване на тези проблеми, моля настройте <code>overwrite.cli.url</code> опцията в config.php файла с мрежовия път към вашята инсталация (Вероятно : \\\"%s\\\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Изпълнението на cron задачата през командния интерфейс се провали. Появиха се следните грешки:",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Последно изпълнение на cron задача: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Последно изпълнение на cron задача: %s. Нещо не е както трябва",
- "Cron was not executed yet!" : "Cron oще не е изпълнен!",
"Execute one task with each page loaded" : "Изпълни по едно задание с всяка заредена страница.",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php е регистриран към webcron да се свързва с cron.php всеки 15 минути по http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Изполвай системната cron service, за връзка с cron.php файла всеки 15 минути.",
"Version" : "Версия",
"Sharing" : "Споделяне",
"Allow apps to use the Share API" : "Разреши приложенията да използват Share API",
@@ -236,6 +231,11 @@ OC.L10N.register(
"Uninstall" : "Премахване",
"This is used for sending out notifications." : "Това се използва за изпращане на уведомления.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP модулът 'fileinfo' липсва. Силно препоръчваме този модъл да бъде добавен, за да бъдат постигнати най-добри резултати при mime-type откриването.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Последно изпълнение на cron задача: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Последно изпълнение на cron задача: %s. Нещо не е както трябва",
+ "Cron was not executed yet!" : "Cron oще не е изпълнен!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Изполвай системната cron service, за връзка с cron.php файла всеки 15 минути.",
"Uninstall app" : "Премахване на приложението",
"Cheers!" : "Поздрави!",
"Your website" : "Вашата уеб страница",
diff --git a/settings/l10n/bg.json b/settings/l10n/bg.json
index e438d8f8377..dc6e5c33305 100644
--- a/settings/l10n/bg.json
+++ b/settings/l10n/bg.json
@@ -117,13 +117,8 @@
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Силно препоръчваме инсталиране на необходимите паките на системата, за поддръжка на следните местоположения: %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\")" : "Ако инсталацията не е в основата на вашия домейн и използва системния cron, могат да възникнат проблеми с генерирането на URLи. За избягване на тези проблеми, моля настройте <code>overwrite.cli.url</code> опцията в config.php файла с мрежовия път към вашята инсталация (Вероятно : \\\"%s\\\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Изпълнението на cron задачата през командния интерфейс се провали. Появиха се следните грешки:",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Последно изпълнение на cron задача: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Последно изпълнение на cron задача: %s. Нещо не е както трябва",
- "Cron was not executed yet!" : "Cron oще не е изпълнен!",
"Execute one task with each page loaded" : "Изпълни по едно задание с всяка заредена страница.",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php е регистриран към webcron да се свързва с cron.php всеки 15 минути по http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Изполвай системната cron service, за връзка с cron.php файла всеки 15 минути.",
"Version" : "Версия",
"Sharing" : "Споделяне",
"Allow apps to use the Share API" : "Разреши приложенията да използват Share API",
@@ -234,6 +229,11 @@
"Uninstall" : "Премахване",
"This is used for sending out notifications." : "Това се използва за изпращане на уведомления.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP модулът 'fileinfo' липсва. Силно препоръчваме този модъл да бъде добавен, за да бъдат постигнати най-добри резултати при mime-type откриването.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Последно изпълнение на cron задача: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Последно изпълнение на cron задача: %s. Нещо не е както трябва",
+ "Cron was not executed yet!" : "Cron oще не е изпълнен!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Изполвай системната cron service, за връзка с cron.php файла всеки 15 минути.",
"Uninstall app" : "Премахване на приложението",
"Cheers!" : "Поздрави!",
"Your website" : "Вашата уеб страница",
diff --git a/settings/l10n/bs.js b/settings/l10n/bs.js
index e0682c0da48..0c79affb21f 100644
--- a/settings/l10n/bs.js
+++ b/settings/l10n/bs.js
@@ -79,11 +79,8 @@ OC.L10N.register(
"System locale can not be set to a one which supports UTF-8." : "Regionalnu šemu sustava nemoguće je postaviti na neku koja podržava UTF-8.",
"This means that there might be problems with certain characters in file names." : "To znači da se mogu javiti problemi s određenim znakovima u nazivu datoteke.",
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Strogo se preporučuje instaliranje zahtjevnih paketa na vašem sistemu koji podržavaju jednu od slijedećih regionalnih šemi: %s.",
- "Cron" : "Cron",
- "Cron was not executed yet!" : "Cron još nije izvršen!",
"Execute one task with each page loaded" : "Izvrši jedan zadatak sa svakom učitanom stranicom",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je registrovan na webcron usluzi da poziva cron.php svakih 15 minuta preko http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Koristite cron uslugu sustava za pozivanje cron.php datoteke svakih 15 minuta.",
"Version" : "Verzija",
"Sharing" : "Dijeljenje",
"Allow apps to use the Share API" : "Dozvoli aplikacijama korištenje Share API",
@@ -155,6 +152,9 @@ OC.L10N.register(
"Uninstall" : "Deinstaliraj",
"This is used for sending out notifications." : "Ovo se koristi za slanje notifikacija.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP modul 'fileinfo' nedostaje. Strogo vam preporučjem da taj modul omogućite kako biste dobili najbolje rezultate u detekciji mime vrste.",
+ "Cron" : "Cron",
+ "Cron was not executed yet!" : "Cron još nije izvršen!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Koristite cron uslugu sustava za pozivanje cron.php datoteke svakih 15 minuta.",
"Cheers!" : "Cheers!",
"Show last log in" : "Prikaži zadnju prijavu"
},
diff --git a/settings/l10n/bs.json b/settings/l10n/bs.json
index 300ae2727f9..e1fbd9768fd 100644
--- a/settings/l10n/bs.json
+++ b/settings/l10n/bs.json
@@ -77,11 +77,8 @@
"System locale can not be set to a one which supports UTF-8." : "Regionalnu šemu sustava nemoguće je postaviti na neku koja podržava UTF-8.",
"This means that there might be problems with certain characters in file names." : "To znači da se mogu javiti problemi s određenim znakovima u nazivu datoteke.",
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Strogo se preporučuje instaliranje zahtjevnih paketa na vašem sistemu koji podržavaju jednu od slijedećih regionalnih šemi: %s.",
- "Cron" : "Cron",
- "Cron was not executed yet!" : "Cron još nije izvršen!",
"Execute one task with each page loaded" : "Izvrši jedan zadatak sa svakom učitanom stranicom",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je registrovan na webcron usluzi da poziva cron.php svakih 15 minuta preko http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Koristite cron uslugu sustava za pozivanje cron.php datoteke svakih 15 minuta.",
"Version" : "Verzija",
"Sharing" : "Dijeljenje",
"Allow apps to use the Share API" : "Dozvoli aplikacijama korištenje Share API",
@@ -153,6 +150,9 @@
"Uninstall" : "Deinstaliraj",
"This is used for sending out notifications." : "Ovo se koristi za slanje notifikacija.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP modul 'fileinfo' nedostaje. Strogo vam preporučjem da taj modul omogućite kako biste dobili najbolje rezultate u detekciji mime vrste.",
+ "Cron" : "Cron",
+ "Cron was not executed yet!" : "Cron još nije izvršen!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Koristite cron uslugu sustava za pozivanje cron.php datoteke svakih 15 minuta.",
"Cheers!" : "Cheers!",
"Show last log in" : "Prikaži zadnju prijavu"
},"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/settings/l10n/ca.js b/settings/l10n/ca.js
index 4ff1676ec91..b236fb32e42 100644
--- a/settings/l10n/ca.js
+++ b/settings/l10n/ca.js
@@ -192,13 +192,8 @@ OC.L10N.register(
"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 seva instal·lació no està situada en l'arrel del domini i usa el sistema cron, pot haver-hi problemes en generar-se els URL. Per evitar-los, configuri l'opció \"overwrite.cli.url\" en el seu arxiu config.php perquè usi la ruta de l'arrel del lloc web de la seva instal·lació (suggeriment: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No va ser possible executar cronjob via CLI. Han aparegut els següents errors tècnics:",
"All checks passed." : "Totes les comprovacions correctes.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Última execució de la tasca cron: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Última execució de la tasca cron: %s. Alguna cosa sembla malament.",
- "Cron was not executed yet!" : "El cron encara no s'ha executat!",
"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 que fa una crida a cron.php cada 15 minuts a través de http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Fer servir el cron del sistema per cridar el cron.php cada 15 minuts.",
"Version" : "Versió",
"Sharing" : "Compartir",
"Allow apps to use the Share API" : "Permet que les aplicacions utilitzin l'API de compartir",
@@ -327,6 +322,11 @@ OC.L10N.register(
"Uninstall" : "Desinstal·la",
"This is used for sending out notifications." : "S'usa per enviar notificacions.",
"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 s'ha trobat. Us recomanem que habiliteu aquest mòdul per obtenir millors resultats amb la detecció mime-type.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Última execució de la tasca cron: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Última execució de la tasca cron: %s. Alguna cosa sembla malament.",
+ "Cron was not executed yet!" : "El cron encara no s'ha executat!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Fer servir el cron del sistema per cridar el cron.php cada 15 minuts.",
"Uninstall app" : "Desinstala la app",
"Cheers!" : "Salut!",
"Hey there,\n\njust letting you know that you now have a %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hola,\n\nsimplement que sàpigas que ja tens un compte %s.\n\nEl teu nom d'usuari: %s\nAccedir-hi: %s\n",
diff --git a/settings/l10n/ca.json b/settings/l10n/ca.json
index 2be02259108..bef98003bb4 100644
--- a/settings/l10n/ca.json
+++ b/settings/l10n/ca.json
@@ -190,13 +190,8 @@
"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 seva instal·lació no està situada en l'arrel del domini i usa el sistema cron, pot haver-hi problemes en generar-se els URL. Per evitar-los, configuri l'opció \"overwrite.cli.url\" en el seu arxiu config.php perquè usi la ruta de l'arrel del lloc web de la seva instal·lació (suggeriment: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No va ser possible executar cronjob via CLI. Han aparegut els següents errors tècnics:",
"All checks passed." : "Totes les comprovacions correctes.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Última execució de la tasca cron: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Última execució de la tasca cron: %s. Alguna cosa sembla malament.",
- "Cron was not executed yet!" : "El cron encara no s'ha executat!",
"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 que fa una crida a cron.php cada 15 minuts a través de http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Fer servir el cron del sistema per cridar el cron.php cada 15 minuts.",
"Version" : "Versió",
"Sharing" : "Compartir",
"Allow apps to use the Share API" : "Permet que les aplicacions utilitzin l'API de compartir",
@@ -325,6 +320,11 @@
"Uninstall" : "Desinstal·la",
"This is used for sending out notifications." : "S'usa per enviar notificacions.",
"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 s'ha trobat. Us recomanem que habiliteu aquest mòdul per obtenir millors resultats amb la detecció mime-type.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Última execució de la tasca cron: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Última execució de la tasca cron: %s. Alguna cosa sembla malament.",
+ "Cron was not executed yet!" : "El cron encara no s'ha executat!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Fer servir el cron del sistema per cridar el cron.php cada 15 minuts.",
"Uninstall app" : "Desinstala la app",
"Cheers!" : "Salut!",
"Hey there,\n\njust letting you know that you now have a %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hola,\n\nsimplement que sàpigas que ja tens un compte %s.\n\nEl teu nom d'usuari: %s\nAccedir-hi: %s\n",
diff --git a/settings/l10n/cs.js b/settings/l10n/cs.js
index f0b593a0eb9..c26e0de0d7e 100644
--- a/settings/l10n/cs.js
+++ b/settings/l10n/cs.js
@@ -237,13 +237,8 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Nebylo možné spustit službu cron v CLI. Došlo k následujícím technickým chybám:",
"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 překontrolujte <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">instalační pokyny ↗</a> a najděte jakékoliv chyby a varování v <a href=\"%s\">logu</a>.",
"All checks passed." : "Všechny testy byly úspěšné.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Poslední cron proběhl: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Poslední cron proběhl: %s. Vypadá to, že něco není v pořádku.",
- "Cron was not executed yet!" : "Cron ještě nebyl spuštěn!",
"Execute one task with each page loaded" : "Spustit jednu úlohu s každým načtením stránky",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je registrován u služby webcron, aby volal cron.php jednou za 15 minut přes http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Použít systémovou službu cron pro volání cron.php každých 15 minut.",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php musí být spuštěn s právy systémového uživatele \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Pro spuštění je potřeba PHP posix rozšíření. Více informací lze nalézt v {linkstart}PHP dokumentaci{linkend}.",
"Version" : "Verze",
@@ -402,6 +397,11 @@ OC.L10N.register(
"Uninstall" : "Odinstalovat",
"This is used for sending out notifications." : "Toto se používá pro odesílání upozornění.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Schází PHP modul 'fileinfo'. Doporučujeme jej povolit pro nejlepší výsledky detekce typů MIME.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Poslední cron proběhl: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Poslední cron proběhl: %s. Vypadá to, že něco není v pořádku.",
+ "Cron was not executed yet!" : "Cron ještě nebyl spuštěn!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Použít systémovou službu cron pro volání cron.php každých 15 minut.",
"Uninstall app" : "Odinstalovat aplikaci",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Vítej,<br><br>jen ti dáváme vědět, že nyní máš %s účet.<br><br>Tvé uživatelské jméno: <strong>%s</strong><br>Přístup: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Ať slouží!",
diff --git a/settings/l10n/cs.json b/settings/l10n/cs.json
index 6ac052c7e56..4f91b0e8751 100644
--- a/settings/l10n/cs.json
+++ b/settings/l10n/cs.json
@@ -235,13 +235,8 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Nebylo možné spustit službu cron v CLI. Došlo k následujícím technickým chybám:",
"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 překontrolujte <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">instalační pokyny ↗</a> a najděte jakékoliv chyby a varování v <a href=\"%s\">logu</a>.",
"All checks passed." : "Všechny testy byly úspěšné.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Poslední cron proběhl: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Poslední cron proběhl: %s. Vypadá to, že něco není v pořádku.",
- "Cron was not executed yet!" : "Cron ještě nebyl spuštěn!",
"Execute one task with each page loaded" : "Spustit jednu úlohu s každým načtením stránky",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je registrován u služby webcron, aby volal cron.php jednou za 15 minut přes http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Použít systémovou službu cron pro volání cron.php každých 15 minut.",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php musí být spuštěn s právy systémového uživatele \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Pro spuštění je potřeba PHP posix rozšíření. Více informací lze nalézt v {linkstart}PHP dokumentaci{linkend}.",
"Version" : "Verze",
@@ -400,6 +395,11 @@
"Uninstall" : "Odinstalovat",
"This is used for sending out notifications." : "Toto se používá pro odesílání upozornění.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Schází PHP modul 'fileinfo'. Doporučujeme jej povolit pro nejlepší výsledky detekce typů MIME.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Poslední cron proběhl: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Poslední cron proběhl: %s. Vypadá to, že něco není v pořádku.",
+ "Cron was not executed yet!" : "Cron ještě nebyl spuštěn!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Použít systémovou službu cron pro volání cron.php každých 15 minut.",
"Uninstall app" : "Odinstalovat aplikaci",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Vítej,<br><br>jen ti dáváme vědět, že nyní máš %s účet.<br><br>Tvé uživatelské jméno: <strong>%s</strong><br>Přístup: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Ať slouží!",
diff --git a/settings/l10n/da.js b/settings/l10n/da.js
index 4667705ba61..54c7d2a585d 100644
--- a/settings/l10n/da.js
+++ b/settings/l10n/da.js
@@ -115,13 +115,8 @@ OC.L10N.register(
"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\")" : "Hvis din installation ikke er installeret i roden af domænet, og bruger systemets cron, så kan der være problemer med URL-oprettelsen. For at undgå disse problemer, så angiv tilvalget \"overwrite.cli.url\" i din fil config.php til webrodens sti for din installation (foreslået værdi: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Det var ikke muligt at udføre cronjobbet via kommandolinjefladen CLI. Følgende tekniske fejl fremkom:",
"All checks passed." : "Alle tjek blev bestået.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Seneste udførsel af cronjob: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Seneste udførsel af cronjob: %s. Der er vist noget galt.",
- "Cron was not executed yet!" : "Cron har ikke kørt endnu!",
"Execute one task with each page loaded" : "Udføre en opgave med hver side indlæsning",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registreret til at en webcron service skal kalde cron.php hvert 15 minut over http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Brug systemets cron service til at kalde cron.php hver 15. minut",
"Version" : "Version",
"Sharing" : "Deling",
"Allow apps to use the Share API" : "Tillad apps til at bruge Share API",
@@ -219,6 +214,11 @@ OC.L10N.register(
"Uninstall" : "Afinstallér",
"This is used for sending out notifications." : "Dette anvendes til udsendelse af notifikationer.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP modulet 'fileinfo' mangler. Vi anbefaler stærkt at aktivere dette modul til at få de bedste resultater med mime-type detektion.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Seneste udførsel af cronjob: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Seneste udførsel af cronjob: %s. Der er vist noget galt.",
+ "Cron was not executed yet!" : "Cron har ikke kørt endnu!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Brug systemets cron service til at kalde cron.php hver 15. minut",
"Cheers!" : "Hej!",
"For password recovery and notifications" : "Angiv en e-mailadresse for at aktivere gendannelse af adgangskode og modtage notifikationer",
"Show last log in" : "Vis seneste login"
diff --git a/settings/l10n/da.json b/settings/l10n/da.json
index c2d34a921b4..e3925b5d1e2 100644
--- a/settings/l10n/da.json
+++ b/settings/l10n/da.json
@@ -113,13 +113,8 @@
"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\")" : "Hvis din installation ikke er installeret i roden af domænet, og bruger systemets cron, så kan der være problemer med URL-oprettelsen. For at undgå disse problemer, så angiv tilvalget \"overwrite.cli.url\" i din fil config.php til webrodens sti for din installation (foreslået værdi: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Det var ikke muligt at udføre cronjobbet via kommandolinjefladen CLI. Følgende tekniske fejl fremkom:",
"All checks passed." : "Alle tjek blev bestået.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Seneste udførsel af cronjob: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Seneste udførsel af cronjob: %s. Der er vist noget galt.",
- "Cron was not executed yet!" : "Cron har ikke kørt endnu!",
"Execute one task with each page loaded" : "Udføre en opgave med hver side indlæsning",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registreret til at en webcron service skal kalde cron.php hvert 15 minut over http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Brug systemets cron service til at kalde cron.php hver 15. minut",
"Version" : "Version",
"Sharing" : "Deling",
"Allow apps to use the Share API" : "Tillad apps til at bruge Share API",
@@ -217,6 +212,11 @@
"Uninstall" : "Afinstallér",
"This is used for sending out notifications." : "Dette anvendes til udsendelse af notifikationer.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP modulet 'fileinfo' mangler. Vi anbefaler stærkt at aktivere dette modul til at få de bedste resultater med mime-type detektion.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Seneste udførsel af cronjob: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Seneste udførsel af cronjob: %s. Der er vist noget galt.",
+ "Cron was not executed yet!" : "Cron har ikke kørt endnu!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Brug systemets cron service til at kalde cron.php hver 15. minut",
"Cheers!" : "Hej!",
"For password recovery and notifications" : "Angiv en e-mailadresse for at aktivere gendannelse af adgangskode og modtage notifikationer",
"Show last log in" : "Vis seneste login"
diff --git a/settings/l10n/de.js b/settings/l10n/de.js
index d9bfe6e16bb..cbb536a6721 100644
--- a/settings/l10n/de.js
+++ b/settings/l10n/de.js
@@ -241,14 +241,9 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten:",
"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>." : "Bitte überprüfe noch einmal die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Installationsanleitungen ↗</a> und kontrolliere das <a href=\"%s\">Log</a> auf mögliche Fehler oder Warnungen.",
"All checks passed." : "Alle Überprüfungen bestanden.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.",
- "Cron was not executed yet!" : "Cron wurde bis jetzt noch nicht ausgeführt!",
"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." : "Um die optimale Geschwindigkeit zu erreichen ist es wichtig, dass die Hintergrund-Aktivitäten richtig konfiguriert sind. Für größere Installationen ist 'Cron' die empfohlene Einstellung. Weitere Informationen findest Du in der Dokumentation.",
"Execute one task with each page loaded" : "Führe eine Aufgabe mit jeder geladenen Seite aus",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Benutze den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.",
"The cron.php needs to be executed by the system user \"%s\"." : "Die cron.php muss durch den Systemnutzer \"%s\" ausgeführt werden.",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Um dies auszuführen, wird die PHP-Posix Erweiterung benötigt. Weitere Informationen in der {linkstart}PHP-Dokumentation{linkend}.",
"Version" : "Version",
@@ -407,6 +402,11 @@ OC.L10N.register(
"Uninstall" : "Deinstallieren",
"This is used for sending out notifications." : "Dies wird zum Senden von Benachrichtigungen verwendet.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Das PHP-Modul 'fileinfo' fehlt. Wir empfehlen dieses Modul zu aktivieren um die besten Resultate bei der Erkennung der Dateitypen zu erreichen.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.",
+ "Cron was not executed yet!" : "Cron wurde bis jetzt noch nicht ausgeführt!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Benutze den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.",
"Uninstall app" : "App deinstallieren",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hallo,<br><br>hier nur kurz die Mitteilung, dass du jetzt ein %s-Konto hast.<br><br>Dein Benutzername: <strong>%s</strong><br>Greife darauf zu: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Noch einen schönen Tag!",
diff --git a/settings/l10n/de.json b/settings/l10n/de.json
index dfbbfc0e5b5..2dbca06e5c7 100644
--- a/settings/l10n/de.json
+++ b/settings/l10n/de.json
@@ -239,14 +239,9 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten:",
"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>." : "Bitte überprüfe noch einmal die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Installationsanleitungen ↗</a> und kontrolliere das <a href=\"%s\">Log</a> auf mögliche Fehler oder Warnungen.",
"All checks passed." : "Alle Überprüfungen bestanden.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.",
- "Cron was not executed yet!" : "Cron wurde bis jetzt noch nicht ausgeführt!",
"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." : "Um die optimale Geschwindigkeit zu erreichen ist es wichtig, dass die Hintergrund-Aktivitäten richtig konfiguriert sind. Für größere Installationen ist 'Cron' die empfohlene Einstellung. Weitere Informationen findest Du in der Dokumentation.",
"Execute one task with each page loaded" : "Führe eine Aufgabe mit jeder geladenen Seite aus",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Benutze den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.",
"The cron.php needs to be executed by the system user \"%s\"." : "Die cron.php muss durch den Systemnutzer \"%s\" ausgeführt werden.",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Um dies auszuführen, wird die PHP-Posix Erweiterung benötigt. Weitere Informationen in der {linkstart}PHP-Dokumentation{linkend}.",
"Version" : "Version",
@@ -405,6 +400,11 @@
"Uninstall" : "Deinstallieren",
"This is used for sending out notifications." : "Dies wird zum Senden von Benachrichtigungen verwendet.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Das PHP-Modul 'fileinfo' fehlt. Wir empfehlen dieses Modul zu aktivieren um die besten Resultate bei der Erkennung der Dateitypen zu erreichen.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.",
+ "Cron was not executed yet!" : "Cron wurde bis jetzt noch nicht ausgeführt!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Benutze den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.",
"Uninstall app" : "App deinstallieren",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hallo,<br><br>hier nur kurz die Mitteilung, dass du jetzt ein %s-Konto hast.<br><br>Dein Benutzername: <strong>%s</strong><br>Greife darauf zu: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Noch einen schönen Tag!",
diff --git a/settings/l10n/de_DE.js b/settings/l10n/de_DE.js
index 170d3e959c9..e16b2752eed 100644
--- a/settings/l10n/de_DE.js
+++ b/settings/l10n/de_DE.js
@@ -241,14 +241,9 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten:",
"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>." : "Bitte überprüfen Sie noch einmal die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Installationsanleitungen ↗</a> und kontrollieren Sie das <a href=\"%s\">Log</a> auf mögliche Fehler oder Warnungen.",
"All checks passed." : "Alle Checks bestanden.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.",
- "Cron was not executed yet!" : "Cron wurde bislang noch nicht ausgeführt!",
"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." : "Um die optimale Geschwindigkeit zu erreichen ist es wichtig, dass die Hintergrund-Aktivitäten richtig konfiguriert sind. Für größere Installationen ist 'Cron' die empfohlene Einstellung. Weitere Informationen finden Sie in der Dokumentation.",
"Execute one task with each page loaded" : "Eine Aufgabe bei jedem Laden einer Seite ausführen",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Benutzen Sie den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.",
"The cron.php needs to be executed by the system user \"%s\"." : "Die cron.php muss durch den Systemnutzer \"%s\" ausgeführt werden.",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Um dies auszuführen, benötigen Sie die PHP-Posix Erweiterung. Weitere Informationen in der {linkstart}PHP-Dokumentation{linkend}.",
"Version" : "Version",
@@ -407,6 +402,11 @@ OC.L10N.register(
"Uninstall" : "Deinstallieren",
"This is used for sending out notifications." : "Dies wird für das Senden von Benachrichtigungen verwendet.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Das PHP-Modul 'fileinfo' fehlt. Wir empfehlen Ihnen dieses Modul zu aktivieren, um die besten Resultate bei der Bestimmung der Dateitypen zu erzielen.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.",
+ "Cron was not executed yet!" : "Cron wurde bislang noch nicht ausgeführt!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Benutzen Sie den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.",
"Uninstall app" : "App deinstallieren",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hallo,<br><br>hier nur kurz die Mitteilung, dass Sie jetzt ein %s-Konto haben.<br><br>Ihr Benutzername: <strong>%s</strong><br>Greifen Sie darauf zu: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Noch einen schönen Tag!",
diff --git a/settings/l10n/de_DE.json b/settings/l10n/de_DE.json
index d7a1d399052..a9fddbc5064 100644
--- a/settings/l10n/de_DE.json
+++ b/settings/l10n/de_DE.json
@@ -239,14 +239,9 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Die Ausführung des Cron-Jobs über die Kommandozeile war nicht möglich. Die folgenden technischen Fehler sind dabei aufgetreten:",
"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>." : "Bitte überprüfen Sie noch einmal die <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">Installationsanleitungen ↗</a> und kontrollieren Sie das <a href=\"%s\">Log</a> auf mögliche Fehler oder Warnungen.",
"All checks passed." : "Alle Checks bestanden.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.",
- "Cron was not executed yet!" : "Cron wurde bislang noch nicht ausgeführt!",
"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." : "Um die optimale Geschwindigkeit zu erreichen ist es wichtig, dass die Hintergrund-Aktivitäten richtig konfiguriert sind. Für größere Installationen ist 'Cron' die empfohlene Einstellung. Weitere Informationen finden Sie in der Dokumentation.",
"Execute one task with each page loaded" : "Eine Aufgabe bei jedem Laden einer Seite ausführen",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Benutzen Sie den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.",
"The cron.php needs to be executed by the system user \"%s\"." : "Die cron.php muss durch den Systemnutzer \"%s\" ausgeführt werden.",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Um dies auszuführen, benötigen Sie die PHP-Posix Erweiterung. Weitere Informationen in der {linkstart}PHP-Dokumentation{linkend}.",
"Version" : "Version",
@@ -405,6 +400,11 @@
"Uninstall" : "Deinstallieren",
"This is used for sending out notifications." : "Dies wird für das Senden von Benachrichtigungen verwendet.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Das PHP-Modul 'fileinfo' fehlt. Wir empfehlen Ihnen dieses Modul zu aktivieren, um die besten Resultate bei der Bestimmung der Dateitypen zu erzielen.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Letzte Cron-Job-Ausführung: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Letzte Cron-Job-Ausführung: %s. Möglicherweise liegt ein Fehler vor.",
+ "Cron was not executed yet!" : "Cron wurde bislang noch nicht ausgeführt!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Benutzen Sie den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.",
"Uninstall app" : "App deinstallieren",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hallo,<br><br>hier nur kurz die Mitteilung, dass Sie jetzt ein %s-Konto haben.<br><br>Ihr Benutzername: <strong>%s</strong><br>Greifen Sie darauf zu: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Noch einen schönen Tag!",
diff --git a/settings/l10n/el.js b/settings/l10n/el.js
index 201f195076a..78dc45ea2e2 100644
--- a/settings/l10n/el.js
+++ b/settings/l10n/el.js
@@ -4,8 +4,10 @@ OC.L10N.register(
"{actor} changed your password" : "{actor} το συθηματικό σας άλλαξε",
"You changed your password" : "Αλλάξατε το συνθηματικό σας",
"Your password was reset by an administrator" : "Έχει γίνει επαναφορά του συνθηματικού σας από τον διαχειριστή",
+ "{actor} changed your email address" : "{actor} άλλαξε τη διεύθυνσή του ηλεκτρονικού ταχυδρομείου σας",
"You changed your email address" : "Έχετε αλλάξει τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας",
"Your email address was changed by an administrator" : "Η διεύθυνση ηλεκτρονικής αλληλογραφίας άλλαξε από τον διαχειριστή",
+ "Your <strong>password</strong> or <strong>email</strong> was modified" : "Ο δικός σας <ισχυρός>κωδικός πρόσβασης</ισχυρός>ή<ισχυρός>αλληλογραφίας</ισχυρός>τροποποιήθηκε",
"Your apps" : "Οι εφαρμογές σας",
"Enabled apps" : "Ενεργοποιημένες εφαρμογές",
"Disabled apps" : "Απενεργοποιημένες εφαρμογές",
@@ -45,6 +47,7 @@ OC.L10N.register(
"Unable to change mail address" : "Αδυναμία αλλαγής διεύθυνσης αλληλογραφίας",
"Email saved" : "Το email αποθηκεύτηκε ",
"Password changed for %s" : "Το συνθηματικό άλλαξε για τον %s",
+ "If you did not request this, please contact an administrator." : "Εάν δεν το αιτηθήκατε, παρακαλούμε επικοινωνήστε με τον διαχειριστή.",
"The new email address is %s" : "Η νέα διεύθυνση ηλεκτρονικής αλληλογραφίας είναι %s",
"Welcome aboard" : "Καλώς ήλθατε",
"Welcome aboard %s" : "Καλώς ήλθατε %s",
@@ -55,6 +58,7 @@ OC.L10N.register(
"Password confirmation is required" : "Απαιτείται επιβεβαίωση συνθηματικού",
"Couldn't remove app." : "Αδυναμία αφαίρεσης εφαρμογής.",
"Couldn't update app." : "Αδυναμία ενημέρωσης εφαρμογής",
+ "Are you really sure you want add {domain} as trusted domain?" : "Θέλετε σίγουρα να προσθέσετε τον τομέα {domain} ως έμπιστο τομέα;",
"Add trusted domain" : "Προσθέστε αξιόπιστη περιοχή",
"Migration in progress. Please wait until the migration is finished" : "Μετάβαση σε εξέλιξη. Παρακαλούμε περιμένετε μέχρι να ολοκληρωθεί η μετάβαση",
"Migration started …" : "Η μετάβαση ξεκίνησε ...",
@@ -197,13 +201,9 @@ OC.L10N.register(
"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\")" : "Αν η εγκατάστασή σας δεν έχει γίνει στο root του τομέα και χρησιμοποιείται το cron του συστήματος, μπορεί να υπάρξουν ζητήματα με τη δημιουργία URL. Για να αποφύγετε αυτά τα προβλήματα, παρακαλώ ρυθμίστε την επιλογή \"overwrite.cli.url\" στο αρχείο config.php που βρίσκεται στη διαδρομή webroot της εγκατάστασής σας (Suggested: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Δεν ήταν δυνατή η εκτέλεση της cronjob μέσω τερματικού. Εμφανίστηκαν τα παρακάτω τεχνικά σφάλματα:",
"All checks passed." : "Όλοι οι έλεγχοι επιτυχείς.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Τελευταία εκτέλεση cron job: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Τελευταία εκτέλεση cron job: %s. Κάτι πήγε στραβά.",
- "Cron was not executed yet!" : "Η διεργασία cron δεν έχει εκτελεστεί ακόμα!",
"Execute one task with each page loaded" : "Εκτελεί μια διεργασία κάθε φορά που φορτώνεται μια σελίδα",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Το cron.php είναι καταχωρημένο σε μια υπηρεσία webcron ώστε να καλεί το cron.php κάθε 15 λεπτά μέσω http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Χρησιμοποιήστε την cron υπηρεσία του συτήματος για να καλέσετε το cron.php αρχείο κάθε 15 λεπτά.",
+ "The cron.php needs to be executed by the system user \"%s\"." : "Το cron.php πρέπει να εκτελεστεί από τον χρήστη του συστήματος \"%s\".",
"Version" : "Έκδοση",
"Sharing" : "Διαμοιρασμός",
"Allow apps to use the Share API" : "Επιτρέπει την χρήση του API διαμοιρασμού σε εφαρμογές ",
@@ -230,6 +230,7 @@ OC.L10N.register(
"Check the security of your Nextcloud over our security scan" : "Ελέγξτε την ασφάλεια του Nextcloud σας μέσω της σάρωσης ασφαλείας",
"Hardening and security guidance" : "Οδηγίες ασφάλειας και θωράκισης",
"Developer documentation" : "Τεκμηρίωση προγραμματιστή",
+ "View in store" : "Προβολή στο κέντρο εφαρμογών",
"Limit to groups" : "Όριο στις ομάδες",
"This app has an update available." : "Αυτή η εφαρμογή έχει διαθέσιμη ενημέρωση.",
"by %s" : "από %s",
@@ -272,6 +273,7 @@ OC.L10N.register(
"Address" : "Διεύθυνση",
"Your postal address" : "Ο ταχυδρομικός σας κώδικας",
"Website" : "Ιστοσελίδα",
+ "It can take up to 24 hours before the account is displayed as verified." : "Η επαλήθευση του λογαριασμού μπορεί να διαρκέσει έως και 24 ώρες.",
"Link https://…" : "Σύνδεσμος https://…",
"Twitter" : "Twitter",
"You are member of the following groups:" : "Είστε μέλος των ακόλουθων ομάδων:",
@@ -298,6 +300,7 @@ OC.L10N.register(
"Like our facebook page!" : "Ακολουθήστε μας στην σελίδα μας στο facebook!",
"Follow us on Twitter!" : "Ακολουθήστε μας στο Twitter!",
"Check out our blog!" : "Επισκεφθείτε το ιστολόγιό μας!",
+ "Subscribe to our newsletter!" : "Εγγραφείτε στο ενημερωτικό δελτίο μας!",
"Settings" : "Ρυθμίσεις",
"Show storage location" : "Εμφάνιση τοποθεσίας αποθήκευσης",
"Show user backend" : "Εμφάνιση χρήστη συστήματος υποστήριξης",
@@ -338,6 +341,11 @@ OC.L10N.register(
"Uninstall" : "Απεγκατάσταση",
"This is used for sending out notifications." : "Χρησιμοποιείται για αποστολή ειδοποιήσεων.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Η PHP ενοτητα 'fileinfo' λειπει. Σας συνιστούμε να ενεργοποιήσετε αυτή την ενότητα για να έχετε καλύτερα αποτελέσματα με τον εντοπισμό τύπου MIME. ",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Τελευταία εκτέλεση cron job: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Τελευταία εκτέλεση cron job: %s. Κάτι πήγε στραβά.",
+ "Cron was not executed yet!" : "Η διεργασία cron δεν έχει εκτελεστεί ακόμα!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Χρησιμοποιήστε την cron υπηρεσία του συτήματος για να καλέσετε το cron.php αρχείο κάθε 15 λεπτά.",
"Uninstall app" : "Απεγκατάσταση εφαρμογης",
"Cheers!" : "Χαιρετισμούς!",
"For password recovery and notifications" : "Η ανάκτηση του συνθηματικού και οι ειδοποιήσεις",
diff --git a/settings/l10n/el.json b/settings/l10n/el.json
index 8a813613171..d1a020daaec 100644
--- a/settings/l10n/el.json
+++ b/settings/l10n/el.json
@@ -2,8 +2,10 @@
"{actor} changed your password" : "{actor} το συθηματικό σας άλλαξε",
"You changed your password" : "Αλλάξατε το συνθηματικό σας",
"Your password was reset by an administrator" : "Έχει γίνει επαναφορά του συνθηματικού σας από τον διαχειριστή",
+ "{actor} changed your email address" : "{actor} άλλαξε τη διεύθυνσή του ηλεκτρονικού ταχυδρομείου σας",
"You changed your email address" : "Έχετε αλλάξει τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας",
"Your email address was changed by an administrator" : "Η διεύθυνση ηλεκτρονικής αλληλογραφίας άλλαξε από τον διαχειριστή",
+ "Your <strong>password</strong> or <strong>email</strong> was modified" : "Ο δικός σας <ισχυρός>κωδικός πρόσβασης</ισχυρός>ή<ισχυρός>αλληλογραφίας</ισχυρός>τροποποιήθηκε",
"Your apps" : "Οι εφαρμογές σας",
"Enabled apps" : "Ενεργοποιημένες εφαρμογές",
"Disabled apps" : "Απενεργοποιημένες εφαρμογές",
@@ -43,6 +45,7 @@
"Unable to change mail address" : "Αδυναμία αλλαγής διεύθυνσης αλληλογραφίας",
"Email saved" : "Το email αποθηκεύτηκε ",
"Password changed for %s" : "Το συνθηματικό άλλαξε για τον %s",
+ "If you did not request this, please contact an administrator." : "Εάν δεν το αιτηθήκατε, παρακαλούμε επικοινωνήστε με τον διαχειριστή.",
"The new email address is %s" : "Η νέα διεύθυνση ηλεκτρονικής αλληλογραφίας είναι %s",
"Welcome aboard" : "Καλώς ήλθατε",
"Welcome aboard %s" : "Καλώς ήλθατε %s",
@@ -53,6 +56,7 @@
"Password confirmation is required" : "Απαιτείται επιβεβαίωση συνθηματικού",
"Couldn't remove app." : "Αδυναμία αφαίρεσης εφαρμογής.",
"Couldn't update app." : "Αδυναμία ενημέρωσης εφαρμογής",
+ "Are you really sure you want add {domain} as trusted domain?" : "Θέλετε σίγουρα να προσθέσετε τον τομέα {domain} ως έμπιστο τομέα;",
"Add trusted domain" : "Προσθέστε αξιόπιστη περιοχή",
"Migration in progress. Please wait until the migration is finished" : "Μετάβαση σε εξέλιξη. Παρακαλούμε περιμένετε μέχρι να ολοκληρωθεί η μετάβαση",
"Migration started …" : "Η μετάβαση ξεκίνησε ...",
@@ -195,13 +199,9 @@
"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\")" : "Αν η εγκατάστασή σας δεν έχει γίνει στο root του τομέα και χρησιμοποιείται το cron του συστήματος, μπορεί να υπάρξουν ζητήματα με τη δημιουργία URL. Για να αποφύγετε αυτά τα προβλήματα, παρακαλώ ρυθμίστε την επιλογή \"overwrite.cli.url\" στο αρχείο config.php που βρίσκεται στη διαδρομή webroot της εγκατάστασής σας (Suggested: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Δεν ήταν δυνατή η εκτέλεση της cronjob μέσω τερματικού. Εμφανίστηκαν τα παρακάτω τεχνικά σφάλματα:",
"All checks passed." : "Όλοι οι έλεγχοι επιτυχείς.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Τελευταία εκτέλεση cron job: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Τελευταία εκτέλεση cron job: %s. Κάτι πήγε στραβά.",
- "Cron was not executed yet!" : "Η διεργασία cron δεν έχει εκτελεστεί ακόμα!",
"Execute one task with each page loaded" : "Εκτελεί μια διεργασία κάθε φορά που φορτώνεται μια σελίδα",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Το cron.php είναι καταχωρημένο σε μια υπηρεσία webcron ώστε να καλεί το cron.php κάθε 15 λεπτά μέσω http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Χρησιμοποιήστε την cron υπηρεσία του συτήματος για να καλέσετε το cron.php αρχείο κάθε 15 λεπτά.",
+ "The cron.php needs to be executed by the system user \"%s\"." : "Το cron.php πρέπει να εκτελεστεί από τον χρήστη του συστήματος \"%s\".",
"Version" : "Έκδοση",
"Sharing" : "Διαμοιρασμός",
"Allow apps to use the Share API" : "Επιτρέπει την χρήση του API διαμοιρασμού σε εφαρμογές ",
@@ -228,6 +228,7 @@
"Check the security of your Nextcloud over our security scan" : "Ελέγξτε την ασφάλεια του Nextcloud σας μέσω της σάρωσης ασφαλείας",
"Hardening and security guidance" : "Οδηγίες ασφάλειας και θωράκισης",
"Developer documentation" : "Τεκμηρίωση προγραμματιστή",
+ "View in store" : "Προβολή στο κέντρο εφαρμογών",
"Limit to groups" : "Όριο στις ομάδες",
"This app has an update available." : "Αυτή η εφαρμογή έχει διαθέσιμη ενημέρωση.",
"by %s" : "από %s",
@@ -270,6 +271,7 @@
"Address" : "Διεύθυνση",
"Your postal address" : "Ο ταχυδρομικός σας κώδικας",
"Website" : "Ιστοσελίδα",
+ "It can take up to 24 hours before the account is displayed as verified." : "Η επαλήθευση του λογαριασμού μπορεί να διαρκέσει έως και 24 ώρες.",
"Link https://…" : "Σύνδεσμος https://…",
"Twitter" : "Twitter",
"You are member of the following groups:" : "Είστε μέλος των ακόλουθων ομάδων:",
@@ -296,6 +298,7 @@
"Like our facebook page!" : "Ακολουθήστε μας στην σελίδα μας στο facebook!",
"Follow us on Twitter!" : "Ακολουθήστε μας στο Twitter!",
"Check out our blog!" : "Επισκεφθείτε το ιστολόγιό μας!",
+ "Subscribe to our newsletter!" : "Εγγραφείτε στο ενημερωτικό δελτίο μας!",
"Settings" : "Ρυθμίσεις",
"Show storage location" : "Εμφάνιση τοποθεσίας αποθήκευσης",
"Show user backend" : "Εμφάνιση χρήστη συστήματος υποστήριξης",
@@ -336,6 +339,11 @@
"Uninstall" : "Απεγκατάσταση",
"This is used for sending out notifications." : "Χρησιμοποιείται για αποστολή ειδοποιήσεων.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Η PHP ενοτητα 'fileinfo' λειπει. Σας συνιστούμε να ενεργοποιήσετε αυτή την ενότητα για να έχετε καλύτερα αποτελέσματα με τον εντοπισμό τύπου MIME. ",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Τελευταία εκτέλεση cron job: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Τελευταία εκτέλεση cron job: %s. Κάτι πήγε στραβά.",
+ "Cron was not executed yet!" : "Η διεργασία cron δεν έχει εκτελεστεί ακόμα!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Χρησιμοποιήστε την cron υπηρεσία του συτήματος για να καλέσετε το cron.php αρχείο κάθε 15 λεπτά.",
"Uninstall app" : "Απεγκατάσταση εφαρμογης",
"Cheers!" : "Χαιρετισμούς!",
"For password recovery and notifications" : "Η ανάκτηση του συνθηματικού και οι ειδοποιήσεις",
diff --git a/settings/l10n/en_GB.js b/settings/l10n/en_GB.js
index e24eece47cb..582d8a27986 100644
--- a/settings/l10n/en_GB.js
+++ b/settings/l10n/en_GB.js
@@ -140,13 +140,8 @@ OC.L10N.register(
"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\")" : "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\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:",
"All checks passed." : "All checks passed.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Last cron job execution: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Last cron job execution: %s. Something seems wrong.",
- "Cron was not executed yet!" : "Cron was not executed yet!",
"Execute one task with each page loaded" : "Execute one task with each page loaded",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is registered at a webcron service to call cron.php every 15 minutes over http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Use system's cron service to call the cron.php file every 15 minutes.",
"Version" : "Version",
"Sharing" : "Sharing",
"Allow apps to use the Share API" : "Allow apps to use the Share API",
@@ -259,6 +254,11 @@ OC.L10N.register(
"Uninstall" : "Uninstall",
"This is used for sending out notifications." : "This is used for sending out notifications.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "The PHP module 'fileinfo' is missing. We strongly recommend enabling this module to get best results with mime-type detection.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Last cron job execution: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Last cron job execution: %s. Something seems wrong.",
+ "Cron was not executed yet!" : "Cron was not executed yet!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Use system's cron service to call the cron.php file every 15 minutes.",
"Cheers!" : "Cheers!",
"For password recovery and notifications" : "For password recovery and notifications",
"Show last log in" : "Show last log in"
diff --git a/settings/l10n/en_GB.json b/settings/l10n/en_GB.json
index 48bf9665c70..f1a9db32c00 100644
--- a/settings/l10n/en_GB.json
+++ b/settings/l10n/en_GB.json
@@ -138,13 +138,8 @@
"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\")" : "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\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:",
"All checks passed." : "All checks passed.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Last cron job execution: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Last cron job execution: %s. Something seems wrong.",
- "Cron was not executed yet!" : "Cron was not executed yet!",
"Execute one task with each page loaded" : "Execute one task with each page loaded",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is registered at a webcron service to call cron.php every 15 minutes over http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Use system's cron service to call the cron.php file every 15 minutes.",
"Version" : "Version",
"Sharing" : "Sharing",
"Allow apps to use the Share API" : "Allow apps to use the Share API",
@@ -257,6 +252,11 @@
"Uninstall" : "Uninstall",
"This is used for sending out notifications." : "This is used for sending out notifications.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "The PHP module 'fileinfo' is missing. We strongly recommend enabling this module to get best results with mime-type detection.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Last cron job execution: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Last cron job execution: %s. Something seems wrong.",
+ "Cron was not executed yet!" : "Cron was not executed yet!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Use system's cron service to call the cron.php file every 15 minutes.",
"Cheers!" : "Cheers!",
"For password recovery and notifications" : "For password recovery and notifications",
"Show last log in" : "Show last log in"
diff --git a/settings/l10n/eo.js b/settings/l10n/eo.js
index 539e11c48e3..65eaaf0a6a8 100644
--- a/settings/l10n/eo.js
+++ b/settings/l10n/eo.js
@@ -58,7 +58,6 @@ OC.L10N.register(
"Send email" : "Sendi retpoŝton",
"This is the final warning: Do you really want to enable encryption?" : "Jen la fina averto: ĉu vi certe volas kapabligi ĉifradon?",
"Enable encryption" : "Kapabligi ĉifradon",
- "Cron" : "Cron",
"Version" : "Eldono",
"Sharing" : "Kunhavigo",
"Allow apps to use the Share API" : "Kapabligi aplikaĵojn uzi la API-on pri Kunhavigo",
@@ -122,6 +121,7 @@ OC.L10N.register(
"Uninstalling ...." : "Malinstalante...",
"Error while uninstalling app" : "Eraris malinstalo de aplikaĵo",
"Uninstall" : "Malinstali",
+ "Cron" : "Cron",
"Show last log in" : "Montri lastan ensaluton"
},
"nplurals=2; plural=(n != 1);");
diff --git a/settings/l10n/eo.json b/settings/l10n/eo.json
index 45f50828852..e91ba66ad71 100644
--- a/settings/l10n/eo.json
+++ b/settings/l10n/eo.json
@@ -56,7 +56,6 @@
"Send email" : "Sendi retpoŝton",
"This is the final warning: Do you really want to enable encryption?" : "Jen la fina averto: ĉu vi certe volas kapabligi ĉifradon?",
"Enable encryption" : "Kapabligi ĉifradon",
- "Cron" : "Cron",
"Version" : "Eldono",
"Sharing" : "Kunhavigo",
"Allow apps to use the Share API" : "Kapabligi aplikaĵojn uzi la API-on pri Kunhavigo",
@@ -120,6 +119,7 @@
"Uninstalling ...." : "Malinstalante...",
"Error while uninstalling app" : "Eraris malinstalo de aplikaĵo",
"Uninstall" : "Malinstali",
+ "Cron" : "Cron",
"Show last log in" : "Montri lastan ensaluton"
},"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 90d96ea6e1a..97236b41523 100644
--- a/settings/l10n/es.js
+++ b/settings/l10n/es.js
@@ -239,14 +239,9 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No fue posible ejecutar cronjob 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, compruebe las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación ↗</a>, y compruebe posibles errores o advertencias en el <a href=\"%s\">registro</a>.",
"All checks passed." : "Ha pasado todos los controles",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Cron se ejecutó por última vez: %s",
- "Last cron job execution: %s. Something seems wrong." : "Cron se ejecutó por última vez: %s. Algo va mal.",
- "Cron was not executed yet!" : "¡Cron aún no ha sido ejecutado!",
"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 desempeño óptimo es imoprtante 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.",
"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's cron service to call the cron.php file every 15 minutes." : "Usar el servicio cron del sistema para llamar al 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." : "Para ejecutar esto se necesita la extensión posix de PHP. Ver la {linkstart}documentación de PHP{linkend} para más detellas.",
"Version" : "Versión",
@@ -405,6 +400,11 @@ OC.L10N.register(
"Uninstall" : "Desinstalar",
"This is used for sending out notifications." : "Esto se usa para enviar notificaciones.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "No se ha encontrado el modulo PHP 'fileinfo'. Le recomendamos encarecidamente que habilite este módulo para obtener mejores resultados con la detección de tipos MIME.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Cron se ejecutó por última vez: %s",
+ "Last cron job execution: %s. Something seems wrong." : "Cron se ejecutó por última vez: %s. Algo va mal.",
+ "Cron was not executed yet!" : "¡Cron aún no ha sido ejecutado!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio cron del sistema para llamar al archivo cron.php cada 15 minutos.",
"Uninstall app" : "Desinstalar aplicación",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hola:<br><br>Solo queremos hacerle saber que ahora dispone de una cuenta de %s.<br><br>Su usuario: <strong>%s</strong><br>Acceda: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "¡Saludos!",
diff --git a/settings/l10n/es.json b/settings/l10n/es.json
index c430bb995d4..4f98ac68d15 100644
--- a/settings/l10n/es.json
+++ b/settings/l10n/es.json
@@ -237,14 +237,9 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No fue posible ejecutar cronjob 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, compruebe las <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación ↗</a>, y compruebe posibles errores o advertencias en el <a href=\"%s\">registro</a>.",
"All checks passed." : "Ha pasado todos los controles",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Cron se ejecutó por última vez: %s",
- "Last cron job execution: %s. Something seems wrong." : "Cron se ejecutó por última vez: %s. Algo va mal.",
- "Cron was not executed yet!" : "¡Cron aún no ha sido ejecutado!",
"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 desempeño óptimo es imoprtante 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.",
"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's cron service to call the cron.php file every 15 minutes." : "Usar el servicio cron del sistema para llamar al 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." : "Para ejecutar esto se necesita la extensión posix de PHP. Ver la {linkstart}documentación de PHP{linkend} para más detellas.",
"Version" : "Versión",
@@ -403,6 +398,11 @@
"Uninstall" : "Desinstalar",
"This is used for sending out notifications." : "Esto se usa para enviar notificaciones.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "No se ha encontrado el modulo PHP 'fileinfo'. Le recomendamos encarecidamente que habilite este módulo para obtener mejores resultados con la detección de tipos MIME.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Cron se ejecutó por última vez: %s",
+ "Last cron job execution: %s. Something seems wrong." : "Cron se ejecutó por última vez: %s. Algo va mal.",
+ "Cron was not executed yet!" : "¡Cron aún no ha sido ejecutado!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio cron del sistema para llamar al archivo cron.php cada 15 minutos.",
"Uninstall app" : "Desinstalar aplicación",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hola:<br><br>Solo queremos hacerle saber que ahora dispone de una cuenta de %s.<br><br>Su usuario: <strong>%s</strong><br>Acceda: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "¡Saludos!",
diff --git a/settings/l10n/es_AR.js b/settings/l10n/es_AR.js
index 08ce0dafa85..1e9eee70165 100644
--- a/settings/l10n/es_AR.js
+++ b/settings/l10n/es_AR.js
@@ -54,7 +54,6 @@ OC.L10N.register(
"Send email" : "Enviar correo",
"System locale can not be set to a one which supports UTF-8." : "La localización del sistema no puede cambiarse a una que soporta UTF-8",
"This means that there might be problems with certain characters in file names." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos.",
- "Cron" : "Cron",
"Execute one task with each page loaded" : "Ejecutá una tarea con cada pagina cargada.",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamarlo cada 15 minutos usando http.",
"Version" : "Versión",
@@ -101,6 +100,7 @@ OC.L10N.register(
"Sending..." : "Enviando...",
"This is used for sending out notifications." : "Esto es usado para enviar notificaciones.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "El módulo PHP 'fileinfo' no existe. Es recomendable que actives este módulo para obtener mejores resultados con la detección mime-type",
+ "Cron" : "Cron",
"Cheers!" : "¡Saludos!"
},
"nplurals=2; plural=(n != 1);");
diff --git a/settings/l10n/es_AR.json b/settings/l10n/es_AR.json
index 698b3f3c54c..c304dea46e6 100644
--- a/settings/l10n/es_AR.json
+++ b/settings/l10n/es_AR.json
@@ -52,7 +52,6 @@
"Send email" : "Enviar correo",
"System locale can not be set to a one which supports UTF-8." : "La localización del sistema no puede cambiarse a una que soporta UTF-8",
"This means that there might be problems with certain characters in file names." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de archivos.",
- "Cron" : "Cron",
"Execute one task with each page loaded" : "Ejecutá una tarea con cada pagina cargada.",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado en el servicio webcron para llamarlo cada 15 minutos usando http.",
"Version" : "Versión",
@@ -99,6 +98,7 @@
"Sending..." : "Enviando...",
"This is used for sending out notifications." : "Esto es usado para enviar notificaciones.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "El módulo PHP 'fileinfo' no existe. Es recomendable que actives este módulo para obtener mejores resultados con la detección mime-type",
+ "Cron" : "Cron",
"Cheers!" : "¡Saludos!"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/settings/l10n/es_MX.js b/settings/l10n/es_MX.js
index 692593dda51..ec7717ca808 100644
--- a/settings/l10n/es_MX.js
+++ b/settings/l10n/es_MX.js
@@ -241,14 +241,9 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No fue posible ejecutar la tarea de cron con CLI. Se presentaron 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>." : "Favor de volver a verificar <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y compruebe que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>.",
"All checks passed." : "Pasaron todas las verificaciones. ",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Última ejecución de tareas de cron: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Última ejecución de tareas de cron: %s. Algo parece estar mal. ",
- "Cron was not executed yet!" : "¡Aún no han sido ejecutas las tareas programadas!",
"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 desempeño ideal, es importante configurar los trabajos de fondo correctametne. Para instancias más grandes 'Cron' es el ajuste recomendado. Favor de consultar 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 está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de HTTP.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio de cron del sistema para llamar el archivo cron.php cada 15 minutos.",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario del sistema \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto usted necesita la extensión posix de PHP. Favor de consultar la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Version" : "Versión",
@@ -407,6 +402,11 @@ OC.L10N.register(
"Uninstall" : "Desinstalar",
"This is used for sending out notifications." : "Esto se usa para enviar notificaciones",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Le recomendamos ámpliamente que habilite este módulo para obtener los mejores resultados en la detección de tipos MIME.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Última ejecución de tareas de cron: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Última ejecución de tareas de cron: %s. Algo parece estar mal. ",
+ "Cron was not executed yet!" : "¡Aún no han sido ejecutas las tareas programadas!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio de cron del sistema para llamar el archivo cron.php cada 15 minutos.",
"Uninstall app" : "Desinstalar la aplicación",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hola,<br><br> sólo queremos informarle que ahora usted tiene una cuenta %s.<br><br> Su nombre de usuario es: <strong>%s</strong> <br>Ingrese a ella: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "¡Saludos!",
diff --git a/settings/l10n/es_MX.json b/settings/l10n/es_MX.json
index 37836b5ce6b..291b3a98c2d 100644
--- a/settings/l10n/es_MX.json
+++ b/settings/l10n/es_MX.json
@@ -239,14 +239,9 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No fue posible ejecutar la tarea de cron con CLI. Se presentaron 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>." : "Favor de volver a verificar <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guías de instalación↗</a>, y compruebe que no haya errores o advertenicas en la <a href=\"%s\">bitácora</a>.",
"All checks passed." : "Pasaron todas las verificaciones. ",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Última ejecución de tareas de cron: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Última ejecución de tareas de cron: %s. Algo parece estar mal. ",
- "Cron was not executed yet!" : "¡Aún no han sido ejecutas las tareas programadas!",
"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 desempeño ideal, es importante configurar los trabajos de fondo correctametne. Para instancias más grandes 'Cron' es el ajuste recomendado. Favor de consultar 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 está registrado en el servicio webcron para llamar a cron.php cada 15 minutos a través de HTTP.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio de cron del sistema para llamar el archivo cron.php cada 15 minutos.",
"The cron.php needs to be executed by the system user \"%s\"." : "El cron.php necesita ser ejecutado por el usuario del sistema \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para correr esto usted necesita la extensión posix de PHP. Favor de consultar la {linkstart}documentación de PHP{linkend} para más detalles. ",
"Version" : "Versión",
@@ -405,6 +400,11 @@
"Uninstall" : "Desinstalar",
"This is used for sending out notifications." : "Esto se usa para enviar notificaciones",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "El modulo PHP 'fileinfo' no ha sido encontrado. Le recomendamos ámpliamente que habilite este módulo para obtener los mejores resultados en la detección de tipos MIME.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Última ejecución de tareas de cron: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Última ejecución de tareas de cron: %s. Algo parece estar mal. ",
+ "Cron was not executed yet!" : "¡Aún no han sido ejecutas las tareas programadas!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio de cron del sistema para llamar el archivo cron.php cada 15 minutos.",
"Uninstall app" : "Desinstalar la aplicación",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hola,<br><br> sólo queremos informarle que ahora usted tiene una cuenta %s.<br><br> Su nombre de usuario es: <strong>%s</strong> <br>Ingrese a ella: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "¡Saludos!",
diff --git a/settings/l10n/et_EE.js b/settings/l10n/et_EE.js
index c047e958c69..58db34659e6 100644
--- a/settings/l10n/et_EE.js
+++ b/settings/l10n/et_EE.js
@@ -97,13 +97,8 @@ OC.L10N.register(
"System locale can not be set to a one which supports UTF-8." : "Süsteemi lokaliseeringuks ei saa panna sellist, mis toetab UTF-8-t.",
"This means that there might be problems with certain characters in file names." : "See tähendab, et võib esineda probleeme failide nimedes mõnede sümbolitega.",
"All checks passed." : "Kõik kontrollid on läbitud.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Cron käivitati viimati %s.",
- "Last cron job execution: %s. Something seems wrong." : "Cron käivitati viimati %s. Midagi tunduv valesti olevat.",
- "Cron was not executed yet!" : "Cron pole kordagi käivitatud!",
"Execute one task with each page loaded" : "Käivita toiming igal lehe laadimisel",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php on registreeritud webcron teenuses, et käivitada fail cron.php iga 15 minuti tagant üle http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Kasuta süsteemi cron teenust, et käivitada fail cron.php iga 15 minuti järel.",
"Version" : "Versioon",
"Sharing" : "Jagamine",
"Allow apps to use the Share API" : "Luba rakendustel kasutada Share API-t",
@@ -194,6 +189,11 @@ OC.L10N.register(
"Uninstall" : "Eemalda",
"This is used for sending out notifications." : "Seda kasutatakse teadete välja saatmiseks.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP moodul 'fileinfo' puudub. Soovitame tungivalt see lisada saavutamaks parimaid tulemusi failitüüpide tuvastamisel.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Cron käivitati viimati %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Cron käivitati viimati %s. Midagi tunduv valesti olevat.",
+ "Cron was not executed yet!" : "Cron pole kordagi käivitatud!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Kasuta süsteemi cron teenust, et käivitada fail cron.php iga 15 minuti järel.",
"Cheers!" : "Terekest!",
"Show last log in" : "Viimane sisselogimine"
},
diff --git a/settings/l10n/et_EE.json b/settings/l10n/et_EE.json
index 9e1a9d46594..7e93da063ed 100644
--- a/settings/l10n/et_EE.json
+++ b/settings/l10n/et_EE.json
@@ -95,13 +95,8 @@
"System locale can not be set to a one which supports UTF-8." : "Süsteemi lokaliseeringuks ei saa panna sellist, mis toetab UTF-8-t.",
"This means that there might be problems with certain characters in file names." : "See tähendab, et võib esineda probleeme failide nimedes mõnede sümbolitega.",
"All checks passed." : "Kõik kontrollid on läbitud.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Cron käivitati viimati %s.",
- "Last cron job execution: %s. Something seems wrong." : "Cron käivitati viimati %s. Midagi tunduv valesti olevat.",
- "Cron was not executed yet!" : "Cron pole kordagi käivitatud!",
"Execute one task with each page loaded" : "Käivita toiming igal lehe laadimisel",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php on registreeritud webcron teenuses, et käivitada fail cron.php iga 15 minuti tagant üle http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Kasuta süsteemi cron teenust, et käivitada fail cron.php iga 15 minuti järel.",
"Version" : "Versioon",
"Sharing" : "Jagamine",
"Allow apps to use the Share API" : "Luba rakendustel kasutada Share API-t",
@@ -192,6 +187,11 @@
"Uninstall" : "Eemalda",
"This is used for sending out notifications." : "Seda kasutatakse teadete välja saatmiseks.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP moodul 'fileinfo' puudub. Soovitame tungivalt see lisada saavutamaks parimaid tulemusi failitüüpide tuvastamisel.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Cron käivitati viimati %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Cron käivitati viimati %s. Midagi tunduv valesti olevat.",
+ "Cron was not executed yet!" : "Cron pole kordagi käivitatud!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Kasuta süsteemi cron teenust, et käivitada fail cron.php iga 15 minuti järel.",
"Cheers!" : "Terekest!",
"Show last log in" : "Viimane sisselogimine"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/settings/l10n/eu.js b/settings/l10n/eu.js
index 4076f1b6311..168566c88c3 100644
--- a/settings/l10n/eu.js
+++ b/settings/l10n/eu.js
@@ -175,13 +175,8 @@ OC.L10N.register(
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Biziki gomendatzen dizugu beharrezkoak diren paketea zure sisteman instalatzea honi euskarria eman ahal izateko: %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\")" : "Zure instalazioa ez badago domeinuaren sustraian egina eta erabiltzen badu sistemaren cron-a, arazoak izan daitezke URL sorreran. Arazo horiek saihesteko ezarri \"overwrite.cli.url\" opzioa zure config.php fitxategian zure instalazioaren webroot bidera (Proposatua: \"%s\")",
"All checks passed." : "Egiaztapen guztiak gaindituta.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Azken cron lan exekuzioa: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Azken cron lan exekuzioa: %s. Zerbait gaizki dirudi.",
- "Cron was not executed yet!" : "Cron-a oraindik ez da exekutatu!",
"Execute one task with each page loaded" : "Exekutatu zeregin bat orri karga bakoitzean",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php webcron zerbitzu batean erregistratua dago cron.php 15 minuturo http bidez deitzeko.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Erabili sistemaren cron zerbitzua deitzeko cron.php fitxategia 15 minutuan behin.",
"The cron.php needs to be executed by the system user \"%s\"." : "Sistemako \"%s\" erabiltzaileak, cron.php exekutatu behar du.",
"Version" : "Bertsioa",
"Sharing" : "Partekatzea",
@@ -312,6 +307,11 @@ OC.L10N.register(
"Uninstall" : "Desinstalatu",
"This is used for sending out notifications." : "Hau jakinarazpenak bidaltzeko erabiltzen da.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP 'fileinfo' modulua falta da. Modulu hau gaitzea aholkatzen dizugu mime-type ezberdinak hobe detektatzeko.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Azken cron lan exekuzioa: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Azken cron lan exekuzioa: %s. Zerbait gaizki dirudi.",
+ "Cron was not executed yet!" : "Cron-a oraindik ez da exekutatu!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Erabili sistemaren cron zerbitzua deitzeko cron.php fitxategia 15 minutuan behin.",
"Uninstall app" : "Desinstalatu aplikazioa",
"Cheers!" : "Ongi izan!",
"Hey there,\n\njust letting you know that you now have a %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Kaixo,\n\nJakinarazi nahi dizugu, badaukazula %s kontua.\n\nZure erabiltzaile izena: %s \nSar zaitez: %s\n",
diff --git a/settings/l10n/eu.json b/settings/l10n/eu.json
index a7717f0e31c..c0bbbd78a04 100644
--- a/settings/l10n/eu.json
+++ b/settings/l10n/eu.json
@@ -173,13 +173,8 @@
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Biziki gomendatzen dizugu beharrezkoak diren paketea zure sisteman instalatzea honi euskarria eman ahal izateko: %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\")" : "Zure instalazioa ez badago domeinuaren sustraian egina eta erabiltzen badu sistemaren cron-a, arazoak izan daitezke URL sorreran. Arazo horiek saihesteko ezarri \"overwrite.cli.url\" opzioa zure config.php fitxategian zure instalazioaren webroot bidera (Proposatua: \"%s\")",
"All checks passed." : "Egiaztapen guztiak gaindituta.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Azken cron lan exekuzioa: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Azken cron lan exekuzioa: %s. Zerbait gaizki dirudi.",
- "Cron was not executed yet!" : "Cron-a oraindik ez da exekutatu!",
"Execute one task with each page loaded" : "Exekutatu zeregin bat orri karga bakoitzean",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php webcron zerbitzu batean erregistratua dago cron.php 15 minuturo http bidez deitzeko.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Erabili sistemaren cron zerbitzua deitzeko cron.php fitxategia 15 minutuan behin.",
"The cron.php needs to be executed by the system user \"%s\"." : "Sistemako \"%s\" erabiltzaileak, cron.php exekutatu behar du.",
"Version" : "Bertsioa",
"Sharing" : "Partekatzea",
@@ -310,6 +305,11 @@
"Uninstall" : "Desinstalatu",
"This is used for sending out notifications." : "Hau jakinarazpenak bidaltzeko erabiltzen da.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP 'fileinfo' modulua falta da. Modulu hau gaitzea aholkatzen dizugu mime-type ezberdinak hobe detektatzeko.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Azken cron lan exekuzioa: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Azken cron lan exekuzioa: %s. Zerbait gaizki dirudi.",
+ "Cron was not executed yet!" : "Cron-a oraindik ez da exekutatu!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Erabili sistemaren cron zerbitzua deitzeko cron.php fitxategia 15 minutuan behin.",
"Uninstall app" : "Desinstalatu aplikazioa",
"Cheers!" : "Ongi izan!",
"Hey there,\n\njust letting you know that you now have a %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Kaixo,\n\nJakinarazi nahi dizugu, badaukazula %s kontua.\n\nZure erabiltzaile izena: %s \nSar zaitez: %s\n",
diff --git a/settings/l10n/fa.js b/settings/l10n/fa.js
index e54a5d24f6d..84fcd1e60f0 100644
--- a/settings/l10n/fa.js
+++ b/settings/l10n/fa.js
@@ -94,8 +94,6 @@ OC.L10N.register(
"Start migration" : "شروع مهاجرت",
"Security & setup warnings" : "اخطارهای نصب و امنیتی",
"All checks passed." : "تمامی موارد با موفقیت چک شدند.",
- "Cron" : "زمانبند",
- "Cron was not executed yet!" : "کران هنوز اجرا نشده است!",
"Execute one task with each page loaded" : "اجرای یک وظیفه با هر بار بارگذاری صفحه",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php در یک سرویس webcron ثبت شده است که هر 15 دقیقه یک بار بر روی بستر http فراخوانی شود.",
"Version" : "نسخه",
@@ -186,6 +184,8 @@ OC.L10N.register(
"Uninstall" : "حذف",
"This is used for sending out notifications." : "این برای ارسال هشدار ها استفاده می شود",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "ماژول 'fileinfo' PHP از کار افتاده است.ما اکیدا توصیه می کنیم که این ماژول را فعال کنید تا نتایج بهتری به وسیله ی mime-type detection دریافت کنید.",
+ "Cron" : "زمانبند",
+ "Cron was not executed yet!" : "کران هنوز اجرا نشده است!",
"Cheers!" : "سلامتی!",
"Show last log in" : "نمایش اخرین ورود"
},
diff --git a/settings/l10n/fa.json b/settings/l10n/fa.json
index 62c296f969f..218043e7c5b 100644
--- a/settings/l10n/fa.json
+++ b/settings/l10n/fa.json
@@ -92,8 +92,6 @@
"Start migration" : "شروع مهاجرت",
"Security & setup warnings" : "اخطارهای نصب و امنیتی",
"All checks passed." : "تمامی موارد با موفقیت چک شدند.",
- "Cron" : "زمانبند",
- "Cron was not executed yet!" : "کران هنوز اجرا نشده است!",
"Execute one task with each page loaded" : "اجرای یک وظیفه با هر بار بارگذاری صفحه",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php در یک سرویس webcron ثبت شده است که هر 15 دقیقه یک بار بر روی بستر http فراخوانی شود.",
"Version" : "نسخه",
@@ -184,6 +182,8 @@
"Uninstall" : "حذف",
"This is used for sending out notifications." : "این برای ارسال هشدار ها استفاده می شود",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "ماژول 'fileinfo' PHP از کار افتاده است.ما اکیدا توصیه می کنیم که این ماژول را فعال کنید تا نتایج بهتری به وسیله ی mime-type detection دریافت کنید.",
+ "Cron" : "زمانبند",
+ "Cron was not executed yet!" : "کران هنوز اجرا نشده است!",
"Cheers!" : "سلامتی!",
"Show last log in" : "نمایش اخرین ورود"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/settings/l10n/fi.js b/settings/l10n/fi.js
index e6580ac5885..3ee1c027b73 100644
--- a/settings/l10n/fi.js
+++ b/settings/l10n/fi.js
@@ -206,13 +206,8 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Cron-työn suorittaminen komentorivin kautta ei onnistunut. Ilmeni seuraavia teknisiä virheitä:",
"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>." : "Tutustu huolellisesti <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">asennusohjeisiin ↗</a> ja tarkista <a href=\"%s\">lokitiedostosta</a> mahdolliset virheet ja varoitukset.",
"All checks passed." : "Läpäistiin kaikki tarkistukset.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Viimeisin cron-työn suoritus: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Viimeisin cron-työn suoritus: %s. Jokin vaikuttaa menneen pieleen.",
- "Cron was not executed yet!" : "Cronia ei suoritettu vielä!",
"Execute one task with each page loaded" : "Suorita yksi tehtävä jokaista ladattua sivua kohden",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php kutsuu webcron-palvelun kautta cron.php:ta 15 minuutin välein http:tä käyttäen.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Käytä järjestelmän cron-palvelua cron.php-tiedoston kutsumista varten 15 minuutin välein.",
"Version" : "Versio",
"Sharing" : "Jakaminen",
"Allow apps to use the Share API" : "Salli sovellusten käyttää jakamisen ohjelmointirajapintaa",
@@ -289,7 +284,9 @@ OC.L10N.register(
"Address" : "Osoite",
"Your postal address" : "Postiosoitteesi",
"Website" : "Verkkosivusto",
+ "Link https://…" : "Linkki https://…",
"Twitter" : "Twitter",
+ "Twitter handle @…" : "Twitter-tunnus @…",
"You are member of the following groups:" : "Olet jäsenenä seuraavissa ryhmissä:",
"Password" : "Salasana",
"Current password" : "Nykyinen salasana",
@@ -334,6 +331,7 @@ OC.L10N.register(
"Group name" : "Ryhmän nimi",
"Everyone" : "Kaikki",
"Admins" : "Ylläpitäjät",
+ "Disabled" : "Poistettu käytöstä",
"Default quota" : "Oletuskiintiö",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Määritä tallennustilan kiintiö (esim. \"512 MB\" tai \"12 GB\")",
"Other" : "Muu",
@@ -360,6 +358,11 @@ OC.L10N.register(
"Uninstall" : "Poista asennus",
"This is used for sending out notifications." : "Tätä käytetään ilmoitusten lähettämiseen.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-moduuli \"fileinfo\" puuttuu. Sen käyttö on erittäin suositeltavaa, jotta MIME-tyypin havaitseminen onnistuu parhaalla mahdollisella tavalla.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Viimeisin cron-työn suoritus: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Viimeisin cron-työn suoritus: %s. Jokin vaikuttaa menneen pieleen.",
+ "Cron was not executed yet!" : "Cronia ei suoritettu vielä!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Käytä järjestelmän cron-palvelua cron.php-tiedoston kutsumista varten 15 minuutin välein.",
"Uninstall app" : "Poista sovelluksen asennus",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hei,<br><br>tässä sinulle tiedoksi, että sinulla on nyt %s-tili.<br><br>Käyttäjänimesi: <strong>%s</strong><br>Käytä sitä: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Kiitos!",
diff --git a/settings/l10n/fi.json b/settings/l10n/fi.json
index 1f955657f8a..5a0f7a069e4 100644
--- a/settings/l10n/fi.json
+++ b/settings/l10n/fi.json
@@ -204,13 +204,8 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Cron-työn suorittaminen komentorivin kautta ei onnistunut. Ilmeni seuraavia teknisiä virheitä:",
"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>." : "Tutustu huolellisesti <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">asennusohjeisiin ↗</a> ja tarkista <a href=\"%s\">lokitiedostosta</a> mahdolliset virheet ja varoitukset.",
"All checks passed." : "Läpäistiin kaikki tarkistukset.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Viimeisin cron-työn suoritus: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Viimeisin cron-työn suoritus: %s. Jokin vaikuttaa menneen pieleen.",
- "Cron was not executed yet!" : "Cronia ei suoritettu vielä!",
"Execute one task with each page loaded" : "Suorita yksi tehtävä jokaista ladattua sivua kohden",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php kutsuu webcron-palvelun kautta cron.php:ta 15 minuutin välein http:tä käyttäen.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Käytä järjestelmän cron-palvelua cron.php-tiedoston kutsumista varten 15 minuutin välein.",
"Version" : "Versio",
"Sharing" : "Jakaminen",
"Allow apps to use the Share API" : "Salli sovellusten käyttää jakamisen ohjelmointirajapintaa",
@@ -287,7 +282,9 @@
"Address" : "Osoite",
"Your postal address" : "Postiosoitteesi",
"Website" : "Verkkosivusto",
+ "Link https://…" : "Linkki https://…",
"Twitter" : "Twitter",
+ "Twitter handle @…" : "Twitter-tunnus @…",
"You are member of the following groups:" : "Olet jäsenenä seuraavissa ryhmissä:",
"Password" : "Salasana",
"Current password" : "Nykyinen salasana",
@@ -332,6 +329,7 @@
"Group name" : "Ryhmän nimi",
"Everyone" : "Kaikki",
"Admins" : "Ylläpitäjät",
+ "Disabled" : "Poistettu käytöstä",
"Default quota" : "Oletuskiintiö",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Määritä tallennustilan kiintiö (esim. \"512 MB\" tai \"12 GB\")",
"Other" : "Muu",
@@ -358,6 +356,11 @@
"Uninstall" : "Poista asennus",
"This is used for sending out notifications." : "Tätä käytetään ilmoitusten lähettämiseen.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-moduuli \"fileinfo\" puuttuu. Sen käyttö on erittäin suositeltavaa, jotta MIME-tyypin havaitseminen onnistuu parhaalla mahdollisella tavalla.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Viimeisin cron-työn suoritus: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Viimeisin cron-työn suoritus: %s. Jokin vaikuttaa menneen pieleen.",
+ "Cron was not executed yet!" : "Cronia ei suoritettu vielä!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Käytä järjestelmän cron-palvelua cron.php-tiedoston kutsumista varten 15 minuutin välein.",
"Uninstall app" : "Poista sovelluksen asennus",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hei,<br><br>tässä sinulle tiedoksi, että sinulla on nyt %s-tili.<br><br>Käyttäjänimesi: <strong>%s</strong><br>Käytä sitä: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Kiitos!",
diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js
index ddb50b4e629..d485f2e3313 100644
--- a/settings/l10n/fr.js
+++ b/settings/l10n/fr.js
@@ -241,14 +241,9 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "La tâche cron n'a pu s'exécuter via CLI. Ces erreurs techniques sont apparues :",
"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>." : "Merci de consulter les <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guides d'installation ↗</a>, et vérifier les erreurs ou avertissements dans les <a href=\"%s\">logs</a>.",
"All checks passed." : "Tous les tests ont réussi.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Dernière tâche cron exécutée : %s.",
- "Last cron job execution: %s. Something seems wrong." : "Dernière tâche cron exécutée : %s. Quelque chose s'est mal passé.",
- "Cron was not executed yet!" : "Le cron n'a pas encore été exécuté !",
"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." : "Pour une performance optimale, il est important de configurer correctement lex travaux en arrière-plan. Pour les plus grosses instances, 'Cron' est le paramètre recommandé. Veuillez consulter la documentation pour plus d'informations.",
"Execute one task with each page loaded" : "Exécute une tâche à chaque chargement de page",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Utilisez un service webcron pour exécuter cron.php toutes les 15 minutes par HTTP",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Utilisez le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.",
"The cron.php needs to be executed by the system user \"%s\"." : "Le cron.php doit être exécuté par l'utilisateur système \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Pour l'exécuter, vous devez avoir l'extension PHP posix. Regarder la {linkstart}documentation PHP{linkend} pour plus de détails.",
"Version" : "Version",
@@ -407,6 +402,11 @@ OC.L10N.register(
"Uninstall" : "Désinstaller",
"This is used for sending out notifications." : "Ceci est utilisé pour l'envoi des notifications.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Le module PHP 'fileinfo' est manquant. Il est vivement recommandé de l'activer afin d'obtenir de meilleurs résultats de détection mime-type.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Dernière tâche cron exécutée : %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Dernière tâche cron exécutée : %s. Quelque chose s'est mal passé.",
+ "Cron was not executed yet!" : "Le cron n'a pas encore été exécuté !",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Utilisez le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.",
"Uninstall app" : "Désinstaller l'application",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Bonjour,<br><br>Un compte %s a été créé pour vous.<br><br>Votre nom d'utilisateur est : <strong>%s</strong><br>Visitez votre compte : <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "À bientôt !",
diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json
index d1f69e38461..854a7ef6cd1 100644
--- a/settings/l10n/fr.json
+++ b/settings/l10n/fr.json
@@ -239,14 +239,9 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "La tâche cron n'a pu s'exécuter via CLI. Ces erreurs techniques sont apparues :",
"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>." : "Merci de consulter les <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guides d'installation ↗</a>, et vérifier les erreurs ou avertissements dans les <a href=\"%s\">logs</a>.",
"All checks passed." : "Tous les tests ont réussi.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Dernière tâche cron exécutée : %s.",
- "Last cron job execution: %s. Something seems wrong." : "Dernière tâche cron exécutée : %s. Quelque chose s'est mal passé.",
- "Cron was not executed yet!" : "Le cron n'a pas encore été exécuté !",
"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." : "Pour une performance optimale, il est important de configurer correctement lex travaux en arrière-plan. Pour les plus grosses instances, 'Cron' est le paramètre recommandé. Veuillez consulter la documentation pour plus d'informations.",
"Execute one task with each page loaded" : "Exécute une tâche à chaque chargement de page",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Utilisez un service webcron pour exécuter cron.php toutes les 15 minutes par HTTP",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Utilisez le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.",
"The cron.php needs to be executed by the system user \"%s\"." : "Le cron.php doit être exécuté par l'utilisateur système \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Pour l'exécuter, vous devez avoir l'extension PHP posix. Regarder la {linkstart}documentation PHP{linkend} pour plus de détails.",
"Version" : "Version",
@@ -405,6 +400,11 @@
"Uninstall" : "Désinstaller",
"This is used for sending out notifications." : "Ceci est utilisé pour l'envoi des notifications.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Le module PHP 'fileinfo' est manquant. Il est vivement recommandé de l'activer afin d'obtenir de meilleurs résultats de détection mime-type.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Dernière tâche cron exécutée : %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Dernière tâche cron exécutée : %s. Quelque chose s'est mal passé.",
+ "Cron was not executed yet!" : "Le cron n'a pas encore été exécuté !",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Utilisez le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.",
"Uninstall app" : "Désinstaller l'application",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Bonjour,<br><br>Un compte %s a été créé pour vous.<br><br>Votre nom d'utilisateur est : <strong>%s</strong><br>Visitez votre compte : <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "À bientôt !",
diff --git a/settings/l10n/gl.js b/settings/l10n/gl.js
index d381e4df35c..d551ebf86dc 100644
--- a/settings/l10n/gl.js
+++ b/settings/l10n/gl.js
@@ -112,13 +112,8 @@ OC.L10N.register(
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Recomendámoslle que instale no sistema os paquetes necesarios para admitir unha das seguintes configuracións rexionais: %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\")" : "Se a instalación no está feita na raíz do dominio e usa o sistema cron, pode haber incidencias coa xeración de URL. Para evitar estes problemas, axuste a opción «overwrite.cli.url» no seu ficheiro config.php á ruta webroot da instalación (suxestión: «%s»)",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Non foi posíbel executar a tarefa de cron programada desde a liña de ordes. Atopáronse os seguintes erros técnicos:",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Última execución da tarefa de cron: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Última execución da tarefa de cron: %s. Semella que algo vai mal",
- "Cron was not executed yet!" : "«Cron» aínda non foi executado!",
"Execute one task with each page loaded" : "Executar unha tarefa con cada páxina cargada",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está rexistrado nun servizo de WebCron para chamar a cron.php cada 15 minutos a través de HTTP.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Use o servizo «cron» do sistema para chamar ao ficheiro cron.php cada 15 minutos.",
"Version" : "Versión",
"Sharing" : "Compartindo",
"Allow apps to use the Share API" : "Permitir que as aplicacións empreguen o API para compartir",
@@ -212,6 +207,11 @@ OC.L10N.register(
"Uninstall" : "Desinstalar",
"This is used for sending out notifications." : "Isto utilizase para o envío de notificacións.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Non se atopou o módulo de PHP «fileinfo». É recomendábel activar este módulo para obter os mellores resultados coa detección do tipo MIME.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Última execución da tarefa de cron: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Última execución da tarefa de cron: %s. Semella que algo vai mal",
+ "Cron was not executed yet!" : "«Cron» aínda non foi executado!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Use o servizo «cron» do sistema para chamar ao ficheiro cron.php cada 15 minutos.",
"Cheers!" : "Saúdos!",
"Show last log in" : "Amosar a última conexión"
},
diff --git a/settings/l10n/gl.json b/settings/l10n/gl.json
index 77a709ac0c8..66a22938955 100644
--- a/settings/l10n/gl.json
+++ b/settings/l10n/gl.json
@@ -110,13 +110,8 @@
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Recomendámoslle que instale no sistema os paquetes necesarios para admitir unha das seguintes configuracións rexionais: %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\")" : "Se a instalación no está feita na raíz do dominio e usa o sistema cron, pode haber incidencias coa xeración de URL. Para evitar estes problemas, axuste a opción «overwrite.cli.url» no seu ficheiro config.php á ruta webroot da instalación (suxestión: «%s»)",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Non foi posíbel executar a tarefa de cron programada desde a liña de ordes. Atopáronse os seguintes erros técnicos:",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Última execución da tarefa de cron: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Última execución da tarefa de cron: %s. Semella que algo vai mal",
- "Cron was not executed yet!" : "«Cron» aínda non foi executado!",
"Execute one task with each page loaded" : "Executar unha tarefa con cada páxina cargada",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está rexistrado nun servizo de WebCron para chamar a cron.php cada 15 minutos a través de HTTP.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Use o servizo «cron» do sistema para chamar ao ficheiro cron.php cada 15 minutos.",
"Version" : "Versión",
"Sharing" : "Compartindo",
"Allow apps to use the Share API" : "Permitir que as aplicacións empreguen o API para compartir",
@@ -210,6 +205,11 @@
"Uninstall" : "Desinstalar",
"This is used for sending out notifications." : "Isto utilizase para o envío de notificacións.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Non se atopou o módulo de PHP «fileinfo». É recomendábel activar este módulo para obter os mellores resultados coa detección do tipo MIME.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Última execución da tarefa de cron: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Última execución da tarefa de cron: %s. Semella que algo vai mal",
+ "Cron was not executed yet!" : "«Cron» aínda non foi executado!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Use o servizo «cron» do sistema para chamar ao ficheiro cron.php cada 15 minutos.",
"Cheers!" : "Saúdos!",
"Show last log in" : "Amosar a última conexión"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/settings/l10n/he.js b/settings/l10n/he.js
index 471d3e691bb..9a143349a7f 100644
--- a/settings/l10n/he.js
+++ b/settings/l10n/he.js
@@ -137,13 +137,8 @@ OC.L10N.register(
"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\")" : "אם המערכת שלך לא מותקנת על נתיב הבסיס של שם התחום ומשתמשת במערכת cron, עלולות להיות בעיות עם יצירת כתובות האינטרנט. למניעת בעיות אלו, יש לקבוע את האופציה \"overwrite.cli.url\" בקובץ ה- config.php לנתיב הבסיסי של ההתקנה שלך (הציעו: \"%s \")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "לא ניתן היה להפעיל את cronjob דרך CLI. השגיאות הבאות נצפתו:",
"All checks passed." : "כל הבדיקות עברו",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "פעילות cron job אחרונה: %s.",
- "Last cron job execution: %s. Something seems wrong." : "פעילות cron job אחרונה: %s. משהו נראה שגוי.",
- "Cron was not executed yet!" : "Cron עדיין לא בוצע!",
"Execute one task with each page loaded" : "יש להפעיל משימה אחת עם כל עמוד שנטען",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php רשום בשירות webcron לקרוא ל- cron.php בכל 15 דקות באמצעות http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "ניתן להשתמש בשירות cron לקרוא לקובץ cron.php בכל 15 דקות.",
"Version" : "גרסה",
"Sharing" : "שיתוף",
"Allow apps to use the Share API" : "לאפשר ליישום להשתמש ב־API השיתוף",
@@ -253,6 +248,11 @@ OC.L10N.register(
"Uninstall" : "הסרת התקנה",
"This is used for sending out notifications." : "משתמשים בזה כדי לשלוח הודעות.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "מודול ה- PHP מסוג 'fileinfo' חסר. אנו ממליצים בחום לאפשר מודול זה כדי לקבל תוצאות מיטביות עם גילוי mime-type.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "פעילות cron job אחרונה: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "פעילות cron job אחרונה: %s. משהו נראה שגוי.",
+ "Cron was not executed yet!" : "Cron עדיין לא בוצע!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "ניתן להשתמש בשירות cron לקרוא לקובץ cron.php בכל 15 דקות.",
"Cheers!" : "לחיים!",
"For password recovery and notifications" : "לשחזור סיסמא והודעות",
"Show last log in" : "הצגת כניסה אחרונה"
diff --git a/settings/l10n/he.json b/settings/l10n/he.json
index 78624f922c9..75d87e9c6c9 100644
--- a/settings/l10n/he.json
+++ b/settings/l10n/he.json
@@ -135,13 +135,8 @@
"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\")" : "אם המערכת שלך לא מותקנת על נתיב הבסיס של שם התחום ומשתמשת במערכת cron, עלולות להיות בעיות עם יצירת כתובות האינטרנט. למניעת בעיות אלו, יש לקבוע את האופציה \"overwrite.cli.url\" בקובץ ה- config.php לנתיב הבסיסי של ההתקנה שלך (הציעו: \"%s \")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "לא ניתן היה להפעיל את cronjob דרך CLI. השגיאות הבאות נצפתו:",
"All checks passed." : "כל הבדיקות עברו",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "פעילות cron job אחרונה: %s.",
- "Last cron job execution: %s. Something seems wrong." : "פעילות cron job אחרונה: %s. משהו נראה שגוי.",
- "Cron was not executed yet!" : "Cron עדיין לא בוצע!",
"Execute one task with each page loaded" : "יש להפעיל משימה אחת עם כל עמוד שנטען",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php רשום בשירות webcron לקרוא ל- cron.php בכל 15 דקות באמצעות http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "ניתן להשתמש בשירות cron לקרוא לקובץ cron.php בכל 15 דקות.",
"Version" : "גרסה",
"Sharing" : "שיתוף",
"Allow apps to use the Share API" : "לאפשר ליישום להשתמש ב־API השיתוף",
@@ -251,6 +246,11 @@
"Uninstall" : "הסרת התקנה",
"This is used for sending out notifications." : "משתמשים בזה כדי לשלוח הודעות.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "מודול ה- PHP מסוג 'fileinfo' חסר. אנו ממליצים בחום לאפשר מודול זה כדי לקבל תוצאות מיטביות עם גילוי mime-type.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "פעילות cron job אחרונה: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "פעילות cron job אחרונה: %s. משהו נראה שגוי.",
+ "Cron was not executed yet!" : "Cron עדיין לא בוצע!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "ניתן להשתמש בשירות cron לקרוא לקובץ cron.php בכל 15 דקות.",
"Cheers!" : "לחיים!",
"For password recovery and notifications" : "לשחזור סיסמא והודעות",
"Show last log in" : "הצגת כניסה אחרונה"
diff --git a/settings/l10n/hr.js b/settings/l10n/hr.js
index 345d4e346e7..1adeccc7e87 100644
--- a/settings/l10n/hr.js
+++ b/settings/l10n/hr.js
@@ -64,11 +64,8 @@ OC.L10N.register(
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemoriranja kao što je Zend OPcache ilieAccelerator.",
"System locale can not be set to a one which supports UTF-8." : "Regionalnu shemu sustava nemoguće je postaviti na neku koja podržava UTF-8.",
"This means that there might be problems with certain characters in file names." : "To znači da se mogu javiti problemi s određenim znakovima u datoteci.",
- "Cron" : "Cron",
- "Cron was not executed yet!" : "Cron još nije izvršen!",
"Execute one task with each page loaded" : "Izvršite jedan zadatak sa svakom učitanom stranicom",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je registriran na webcron usluzi da poziva cron.php svakih 15 minuta preko http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Koristite cron uslugu sustava za pozivanje cron.php datoteke svakih 15 minuta.",
"Version" : "Verzija",
"Sharing" : "Dijeljenje zajedničkih resursa",
"Allow apps to use the Share API" : "Dopustite apps korištenje Share API",
@@ -130,6 +127,9 @@ OC.L10N.register(
"Uninstall" : "Deinstalirajte",
"This is used for sending out notifications." : "Ovo se koristi za slanje notifikacija.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP modul 'fileinfo' nedostaje. Tolo vam preporučjemo da taj modul omogućitekako biste dobili najbolje rezultate u detekciji mime vrste.",
+ "Cron" : "Cron",
+ "Cron was not executed yet!" : "Cron još nije izvršen!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Koristite cron uslugu sustava za pozivanje cron.php datoteke svakih 15 minuta.",
"Cheers!" : "Cheers!",
"Show last log in" : "Prikaži zadnje spajanje"
},
diff --git a/settings/l10n/hr.json b/settings/l10n/hr.json
index 9c53f2b1b1c..3011887d065 100644
--- a/settings/l10n/hr.json
+++ b/settings/l10n/hr.json
@@ -62,11 +62,8 @@
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Uzrok tome je vjerojatno neki ubrzivač predmemoriranja kao što je Zend OPcache ilieAccelerator.",
"System locale can not be set to a one which supports UTF-8." : "Regionalnu shemu sustava nemoguće je postaviti na neku koja podržava UTF-8.",
"This means that there might be problems with certain characters in file names." : "To znači da se mogu javiti problemi s određenim znakovima u datoteci.",
- "Cron" : "Cron",
- "Cron was not executed yet!" : "Cron još nije izvršen!",
"Execute one task with each page loaded" : "Izvršite jedan zadatak sa svakom učitanom stranicom",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je registriran na webcron usluzi da poziva cron.php svakih 15 minuta preko http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Koristite cron uslugu sustava za pozivanje cron.php datoteke svakih 15 minuta.",
"Version" : "Verzija",
"Sharing" : "Dijeljenje zajedničkih resursa",
"Allow apps to use the Share API" : "Dopustite apps korištenje Share API",
@@ -128,6 +125,9 @@
"Uninstall" : "Deinstalirajte",
"This is used for sending out notifications." : "Ovo se koristi za slanje notifikacija.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP modul 'fileinfo' nedostaje. Tolo vam preporučjemo da taj modul omogućitekako biste dobili najbolje rezultate u detekciji mime vrste.",
+ "Cron" : "Cron",
+ "Cron was not executed yet!" : "Cron još nije izvršen!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Koristite cron uslugu sustava za pozivanje cron.php datoteke svakih 15 minuta.",
"Cheers!" : "Cheers!",
"Show last log in" : "Prikaži zadnje spajanje"
},"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/settings/l10n/hu.js b/settings/l10n/hu.js
index bec9ff22d3e..a28998bf0e2 100644
--- a/settings/l10n/hu.js
+++ b/settings/l10n/hu.js
@@ -198,13 +198,8 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Az ütemezett feladat (cronjob) nem futott le parancssorból. A következő hibák tűntek fel:",
"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>." : "Kérjük, ellenőrizd a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">telepítési dokumentációt ↗</a> és a <a href=\"%s\">naplót</a>, hogy tartalmaz-e bármilyen hibát vagy figyelmeztetést.",
"All checks passed." : "Minden ellenőrzés sikeres.",
- "Cron" : "Ütemezett feladatok",
- "Last cron job execution: %s." : "Az utolsó cron feladat ekkor futott le: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Az utolsó cron feladat ekkor futott le: %s. Valami nincs rendben.",
- "Cron was not executed yet!" : "A cron feladat még nem futott le!",
"Execute one task with each page loaded" : "Egy-egy feladat végrehajtása minden alkalommal, amikor egy weboldalt letöltenek",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "A cron.php webcron szolgáltatásként van regisztrálva, hogy 15 percenként egyszer lefuttassa a cron.php-t.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "A rendszer cron szolgáltatását használjuk, mely a cron.php fájlt futtatja le 15 percenként.",
"The cron.php needs to be executed by the system user \"%s\"." : "A cron.php-t ennek a rendszer felhasználónak kell végrehajtania: \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Ennek a futtatásához szükség van a PHP posix kiterjesztésre. További információkért nézd meg a {linkstart}PHP dokumentációt{linkend}.",
"Version" : "Verzió",
@@ -351,6 +346,11 @@ OC.L10N.register(
"Uninstall" : "Eltávolítás",
"This is used for sending out notifications." : "Ezt használjuk a jelentések kiküldésére.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "A 'fileinfo' PHP modul hiányzik. Erősen javasolt ennek a modulnak a telepítése, mert ezzel lényegesen jobb a MIME-típusok felismerése.",
+ "Cron" : "Ütemezett feladatok",
+ "Last cron job execution: %s." : "Az utolsó cron feladat ekkor futott le: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Az utolsó cron feladat ekkor futott le: %s. Valami nincs rendben.",
+ "Cron was not executed yet!" : "A cron feladat még nem futott le!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "A rendszer cron szolgáltatását használjuk, mely a cron.php fájlt futtatja le 15 percenként.",
"Uninstall app" : "Alkalmazás eltávolítása",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Szia!<br><br>Szeretnénk tudatni, hogy elkészült a fiókod: %s.<br><br>A felhasználóneved: <strong>%s</strong><br>Hozzáférés itt: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Üdv.",
diff --git a/settings/l10n/hu.json b/settings/l10n/hu.json
index 3f13764ce43..97ccb0ce4fe 100644
--- a/settings/l10n/hu.json
+++ b/settings/l10n/hu.json
@@ -196,13 +196,8 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Az ütemezett feladat (cronjob) nem futott le parancssorból. A következő hibák tűntek fel:",
"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>." : "Kérjük, ellenőrizd a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">telepítési dokumentációt ↗</a> és a <a href=\"%s\">naplót</a>, hogy tartalmaz-e bármilyen hibát vagy figyelmeztetést.",
"All checks passed." : "Minden ellenőrzés sikeres.",
- "Cron" : "Ütemezett feladatok",
- "Last cron job execution: %s." : "Az utolsó cron feladat ekkor futott le: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Az utolsó cron feladat ekkor futott le: %s. Valami nincs rendben.",
- "Cron was not executed yet!" : "A cron feladat még nem futott le!",
"Execute one task with each page loaded" : "Egy-egy feladat végrehajtása minden alkalommal, amikor egy weboldalt letöltenek",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "A cron.php webcron szolgáltatásként van regisztrálva, hogy 15 percenként egyszer lefuttassa a cron.php-t.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "A rendszer cron szolgáltatását használjuk, mely a cron.php fájlt futtatja le 15 percenként.",
"The cron.php needs to be executed by the system user \"%s\"." : "A cron.php-t ennek a rendszer felhasználónak kell végrehajtania: \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Ennek a futtatásához szükség van a PHP posix kiterjesztésre. További információkért nézd meg a {linkstart}PHP dokumentációt{linkend}.",
"Version" : "Verzió",
@@ -349,6 +344,11 @@
"Uninstall" : "Eltávolítás",
"This is used for sending out notifications." : "Ezt használjuk a jelentések kiküldésére.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "A 'fileinfo' PHP modul hiányzik. Erősen javasolt ennek a modulnak a telepítése, mert ezzel lényegesen jobb a MIME-típusok felismerése.",
+ "Cron" : "Ütemezett feladatok",
+ "Last cron job execution: %s." : "Az utolsó cron feladat ekkor futott le: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Az utolsó cron feladat ekkor futott le: %s. Valami nincs rendben.",
+ "Cron was not executed yet!" : "A cron feladat még nem futott le!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "A rendszer cron szolgáltatását használjuk, mely a cron.php fájlt futtatja le 15 percenként.",
"Uninstall app" : "Alkalmazás eltávolítása",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Szia!<br><br>Szeretnénk tudatni, hogy elkészült a fiókod: %s.<br><br>A felhasználóneved: <strong>%s</strong><br>Hozzáférés itt: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Üdv.",
diff --git a/settings/l10n/ia.js b/settings/l10n/ia.js
index dc9176b83ea..0da7508bf7d 100644
--- a/settings/l10n/ia.js
+++ b/settings/l10n/ia.js
@@ -143,7 +143,6 @@ OC.L10N.register(
"Select default encryption module:" : "Selectionar modulo de cryptographia standard",
"Start migration" : "Initiar migration",
"Security & setup warnings" : "Securitate e advertimentos de configuration",
- "Cron" : "Cron",
"Version" : "Version",
"Allow users to share via link" : "Permitter usatores compartir via ligamine",
"Allow public uploads" : "Permitter incargas public",
@@ -241,6 +240,7 @@ OC.L10N.register(
"Error while uninstalling app" : "Error durante de-installation del application",
"Uninstall" : "De-installar",
"This is used for sending out notifications." : "Isto es usate pro inviar notificationes.",
+ "Cron" : "Cron",
"Uninstall app" : "De-installar application",
"Cheers!" : "Congratulationes!",
"Your website" : "Tu sito web",
diff --git a/settings/l10n/ia.json b/settings/l10n/ia.json
index 81e21ffd6cf..7ec74d187ad 100644
--- a/settings/l10n/ia.json
+++ b/settings/l10n/ia.json
@@ -141,7 +141,6 @@
"Select default encryption module:" : "Selectionar modulo de cryptographia standard",
"Start migration" : "Initiar migration",
"Security & setup warnings" : "Securitate e advertimentos de configuration",
- "Cron" : "Cron",
"Version" : "Version",
"Allow users to share via link" : "Permitter usatores compartir via ligamine",
"Allow public uploads" : "Permitter incargas public",
@@ -239,6 +238,7 @@
"Error while uninstalling app" : "Error durante de-installation del application",
"Uninstall" : "De-installar",
"This is used for sending out notifications." : "Isto es usate pro inviar notificationes.",
+ "Cron" : "Cron",
"Uninstall app" : "De-installar application",
"Cheers!" : "Congratulationes!",
"Your website" : "Tu sito web",
diff --git a/settings/l10n/id.js b/settings/l10n/id.js
index 31cf04f21dc..4ebcc1b3e47 100644
--- a/settings/l10n/id.js
+++ b/settings/l10n/id.js
@@ -174,13 +174,8 @@ OC.L10N.register(
"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\")" : "Jika instalasi Anda tidak di root domain dan menggunakan sistem cron, hal tersebut dapat menyebabkan masalah dengan pembuatan URL. Untuk mencegah masalah tersebut, mohon atur opsi \"overwrite.cli.url\" pada berkas config.php Anda ke jalur lokasi webroot instalasi Anda (Disarankan: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Tidak mungkin untuk mengeksekusi cronjob via CLI. Kesalahan teknis berikut muncul:",
"All checks passed." : "Semua pemeriksaan lulus.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Eksekusi penjadwalan cron terakhir: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Eksekusi penjadwalan cron terakhir: %s. Kelihatannya ada yang salah.",
- "Cron was not executed yet!" : "Cron masih belum dieksekusi!",
"Execute one task with each page loaded" : "Jalankan tugas setiap kali halaman dimuat",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php didaftarkan pada layanan webcron untuk memanggil cron.php setiap 15 menit melalui http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Gunakan layanan cron sistem untuk memanggil berkas cron.php setiap 15 menit.",
"Version" : "Versi",
"Sharing" : "Berbagi",
"Allow apps to use the Share API" : "Izinkan aplikasi untuk menggunakan API Pembagian",
@@ -303,6 +298,11 @@ OC.L10N.register(
"Uninstall" : "Copot",
"This is used for sending out notifications." : "Ini digunakan untuk mengirim notifikasi keluar.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Module 'fileinfo' pada PHP tidak ada. Kami sangat menyarankan untuk mengaktifkan modul ini untuk mendapatkan hasil terbaik pada proses pendeteksian mime-type.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Eksekusi penjadwalan cron terakhir: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Eksekusi penjadwalan cron terakhir: %s. Kelihatannya ada yang salah.",
+ "Cron was not executed yet!" : "Cron masih belum dieksekusi!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Gunakan layanan cron sistem untuk memanggil berkas cron.php setiap 15 menit.",
"Cheers!" : "Horee!",
"For password recovery and notifications" : "Untuk pemulihan sandi dan pemberitahuan",
"Passcodes that give an app or device permissions to access your account." : "Kode kunci yang memberikan aplikasi atau perangkat izin untuk mengakses akun Anda.",
diff --git a/settings/l10n/id.json b/settings/l10n/id.json
index fe93e61d42a..af4fd6d38da 100644
--- a/settings/l10n/id.json
+++ b/settings/l10n/id.json
@@ -172,13 +172,8 @@
"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\")" : "Jika instalasi Anda tidak di root domain dan menggunakan sistem cron, hal tersebut dapat menyebabkan masalah dengan pembuatan URL. Untuk mencegah masalah tersebut, mohon atur opsi \"overwrite.cli.url\" pada berkas config.php Anda ke jalur lokasi webroot instalasi Anda (Disarankan: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Tidak mungkin untuk mengeksekusi cronjob via CLI. Kesalahan teknis berikut muncul:",
"All checks passed." : "Semua pemeriksaan lulus.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Eksekusi penjadwalan cron terakhir: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Eksekusi penjadwalan cron terakhir: %s. Kelihatannya ada yang salah.",
- "Cron was not executed yet!" : "Cron masih belum dieksekusi!",
"Execute one task with each page loaded" : "Jalankan tugas setiap kali halaman dimuat",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php didaftarkan pada layanan webcron untuk memanggil cron.php setiap 15 menit melalui http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Gunakan layanan cron sistem untuk memanggil berkas cron.php setiap 15 menit.",
"Version" : "Versi",
"Sharing" : "Berbagi",
"Allow apps to use the Share API" : "Izinkan aplikasi untuk menggunakan API Pembagian",
@@ -301,6 +296,11 @@
"Uninstall" : "Copot",
"This is used for sending out notifications." : "Ini digunakan untuk mengirim notifikasi keluar.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Module 'fileinfo' pada PHP tidak ada. Kami sangat menyarankan untuk mengaktifkan modul ini untuk mendapatkan hasil terbaik pada proses pendeteksian mime-type.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Eksekusi penjadwalan cron terakhir: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Eksekusi penjadwalan cron terakhir: %s. Kelihatannya ada yang salah.",
+ "Cron was not executed yet!" : "Cron masih belum dieksekusi!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Gunakan layanan cron sistem untuk memanggil berkas cron.php setiap 15 menit.",
"Cheers!" : "Horee!",
"For password recovery and notifications" : "Untuk pemulihan sandi dan pemberitahuan",
"Passcodes that give an app or device permissions to access your account." : "Kode kunci yang memberikan aplikasi atau perangkat izin untuk mengakses akun Anda.",
diff --git a/settings/l10n/is.js b/settings/l10n/is.js
index 6627d202af0..adb69b15ce2 100644
--- a/settings/l10n/is.js
+++ b/settings/l10n/is.js
@@ -19,6 +19,7 @@ OC.L10N.register(
"Authentication error" : "Villa við auðkenningu",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Settu inn endurheimtulykilorð kerfisstjóra, annars munu öll notandagögn tapast.",
"Wrong admin recovery password. Please check the password and try again." : "Rangt endurheimtulykilorð kerfisstjóra, athugaðu lykilorðið og reyndu aftur.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Bakendi styður ekki breytingu á lykilorði, en það tókst að uppfæra dulritunarlykil notandans.",
"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 %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL er að nota úrelda útgáfu af %s (%s). Uppfærðu stýrikerfið þitt, annars er hætt við að eiginleikar á borð við %s virki ekki sem skyldi.",
@@ -29,6 +30,9 @@ OC.L10N.register(
"Unable to delete group." : "Get ekki eytt hópi.",
"Invalid SMTP password." : "Ógilt SMTP-lykilorð",
"Well done, %s!" : "Vel gert, %s!",
+ "If you received this email, the email configuration seems to be correct." : "Fyrst að þú fékkst þennan tölvupóst, þá lítur út fyrir að tölvupóstuppsetningin sé í lagi.",
+ "Email setting test" : "Prófa tölvupóststillingar",
+ "Email could not be sent. Check your mail server log" : "Ekki var hægt að senda póst. Skoðaðu annál póstþjónsins",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Vandamál kom upp við að senda tölvupóst. Farðu yfir stillingarnar þínar. (Villa: %s)",
"You need to set your user email before being able to send test emails." : "Þú verður að gefa upp netfangið þitt svo að þú getir sent prófunarpósta.",
"Invalid request" : "Ógild fyrirspurn",
@@ -38,6 +42,10 @@ OC.L10N.register(
"To send a password link to the user an email address is required." : "Til að fá sendan tengil á staðfestingu lykilorðs verður notandinn að hafa gefið upp tölvupóstfangið sitt.",
"Unable to create user." : "Gat ekki búið til notanda.",
"Unable to delete user." : "Get ekki eytt notanda.",
+ "Error while enabling user." : "Villa við að virkja notanda.",
+ "Error while disabling user." : "Villa við að gera notanda óvirkann.",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Til að sannprófa Twitter-aðganginn þinn, sendu þá eftirfarandi tíst á Twitter (gakktu úr skugga um að skeytinu sé ekki skipt í línur):",
+ "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):" : "Til að sannprófa vefsvæðið þitt, vistaðu eftirfarandi efni á vefrótinni þinni (web-root) á '.well-known/CloudIdVerificationCode.txt' (gakktu úr skugga um að allur textinn sé í einni línu):",
"Settings saved" : "Stillingar vistaðar",
"Unable to change full name" : "Get ekki breytt fullu nafni",
"Unable to change email address" : "Get ekki breytt tölvupóstfangi",
@@ -46,11 +54,25 @@ OC.L10N.register(
"Invalid user" : "Ógildur notandi",
"Unable to change mail address" : "Get ekki breytt tölvupóstfangi",
"Email saved" : "Tölvupóstfang vistað",
+ "%1$s changed your password on %2$s." : "%1$s breytti lykilorðinu þínu á %2$s.",
+ "Your password on %s was changed." : "Lykilorðinu þínu á %s hefur verið breytt.",
+ "Your password on %s was reset by an administrator." : "Kerfisstjóri breytti lykilorðinu þínu á %s.",
+ "Password changed for %s" : "Lykilorð breyttist fyrir %s",
+ "If you did not request this, please contact an administrator." : "Ef þú baðst ekki um þetta, hafðu þá samband við kerfisstjóra.",
+ "Password for %1$s changed on %2$s" : "Lykilorð fyrir %1$s breyttist %2$s",
+ "%1$s changed your email address on %2$s." : "%1$s breytti tölvupóstfanginu þínu þann %2$s.",
+ "Your email address on %s was changed." : "Tölvupóstfanginu þínu á %s var breytt.",
+ "Your email address on %s was changed by an administrator." : "Kerfisstjóri breytti tölvupóstfanginu þínu á %s.",
+ "Email address changed for %s" : "Tölvupóstfang breyttist fyrir %s",
+ "The new email address is %s" : "Nýja tölvupóstfangið er %s",
+ "Email address for %1$s changed on %2$s" : "Lykilorð fyrir %1$s breyttist þann %2$s",
"Welcome aboard" : "Velkomin um borð",
"Welcome aboard %s" : "Velkomin um borð %s",
+ "You have now an %s account, you can add, protect, and share your data." : "Þú ert núna með %s aðgang, þú getur bætt við, varið og deilt gögnunum þínum.",
"Your username is: %s" : "Notandanafnið þitt er: %s",
"Set your password" : "Stilltu lykilorðið þitt",
"Go to %s" : "Farðu í %s",
+ "Install Client" : "Setja upp biðlaraforrit",
"Your %s account was created" : "%s notandaaðgangurinn þinn var búinn til",
"Password confirmation is required" : "Þörf á staðfestingu lykilorðs",
"Couldn't remove app." : "Gat ekki fjarlægt forrit.",
@@ -126,6 +148,8 @@ OC.L10N.register(
"Visible to local users and to trusted servers" : "Sýnilegt staðværum notendum og á treystum þjónum",
"Public" : "Opinbert",
"Will be synced to a global and public address book" : "Verður samstillt víðværri og opinberri vistfangaskrá",
+ "Verify" : "Sannreyna",
+ "Verifying …" : "Sannreyni …",
"Select a profile picture" : "Veldu einkennismynd",
"Very weak password" : "Mjög veikt lykilorð",
"Weak password" : "Veikt lykilorð",
@@ -149,12 +173,14 @@ OC.L10N.register(
"Password successfully changed" : "Lykilorðinu hefur verið breytt",
"Changing the password will result in data loss, because data recovery is not available for this user" : "Breyting á þessu lykilorði mun valda gagnatapi, þar sem gagnaendurheimt er ekki tiltæk fyrir þennan notanda",
"Could not change the users email" : "Tókst ekki að breyta tölvupóstfangi notandans",
+ "Error while changing status of {user}" : "Villa við að breyta stöðu {user}",
"A valid username must be provided" : "Skráðu inn gilt notandanafn",
"Error creating user: {message}" : "Villa við að búa til notanda: {message}",
"A valid password must be provided" : "Skráðu inn gilt lykilorð",
"A valid email must be provided" : "Skráðu inn gilt tölvupóstfang",
"__language_name__" : "Íslenska",
"Unlimited" : "ótakmörkuðu",
+ "Verifying" : "Sannreyni",
"Personal info" : "Persónulegar upplýsingar",
"Sessions" : "Setur",
"App passwords" : "Lykilorð forrita",
@@ -203,6 +229,7 @@ OC.L10N.register(
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Þessu veldur væntanlega biðminni/hraðall á borð við Zend OPcache eða eAccelerator.",
"Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Gagnagrunnurinn keyrir ekki með \"READ COMMITTED\" færsluaðgreiningarstiginu. Þetta getur valdið vandamálum þegar margar aðgerðir eru keyrðar í einu.",
"%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s eldra en útgáfa %2$s er uppsett, en vegna stöðugleika og afkasta mælum við með að útgáfa %1$s verði sett upp.",
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP-eininguna 'fileinfo' vantar. Við mælum eindregið með notkun þessarar einingar til að fá bestu útkomu við greiningu á MIME-skráagerðum.",
"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." : "Færslulæsing skráa (transactional file locking) er óvirk, þetta gæti leitt til vandamála út frá forgangsskilyrðum (race conditions). Virkjaðu 'filelocking.enabled' í config.php til að forðast slík vandamál. Skoðaðu <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">hjálparskjölin ↗</a> til að sjá nánari upplýsingar.",
"System locale can not be set to a one which supports UTF-8." : "Ekki var hægt að setja staðfærslu kerfisins á neina sem styður UTF-8.",
"This means that there might be problems with certain characters in file names." : "Þetta þýðir að það geta komið upp vandamál við að birta ákveðna stafi í skráaheitum.",
@@ -211,17 +238,13 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Ekki var hægt að keyra cron-verkið á skipanalínu. Eftirfarandi tæknilegar villur komu upp:",
"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>." : "Yfirfarðu vandlega <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">uppsetningarleiðbeiningarnar ↗</a>, og athugaðu hvort nokkrar villumeldingar eða aðvaranir séu í <a href=\"%s\">annálnum</a>.",
"All checks passed." : "Stóðst allar prófanir.",
- "Cron" : "CRON",
- "Last cron job execution: %s." : "Síðasta keyrsla cron-verks: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Síðasta keyrsla cron-verks: %s. Eitthvað er ekki eins og það á að sér að vera.",
- "Cron was not executed yet!" : "Cron hefur ekki ennþá verið keyrt!",
"Execute one task with each page loaded" : "Framkvæma eitt verk með hverri innhlaðinni síðu",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er skráð á webcron-þjónustu til að kalla á cron.php á 15 mínútna fresti yfir http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Nota cron-þjónustu kerfisins til að kalla á cron.php skrána á 15 mínútna fresti.",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php verður að vera keyrt af kerfisnotandanum \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Til að keyra þetta þarftu að hafa PHP posix viðvótina (extension). Skoðaðu {linkstart}PHP hjálparskjölin{linkend} fyrir nánari útlistun.",
"Version" : "Útgáfa",
"Sharing" : "Deiling",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Sem stjórnandi geturðu fínstillt hegðun við deilingu. Endilega kíktu á hjálparskjölin til að sjá ítarlegri upplýsingar.",
"Allow apps to use the Share API" : "Leyfa forritum að nota Share API",
"Allow users to share via link" : "Leyfa notendum að deila með tengli",
"Allow public uploads" : "Leyfa opinberar innsendingar",
@@ -251,6 +274,7 @@ OC.L10N.register(
"Check the security of your Nextcloud over our security scan" : "Athugaðu öryggi Nextcloud-skýsins með öryggisskönnun okkar",
"Hardening and security guidance" : "Brynjun og öryggisleiðbeiningar",
"Developer documentation" : "Skjölun fyrir þróunaraðila",
+ "View in store" : "Skoða í hugbúnaðarsafni",
"Limit to groups" : "Takmarka við hópa",
"This app has an update available." : "Uppfærsla er tiltæk fyrir þetta forrit.",
"by %s" : "frá %s",
@@ -298,7 +322,10 @@ OC.L10N.register(
"Address" : "Heimilisfang",
"Your postal address" : "Heimilisfangið þitt",
"Website" : "Vefsvæði",
+ "It can take up to 24 hours before the account is displayed as verified." : "Það getur tekið allt að 24 klukkustundum áður en notandaaðgangurinn er birtur sem sannvottaður.",
+ "Link https://…" : "Tengill https://…",
"Twitter" : "Twitter",
+ "Twitter handle @…" : "Twitter notandanafn @…",
"You are member of the following groups:" : "Þú ert meðlimur eftirfarandi hópa:",
"Password" : "Lykilorð",
"Current password" : "Núverandi lykilorð",
@@ -342,6 +369,7 @@ OC.L10N.register(
"Group name" : "Heiti hóps",
"Everyone" : "Allir",
"Admins" : "Kerfisstjórar",
+ "Disabled" : "Óvirkt",
"Default quota" : "Sjálfgefinn kvóti",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Settu inn geymslukvóta (t.d.: \"512 MB\" eða \"12 GB\")",
"Other" : "Annað",
@@ -368,6 +396,11 @@ OC.L10N.register(
"Uninstall" : "Henda út",
"This is used for sending out notifications." : "Þetta er notað til að senda út tilkynningar.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-eininguna 'fileinfo' vantar. Við mælum eindregið með notkun þessarar einingar til að fá bestu útkomu við greiningu á MIME-skráagerðum.",
+ "Cron" : "CRON",
+ "Last cron job execution: %s." : "Síðasta keyrsla cron-verks: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Síðasta keyrsla cron-verks: %s. Eitthvað er ekki eins og það á að sér að vera.",
+ "Cron was not executed yet!" : "Cron hefur ekki ennþá verið keyrt!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Nota cron-þjónustu kerfisins til að kalla á cron.php skrána á 15 mínútna fresti.",
"Uninstall app" : "Henda út forriti",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hæ þú,<br><br>bara að láta þig vita að þú átt núna s aðgang.<br><br>Notandanafnið þitt: <strong>%s</strong><br>Tengstu honum: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Til hamingju!",
diff --git a/settings/l10n/is.json b/settings/l10n/is.json
index f1215f2e091..c313c1e945c 100644
--- a/settings/l10n/is.json
+++ b/settings/l10n/is.json
@@ -17,6 +17,7 @@
"Authentication error" : "Villa við auðkenningu",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Settu inn endurheimtulykilorð kerfisstjóra, annars munu öll notandagögn tapast.",
"Wrong admin recovery password. Please check the password and try again." : "Rangt endurheimtulykilorð kerfisstjóra, athugaðu lykilorðið og reyndu aftur.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Bakendi styður ekki breytingu á lykilorði, en það tókst að uppfæra dulritunarlykil notandans.",
"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 %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL er að nota úrelda útgáfu af %s (%s). Uppfærðu stýrikerfið þitt, annars er hætt við að eiginleikar á borð við %s virki ekki sem skyldi.",
@@ -27,6 +28,9 @@
"Unable to delete group." : "Get ekki eytt hópi.",
"Invalid SMTP password." : "Ógilt SMTP-lykilorð",
"Well done, %s!" : "Vel gert, %s!",
+ "If you received this email, the email configuration seems to be correct." : "Fyrst að þú fékkst þennan tölvupóst, þá lítur út fyrir að tölvupóstuppsetningin sé í lagi.",
+ "Email setting test" : "Prófa tölvupóststillingar",
+ "Email could not be sent. Check your mail server log" : "Ekki var hægt að senda póst. Skoðaðu annál póstþjónsins",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Vandamál kom upp við að senda tölvupóst. Farðu yfir stillingarnar þínar. (Villa: %s)",
"You need to set your user email before being able to send test emails." : "Þú verður að gefa upp netfangið þitt svo að þú getir sent prófunarpósta.",
"Invalid request" : "Ógild fyrirspurn",
@@ -36,6 +40,10 @@
"To send a password link to the user an email address is required." : "Til að fá sendan tengil á staðfestingu lykilorðs verður notandinn að hafa gefið upp tölvupóstfangið sitt.",
"Unable to create user." : "Gat ekki búið til notanda.",
"Unable to delete user." : "Get ekki eytt notanda.",
+ "Error while enabling user." : "Villa við að virkja notanda.",
+ "Error while disabling user." : "Villa við að gera notanda óvirkann.",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Til að sannprófa Twitter-aðganginn þinn, sendu þá eftirfarandi tíst á Twitter (gakktu úr skugga um að skeytinu sé ekki skipt í línur):",
+ "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):" : "Til að sannprófa vefsvæðið þitt, vistaðu eftirfarandi efni á vefrótinni þinni (web-root) á '.well-known/CloudIdVerificationCode.txt' (gakktu úr skugga um að allur textinn sé í einni línu):",
"Settings saved" : "Stillingar vistaðar",
"Unable to change full name" : "Get ekki breytt fullu nafni",
"Unable to change email address" : "Get ekki breytt tölvupóstfangi",
@@ -44,11 +52,25 @@
"Invalid user" : "Ógildur notandi",
"Unable to change mail address" : "Get ekki breytt tölvupóstfangi",
"Email saved" : "Tölvupóstfang vistað",
+ "%1$s changed your password on %2$s." : "%1$s breytti lykilorðinu þínu á %2$s.",
+ "Your password on %s was changed." : "Lykilorðinu þínu á %s hefur verið breytt.",
+ "Your password on %s was reset by an administrator." : "Kerfisstjóri breytti lykilorðinu þínu á %s.",
+ "Password changed for %s" : "Lykilorð breyttist fyrir %s",
+ "If you did not request this, please contact an administrator." : "Ef þú baðst ekki um þetta, hafðu þá samband við kerfisstjóra.",
+ "Password for %1$s changed on %2$s" : "Lykilorð fyrir %1$s breyttist %2$s",
+ "%1$s changed your email address on %2$s." : "%1$s breytti tölvupóstfanginu þínu þann %2$s.",
+ "Your email address on %s was changed." : "Tölvupóstfanginu þínu á %s var breytt.",
+ "Your email address on %s was changed by an administrator." : "Kerfisstjóri breytti tölvupóstfanginu þínu á %s.",
+ "Email address changed for %s" : "Tölvupóstfang breyttist fyrir %s",
+ "The new email address is %s" : "Nýja tölvupóstfangið er %s",
+ "Email address for %1$s changed on %2$s" : "Lykilorð fyrir %1$s breyttist þann %2$s",
"Welcome aboard" : "Velkomin um borð",
"Welcome aboard %s" : "Velkomin um borð %s",
+ "You have now an %s account, you can add, protect, and share your data." : "Þú ert núna með %s aðgang, þú getur bætt við, varið og deilt gögnunum þínum.",
"Your username is: %s" : "Notandanafnið þitt er: %s",
"Set your password" : "Stilltu lykilorðið þitt",
"Go to %s" : "Farðu í %s",
+ "Install Client" : "Setja upp biðlaraforrit",
"Your %s account was created" : "%s notandaaðgangurinn þinn var búinn til",
"Password confirmation is required" : "Þörf á staðfestingu lykilorðs",
"Couldn't remove app." : "Gat ekki fjarlægt forrit.",
@@ -124,6 +146,8 @@
"Visible to local users and to trusted servers" : "Sýnilegt staðværum notendum og á treystum þjónum",
"Public" : "Opinbert",
"Will be synced to a global and public address book" : "Verður samstillt víðværri og opinberri vistfangaskrá",
+ "Verify" : "Sannreyna",
+ "Verifying …" : "Sannreyni …",
"Select a profile picture" : "Veldu einkennismynd",
"Very weak password" : "Mjög veikt lykilorð",
"Weak password" : "Veikt lykilorð",
@@ -147,12 +171,14 @@
"Password successfully changed" : "Lykilorðinu hefur verið breytt",
"Changing the password will result in data loss, because data recovery is not available for this user" : "Breyting á þessu lykilorði mun valda gagnatapi, þar sem gagnaendurheimt er ekki tiltæk fyrir þennan notanda",
"Could not change the users email" : "Tókst ekki að breyta tölvupóstfangi notandans",
+ "Error while changing status of {user}" : "Villa við að breyta stöðu {user}",
"A valid username must be provided" : "Skráðu inn gilt notandanafn",
"Error creating user: {message}" : "Villa við að búa til notanda: {message}",
"A valid password must be provided" : "Skráðu inn gilt lykilorð",
"A valid email must be provided" : "Skráðu inn gilt tölvupóstfang",
"__language_name__" : "Íslenska",
"Unlimited" : "ótakmörkuðu",
+ "Verifying" : "Sannreyni",
"Personal info" : "Persónulegar upplýsingar",
"Sessions" : "Setur",
"App passwords" : "Lykilorð forrita",
@@ -201,6 +227,7 @@
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Þessu veldur væntanlega biðminni/hraðall á borð við Zend OPcache eða eAccelerator.",
"Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Gagnagrunnurinn keyrir ekki með \"READ COMMITTED\" færsluaðgreiningarstiginu. Þetta getur valdið vandamálum þegar margar aðgerðir eru keyrðar í einu.",
"%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "%1$s eldra en útgáfa %2$s er uppsett, en vegna stöðugleika og afkasta mælum við með að útgáfa %1$s verði sett upp.",
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP-eininguna 'fileinfo' vantar. Við mælum eindregið með notkun þessarar einingar til að fá bestu útkomu við greiningu á MIME-skráagerðum.",
"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." : "Færslulæsing skráa (transactional file locking) er óvirk, þetta gæti leitt til vandamála út frá forgangsskilyrðum (race conditions). Virkjaðu 'filelocking.enabled' í config.php til að forðast slík vandamál. Skoðaðu <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">hjálparskjölin ↗</a> til að sjá nánari upplýsingar.",
"System locale can not be set to a one which supports UTF-8." : "Ekki var hægt að setja staðfærslu kerfisins á neina sem styður UTF-8.",
"This means that there might be problems with certain characters in file names." : "Þetta þýðir að það geta komið upp vandamál við að birta ákveðna stafi í skráaheitum.",
@@ -209,17 +236,13 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Ekki var hægt að keyra cron-verkið á skipanalínu. Eftirfarandi tæknilegar villur komu upp:",
"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>." : "Yfirfarðu vandlega <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">uppsetningarleiðbeiningarnar ↗</a>, og athugaðu hvort nokkrar villumeldingar eða aðvaranir séu í <a href=\"%s\">annálnum</a>.",
"All checks passed." : "Stóðst allar prófanir.",
- "Cron" : "CRON",
- "Last cron job execution: %s." : "Síðasta keyrsla cron-verks: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Síðasta keyrsla cron-verks: %s. Eitthvað er ekki eins og það á að sér að vera.",
- "Cron was not executed yet!" : "Cron hefur ekki ennþá verið keyrt!",
"Execute one task with each page loaded" : "Framkvæma eitt verk með hverri innhlaðinni síðu",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er skráð á webcron-þjónustu til að kalla á cron.php á 15 mínútna fresti yfir http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Nota cron-þjónustu kerfisins til að kalla á cron.php skrána á 15 mínútna fresti.",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php verður að vera keyrt af kerfisnotandanum \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Til að keyra þetta þarftu að hafa PHP posix viðvótina (extension). Skoðaðu {linkstart}PHP hjálparskjölin{linkend} fyrir nánari útlistun.",
"Version" : "Útgáfa",
"Sharing" : "Deiling",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Sem stjórnandi geturðu fínstillt hegðun við deilingu. Endilega kíktu á hjálparskjölin til að sjá ítarlegri upplýsingar.",
"Allow apps to use the Share API" : "Leyfa forritum að nota Share API",
"Allow users to share via link" : "Leyfa notendum að deila með tengli",
"Allow public uploads" : "Leyfa opinberar innsendingar",
@@ -249,6 +272,7 @@
"Check the security of your Nextcloud over our security scan" : "Athugaðu öryggi Nextcloud-skýsins með öryggisskönnun okkar",
"Hardening and security guidance" : "Brynjun og öryggisleiðbeiningar",
"Developer documentation" : "Skjölun fyrir þróunaraðila",
+ "View in store" : "Skoða í hugbúnaðarsafni",
"Limit to groups" : "Takmarka við hópa",
"This app has an update available." : "Uppfærsla er tiltæk fyrir þetta forrit.",
"by %s" : "frá %s",
@@ -296,7 +320,10 @@
"Address" : "Heimilisfang",
"Your postal address" : "Heimilisfangið þitt",
"Website" : "Vefsvæði",
+ "It can take up to 24 hours before the account is displayed as verified." : "Það getur tekið allt að 24 klukkustundum áður en notandaaðgangurinn er birtur sem sannvottaður.",
+ "Link https://…" : "Tengill https://…",
"Twitter" : "Twitter",
+ "Twitter handle @…" : "Twitter notandanafn @…",
"You are member of the following groups:" : "Þú ert meðlimur eftirfarandi hópa:",
"Password" : "Lykilorð",
"Current password" : "Núverandi lykilorð",
@@ -340,6 +367,7 @@
"Group name" : "Heiti hóps",
"Everyone" : "Allir",
"Admins" : "Kerfisstjórar",
+ "Disabled" : "Óvirkt",
"Default quota" : "Sjálfgefinn kvóti",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Settu inn geymslukvóta (t.d.: \"512 MB\" eða \"12 GB\")",
"Other" : "Annað",
@@ -366,6 +394,11 @@
"Uninstall" : "Henda út",
"This is used for sending out notifications." : "Þetta er notað til að senda út tilkynningar.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-eininguna 'fileinfo' vantar. Við mælum eindregið með notkun þessarar einingar til að fá bestu útkomu við greiningu á MIME-skráagerðum.",
+ "Cron" : "CRON",
+ "Last cron job execution: %s." : "Síðasta keyrsla cron-verks: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Síðasta keyrsla cron-verks: %s. Eitthvað er ekki eins og það á að sér að vera.",
+ "Cron was not executed yet!" : "Cron hefur ekki ennþá verið keyrt!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Nota cron-þjónustu kerfisins til að kalla á cron.php skrána á 15 mínútna fresti.",
"Uninstall app" : "Henda út forriti",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hæ þú,<br><br>bara að láta þig vita að þú átt núna s aðgang.<br><br>Notandanafnið þitt: <strong>%s</strong><br>Tengstu honum: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Til hamingju!",
diff --git a/settings/l10n/it.js b/settings/l10n/it.js
index 051761aa137..8b50b383bb9 100644
--- a/settings/l10n/it.js
+++ b/settings/l10n/it.js
@@ -205,13 +205,8 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Non è stato possibile eseguire il job di cron tramite CLI. Sono apparsi i seguenti errori tecnici:",
"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>." : "Leggi attentamente le <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guide d'installazione ↗</a>, e controlla gli errori o gli avvisi nel <a href=\"%s\">log</a>.",
"All checks passed." : "Tutti i controlli passati.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Ultima esecuzione di cron: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Ultima esecuzione di cron: %s. Potrebbe esserci un problema.",
- "Cron was not executed yet!" : "Cron non è stato ancora eseguito!",
"Execute one task with each page loaded" : "Esegui un'operazione con ogni pagina caricata",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php è registrato su un servizio webcron per invocare cron.php ogni 15 minuti su http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 15 minuti.",
"The cron.php needs to be executed by the system user \"%s\"." : "Il cron.php deve essere eseguito dall'utente di sistema \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Per eseguirlo, hai bisogno dell'estensione posix di PHP. Vedi la {linkstart}documentazione di PHP{linkend} per ulteriori dettagli.",
"Version" : "Versione",
@@ -355,6 +350,11 @@ OC.L10N.register(
"Uninstall" : "Disinstalla",
"This is used for sending out notifications." : "Viene utilizzato per inviare le notifiche.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Il modulo PHP 'fileinfo' non è presente. Consigliamo vivamente di abilitare questo modulo per ottenere risultati migliori con il rilevamento dei tipi MIME.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Ultima esecuzione di cron: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Ultima esecuzione di cron: %s. Potrebbe esserci un problema.",
+ "Cron was not executed yet!" : "Cron non è stato ancora eseguito!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 15 minuti.",
"Uninstall app" : "Disinstalla applicazione",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Ciao,<br><br>volevamo informarti che ora hai un account %s.<br><br>Il tuo nome utente: <strong>%s</strong><br>Accedi: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Saluti!",
diff --git a/settings/l10n/it.json b/settings/l10n/it.json
index 69535c308c4..b63170aad96 100644
--- a/settings/l10n/it.json
+++ b/settings/l10n/it.json
@@ -203,13 +203,8 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Non è stato possibile eseguire il job di cron tramite CLI. Sono apparsi i seguenti errori tecnici:",
"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>." : "Leggi attentamente le <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guide d'installazione ↗</a>, e controlla gli errori o gli avvisi nel <a href=\"%s\">log</a>.",
"All checks passed." : "Tutti i controlli passati.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Ultima esecuzione di cron: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Ultima esecuzione di cron: %s. Potrebbe esserci un problema.",
- "Cron was not executed yet!" : "Cron non è stato ancora eseguito!",
"Execute one task with each page loaded" : "Esegui un'operazione con ogni pagina caricata",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php è registrato su un servizio webcron per invocare cron.php ogni 15 minuti su http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 15 minuti.",
"The cron.php needs to be executed by the system user \"%s\"." : "Il cron.php deve essere eseguito dall'utente di sistema \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Per eseguirlo, hai bisogno dell'estensione posix di PHP. Vedi la {linkstart}documentazione di PHP{linkend} per ulteriori dettagli.",
"Version" : "Versione",
@@ -353,6 +348,11 @@
"Uninstall" : "Disinstalla",
"This is used for sending out notifications." : "Viene utilizzato per inviare le notifiche.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Il modulo PHP 'fileinfo' non è presente. Consigliamo vivamente di abilitare questo modulo per ottenere risultati migliori con il rilevamento dei tipi MIME.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Ultima esecuzione di cron: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Ultima esecuzione di cron: %s. Potrebbe esserci un problema.",
+ "Cron was not executed yet!" : "Cron non è stato ancora eseguito!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 15 minuti.",
"Uninstall app" : "Disinstalla applicazione",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Ciao,<br><br>volevamo informarti che ora hai un account %s.<br><br>Il tuo nome utente: <strong>%s</strong><br>Accedi: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Saluti!",
diff --git a/settings/l10n/ja.js b/settings/l10n/ja.js
index 600ca96b104..d05b561464e 100644
--- a/settings/l10n/ja.js
+++ b/settings/l10n/ja.js
@@ -188,13 +188,8 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "CLI から cronジョブを実行することができませんでした。次の技術的なエラーが発生しています:",
"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>." : "<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">インストールガイド ↗</a>をもう一度チェックして、<a href=\"%s\">ログ</a> にあるエラーまたは警告について確認してください。",
"All checks passed." : "すべてのチェックに合格しました。",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "最終cronジョブ実行: %s",
- "Last cron job execution: %s. Something seems wrong." : "最終cronジョブ実行: %s 何らかの問題があります。",
- "Cron was not executed yet!" : "cronはまだ実行されていません!",
"Execute one task with each page loaded" : "各ページの読み込み時にタスクを実行します。",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.phpは、HTTP経由で15分ごとにcron.phpを実行するようwebcronサービスに登録されます。",
- "Use system's cron service to call the cron.php file every 15 minutes." : "システムのcronサービスを利用して、15分間隔でcron.phpファイルを実行します。",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php はシステムユーザ \"%s\" で実行しなければなりません。",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "これを実行するにはPHPのposix拡張が必要です。詳細については、{linkstart} PHPドキュメント{linkend}を参照してください。",
"Version" : "バージョン",
@@ -339,6 +334,11 @@ OC.L10N.register(
"Uninstall" : "アンインストール",
"This is used for sending out notifications." : "通知を送信する際に使用します。",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP のモジュール 'fileinfo' が見つかりません。mimeタイプの検出を精度良く行うために、このモジュールを有効にすることを強くお勧めします。",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "最終cronジョブ実行: %s",
+ "Last cron job execution: %s. Something seems wrong." : "最終cronジョブ実行: %s 何らかの問題があります。",
+ "Cron was not executed yet!" : "cronはまだ実行されていません!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "システムのcronサービスを利用して、15分間隔でcron.phpファイルを実行します。",
"Uninstall app" : "アプリをアンインストール",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "こんにちは、<br><br>あなたのアカウント %s が利用できるようになりました。<br><br>ユーザー名: %s<br>接続URL: <a href=\"%s\">%s</a><br><br>",
"Cheers!" : "それでは!",
diff --git a/settings/l10n/ja.json b/settings/l10n/ja.json
index d5665b07278..2464950828a 100644
--- a/settings/l10n/ja.json
+++ b/settings/l10n/ja.json
@@ -186,13 +186,8 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "CLI から cronジョブを実行することができませんでした。次の技術的なエラーが発生しています:",
"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>." : "<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">インストールガイド ↗</a>をもう一度チェックして、<a href=\"%s\">ログ</a> にあるエラーまたは警告について確認してください。",
"All checks passed." : "すべてのチェックに合格しました。",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "最終cronジョブ実行: %s",
- "Last cron job execution: %s. Something seems wrong." : "最終cronジョブ実行: %s 何らかの問題があります。",
- "Cron was not executed yet!" : "cronはまだ実行されていません!",
"Execute one task with each page loaded" : "各ページの読み込み時にタスクを実行します。",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.phpは、HTTP経由で15分ごとにcron.phpを実行するようwebcronサービスに登録されます。",
- "Use system's cron service to call the cron.php file every 15 minutes." : "システムのcronサービスを利用して、15分間隔でcron.phpファイルを実行します。",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php はシステムユーザ \"%s\" で実行しなければなりません。",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "これを実行するにはPHPのposix拡張が必要です。詳細については、{linkstart} PHPドキュメント{linkend}を参照してください。",
"Version" : "バージョン",
@@ -337,6 +332,11 @@
"Uninstall" : "アンインストール",
"This is used for sending out notifications." : "通知を送信する際に使用します。",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP のモジュール 'fileinfo' が見つかりません。mimeタイプの検出を精度良く行うために、このモジュールを有効にすることを強くお勧めします。",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "最終cronジョブ実行: %s",
+ "Last cron job execution: %s. Something seems wrong." : "最終cronジョブ実行: %s 何らかの問題があります。",
+ "Cron was not executed yet!" : "cronはまだ実行されていません!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "システムのcronサービスを利用して、15分間隔でcron.phpファイルを実行します。",
"Uninstall app" : "アプリをアンインストール",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "こんにちは、<br><br>あなたのアカウント %s が利用できるようになりました。<br><br>ユーザー名: %s<br>接続URL: <a href=\"%s\">%s</a><br><br>",
"Cheers!" : "それでは!",
diff --git a/settings/l10n/ka_GE.js b/settings/l10n/ka_GE.js
index ebb248e9c03..19b92d8dac8 100644
--- a/settings/l10n/ka_GE.js
+++ b/settings/l10n/ka_GE.js
@@ -26,7 +26,6 @@ OC.L10N.register(
"Server address" : "სერვერის მისამართი",
"Port" : "პორტი",
"Credentials" : "იუზერ/პაროლი",
- "Cron" : "Cron–ი",
"Execute one task with each page loaded" : "გაუშვი თითო მოქმედება ყველა ჩატვირთულ გვერდზე",
"Version" : "ვერსია",
"Sharing" : "გაზიარება",
@@ -54,6 +53,7 @@ OC.L10N.register(
"Admins can't remove themself from the admin group" : "ადმინისტრატორებს არ შეუძლიათ საკუთარი თავის წაშლა ადმინ ჯგუფიდან",
"Unable to add user to group %s" : "მომხმარებლის დამატება ვერ მოხეხდა ჯგუფში %s",
"Unable to remove user from group %s" : "მომხმარებლის წაშლა ვერ მოხეხდა ჯგუფიდან %s",
- "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP მოდული 'fileinfo' არ არსებობს. ჩვენ გირჩევთ რომ აუცილებლად ჩართოთ ეს მოდული, რომ მიიღოთ კარგი შედეგები mime-type–ს აღმოჩენისას."
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP მოდული 'fileinfo' არ არსებობს. ჩვენ გირჩევთ რომ აუცილებლად ჩართოთ ეს მოდული, რომ მიიღოთ კარგი შედეგები mime-type–ს აღმოჩენისას.",
+ "Cron" : "Cron–ი"
},
"nplurals=1; plural=0;");
diff --git a/settings/l10n/ka_GE.json b/settings/l10n/ka_GE.json
index 50e19a1498c..fa89c16be96 100644
--- a/settings/l10n/ka_GE.json
+++ b/settings/l10n/ka_GE.json
@@ -24,7 +24,6 @@
"Server address" : "სერვერის მისამართი",
"Port" : "პორტი",
"Credentials" : "იუზერ/პაროლი",
- "Cron" : "Cron–ი",
"Execute one task with each page loaded" : "გაუშვი თითო მოქმედება ყველა ჩატვირთულ გვერდზე",
"Version" : "ვერსია",
"Sharing" : "გაზიარება",
@@ -52,6 +51,7 @@
"Admins can't remove themself from the admin group" : "ადმინისტრატორებს არ შეუძლიათ საკუთარი თავის წაშლა ადმინ ჯგუფიდან",
"Unable to add user to group %s" : "მომხმარებლის დამატება ვერ მოხეხდა ჯგუფში %s",
"Unable to remove user from group %s" : "მომხმარებლის წაშლა ვერ მოხეხდა ჯგუფიდან %s",
- "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP მოდული 'fileinfo' არ არსებობს. ჩვენ გირჩევთ რომ აუცილებლად ჩართოთ ეს მოდული, რომ მიიღოთ კარგი შედეგები mime-type–ს აღმოჩენისას."
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP მოდული 'fileinfo' არ არსებობს. ჩვენ გირჩევთ რომ აუცილებლად ჩართოთ ეს მოდული, რომ მიიღოთ კარგი შედეგები mime-type–ს აღმოჩენისას.",
+ "Cron" : "Cron–ი"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/settings/l10n/km.js b/settings/l10n/km.js
index 626826f74ca..21bef4c0371 100644
--- a/settings/l10n/km.js
+++ b/settings/l10n/km.js
@@ -37,7 +37,6 @@ OC.L10N.register(
"Server address" : "អាសយដ្ឋាន​ម៉ាស៊ីន​បម្រើ",
"Port" : "ច្រក",
"Send email" : "ផ្ញើ​អ៊ីមែល",
- "Cron" : "Cron",
"Version" : "កំណែ",
"Sharing" : "ការ​ចែក​រំលែក",
"Allow apps to use the Share API" : "អនុញ្ញាត​ឲ្យ​កម្មវិធី​ប្រើ API ចែក​រំលែក",
@@ -71,6 +70,7 @@ OC.L10N.register(
"Unable to add user to group %s" : "មិន​អាច​បន្ថែម​អ្នក​ប្រើ​ទៅ​ក្រុម %s",
"Unable to remove user from group %s" : "មិន​អាច​ដក​អ្នក​ប្រើ​ចេញ​ពី​ក្រុម​ %s",
"Sending..." : "កំពុង​ផ្ញើ...",
- "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "ខ្វះ​ម៉ូឌុល 'fileinfo' ។ យើង​សូម​ណែនាំ​ឲ្យ​បើក​ម៉ូឌុល​នេះ ដើម្បី​ទទួល​បាន​លទ្ធផល​ល្អ​នៃ​ការ​សម្គាល់​ប្រភេទ mime ។"
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "ខ្វះ​ម៉ូឌុល 'fileinfo' ។ យើង​សូម​ណែនាំ​ឲ្យ​បើក​ម៉ូឌុល​នេះ ដើម្បី​ទទួល​បាន​លទ្ធផល​ល្អ​នៃ​ការ​សម្គាល់​ប្រភេទ mime ។",
+ "Cron" : "Cron"
},
"nplurals=1; plural=0;");
diff --git a/settings/l10n/km.json b/settings/l10n/km.json
index 7ad6d7f94a5..3351337c56e 100644
--- a/settings/l10n/km.json
+++ b/settings/l10n/km.json
@@ -35,7 +35,6 @@
"Server address" : "អាសយដ្ឋាន​ម៉ាស៊ីន​បម្រើ",
"Port" : "ច្រក",
"Send email" : "ផ្ញើ​អ៊ីមែល",
- "Cron" : "Cron",
"Version" : "កំណែ",
"Sharing" : "ការ​ចែក​រំលែក",
"Allow apps to use the Share API" : "អនុញ្ញាត​ឲ្យ​កម្មវិធី​ប្រើ API ចែក​រំលែក",
@@ -69,6 +68,7 @@
"Unable to add user to group %s" : "មិន​អាច​បន្ថែម​អ្នក​ប្រើ​ទៅ​ក្រុម %s",
"Unable to remove user from group %s" : "មិន​អាច​ដក​អ្នក​ប្រើ​ចេញ​ពី​ក្រុម​ %s",
"Sending..." : "កំពុង​ផ្ញើ...",
- "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "ខ្វះ​ម៉ូឌុល 'fileinfo' ។ យើង​សូម​ណែនាំ​ឲ្យ​បើក​ម៉ូឌុល​នេះ ដើម្បី​ទទួល​បាន​លទ្ធផល​ល្អ​នៃ​ការ​សម្គាល់​ប្រភេទ mime ។"
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "ខ្វះ​ម៉ូឌុល 'fileinfo' ។ យើង​សូម​ណែនាំ​ឲ្យ​បើក​ម៉ូឌុល​នេះ ដើម្បី​ទទួល​បាន​លទ្ធផល​ល្អ​នៃ​ការ​សម្គាល់​ប្រភេទ mime ។",
+ "Cron" : "Cron"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/settings/l10n/ko.js b/settings/l10n/ko.js
index 05a54328644..ea543b9c3f8 100644
--- a/settings/l10n/ko.js
+++ b/settings/l10n/ko.js
@@ -239,14 +239,9 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "CLI로 cronjob을 실행할 수 없었습니다. 다음 기술적 오류가 발생했습니다:",
"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>." : "<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">설치 가이드 ↗</a>를 확인하고 <a href=\"%s\">로그</a>의 오류 또는 경고를 확인하십시오.",
"All checks passed." : "모든 검사를 통과했습니다.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "마지막 cron 작업 실행: %s.",
- "Last cron job execution: %s. Something seems wrong." : "마지막 cron 작업 실행: %s. 문제가 발생한 것 같습니다.",
- "Cron was not executed yet!" : "Cron이 실행되지 않았습니다!",
"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." : "최적 성능을 위해서 백그라운드 작업을 올바르게 설정하는 것을 추천합니다. 큰 인스턴스에서는 'Cron'을 사용하는 것을 추천합니다. 더 많은 정보를 보려면 문서를 참조하십시오.",
"Execute one task with each page loaded" : "개별 페이지를 불러올 때마다 실행",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php는 webcron 서비스에 등록되어 HTTP로 15분마다 cron.php에 접근합니다.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "시스템의 cron 서비스를 통하여 15분마다 cron.php 파일을 실행합니다.",
"The cron.php needs to be executed by the system user \"%s\"." : "시스템 사용자 \"%s\"(으)로 cron.php를 실행해야 합니다.",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "실행하려면 PHP POSIX 확장이 필요합니다. 자세한 내용은 {linkstart}PHP 사용 설명서{linkend}를 참고하십시오.",
"Version" : "버전",
@@ -405,6 +400,11 @@ OC.L10N.register(
"Uninstall" : "제거",
"This is used for sending out notifications." : "알림을 보낼 때 사용합니다.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP의 'fileinfo' 모듈이 없습니다. 올바른 MIME 형식 감지를 위해서 이 모듈을 활성화하는 것을 추천합니다.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "마지막 cron 작업 실행: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "마지막 cron 작업 실행: %s. 문제가 발생한 것 같습니다.",
+ "Cron was not executed yet!" : "Cron이 실행되지 않았습니다!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "시스템의 cron 서비스를 통하여 15분마다 cron.php 파일을 실행합니다.",
"Uninstall app" : "앱 삭제",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "안녕하세요.<br><br>%s 계정을 사용할 수 있음을 알려 드립니다.<br><br>사용자 이름: <strong>%s</strong><br>접근 링크: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "감사합니다!",
diff --git a/settings/l10n/ko.json b/settings/l10n/ko.json
index a35ef996cf5..b3e5ed60f42 100644
--- a/settings/l10n/ko.json
+++ b/settings/l10n/ko.json
@@ -237,14 +237,9 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "CLI로 cronjob을 실행할 수 없었습니다. 다음 기술적 오류가 발생했습니다:",
"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>." : "<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">설치 가이드 ↗</a>를 확인하고 <a href=\"%s\">로그</a>의 오류 또는 경고를 확인하십시오.",
"All checks passed." : "모든 검사를 통과했습니다.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "마지막 cron 작업 실행: %s.",
- "Last cron job execution: %s. Something seems wrong." : "마지막 cron 작업 실행: %s. 문제가 발생한 것 같습니다.",
- "Cron was not executed yet!" : "Cron이 실행되지 않았습니다!",
"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." : "최적 성능을 위해서 백그라운드 작업을 올바르게 설정하는 것을 추천합니다. 큰 인스턴스에서는 'Cron'을 사용하는 것을 추천합니다. 더 많은 정보를 보려면 문서를 참조하십시오.",
"Execute one task with each page loaded" : "개별 페이지를 불러올 때마다 실행",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php는 webcron 서비스에 등록되어 HTTP로 15분마다 cron.php에 접근합니다.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "시스템의 cron 서비스를 통하여 15분마다 cron.php 파일을 실행합니다.",
"The cron.php needs to be executed by the system user \"%s\"." : "시스템 사용자 \"%s\"(으)로 cron.php를 실행해야 합니다.",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "실행하려면 PHP POSIX 확장이 필요합니다. 자세한 내용은 {linkstart}PHP 사용 설명서{linkend}를 참고하십시오.",
"Version" : "버전",
@@ -403,6 +398,11 @@
"Uninstall" : "제거",
"This is used for sending out notifications." : "알림을 보낼 때 사용합니다.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP의 'fileinfo' 모듈이 없습니다. 올바른 MIME 형식 감지를 위해서 이 모듈을 활성화하는 것을 추천합니다.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "마지막 cron 작업 실행: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "마지막 cron 작업 실행: %s. 문제가 발생한 것 같습니다.",
+ "Cron was not executed yet!" : "Cron이 실행되지 않았습니다!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "시스템의 cron 서비스를 통하여 15분마다 cron.php 파일을 실행합니다.",
"Uninstall app" : "앱 삭제",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "안녕하세요.<br><br>%s 계정을 사용할 수 있음을 알려 드립니다.<br><br>사용자 이름: <strong>%s</strong><br>접근 링크: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "감사합니다!",
diff --git a/settings/l10n/lb.js b/settings/l10n/lb.js
index a951f11b381..8006d9a24b4 100644
--- a/settings/l10n/lb.js
+++ b/settings/l10n/lb.js
@@ -24,7 +24,6 @@ OC.L10N.register(
"Authentication required" : "Authentifizéierung néideg",
"Server address" : "Server Adress",
"Port" : "Port",
- "Cron" : "Cron",
"Sharing" : "Gedeelt",
"Allow apps to use the Share API" : "Erlab Apps d'Share API ze benotzen",
"days" : "Deeg",
@@ -51,6 +50,7 @@ OC.L10N.register(
"Admins can't remove themself from the admin group" : "Admins kennen sech selwer net aus enger Admin Group läschen.",
"Unable to add user to group %s" : "Onmeiglech User an Grupp ze sätzen %s",
"Error while uninstalling app" : "Fehler beim Deinstalléieren vun der App",
+ "Cron" : "Cron",
"Cheers!" : "Prost!"
},
"nplurals=2; plural=(n != 1);");
diff --git a/settings/l10n/lb.json b/settings/l10n/lb.json
index b707926dc77..526077d4728 100644
--- a/settings/l10n/lb.json
+++ b/settings/l10n/lb.json
@@ -22,7 +22,6 @@
"Authentication required" : "Authentifizéierung néideg",
"Server address" : "Server Adress",
"Port" : "Port",
- "Cron" : "Cron",
"Sharing" : "Gedeelt",
"Allow apps to use the Share API" : "Erlab Apps d'Share API ze benotzen",
"days" : "Deeg",
@@ -49,6 +48,7 @@
"Admins can't remove themself from the admin group" : "Admins kennen sech selwer net aus enger Admin Group läschen.",
"Unable to add user to group %s" : "Onmeiglech User an Grupp ze sätzen %s",
"Error while uninstalling app" : "Fehler beim Deinstalléieren vun der App",
+ "Cron" : "Cron",
"Cheers!" : "Prost!"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/settings/l10n/lt_LT.js b/settings/l10n/lt_LT.js
index 156a21ecbb3..0a9503fce0e 100644
--- a/settings/l10n/lt_LT.js
+++ b/settings/l10n/lt_LT.js
@@ -1,6 +1,11 @@
OC.L10N.register(
"settings",
{
+ "You changed your password" : "Jūs pakeitėte savo slaptažodį",
+ "Your password was reset by an administrator" : "Administratorius atstatė jūsų slaptažodį",
+ "{actor} changed your email address" : "{actor} pakeitė jūsų el. pašto adresą",
+ "Your <strong>password</strong> or <strong>email</strong> was modified" : "Jūsų <strong>slaptažodis</strong> ar <strong>el. paštas</strong> buvo pakeisti",
+ "Your apps" : "Jūsų programėlės",
"Wrong password" : "Neteisingas slaptažodis",
"Saved" : "Įrašyta",
"No user supplied" : "Nepateiktas naudotojas",
@@ -10,27 +15,34 @@ OC.L10N.register(
"Group already exists." : "Grupė jau yra.",
"Unable to add group." : "Nepavyko pridėti grupės.",
"Unable to delete group." : "Nepavyko ištrinti grupės.",
+ "Invalid SMTP password." : "Neteisingas SMTP slaptažodis.",
"Invalid request" : "Neteisinga užklausa",
"Invalid mail address" : "Neteisingas pašto adresas",
"A user with that name already exists." : "Toks naudotojas jau yra.",
"Unable to create user." : "Nepavyko sukurti naudotojo.",
"Unable to delete user." : "Nepavyko ištrinti naudotojo.",
+ "Error while enabling user." : "Klaida įjungiant naudotoją.",
+ "Error while disabling user." : "Klaida išjungiant naudotoją.",
"Settings saved" : "Nustatymai įrašyti",
"Unable to change full name" : "Nepavyko pakeisti pilno vardo",
"Your full name has been changed." : "Pilnas vardas pakeistas.",
"Invalid user" : "Neteisingas naudotojas",
"Unable to change mail address" : "Nepavyko pakeisti el. pašto adresą",
"Email saved" : "El. paštas įrašytas",
+ "The new email address is %s" : "Naujasis el. pašto adresas yra %s",
+ "Your username is: %s" : "Jūsų naudotojo vardas yra: %s",
"Your %s account was created" : "Jūsų paskyra %s sukurta",
"Password confirmation is required" : "Reikalingas slaptažodžio patvirtinimas",
"Couldn't remove app." : "Nepavyko pašalinti programėlės.",
"Couldn't update app." : "Nepavyko atnaujinti programėlės.",
"Add trusted domain" : "Pridėti patikimą domeną",
"Not saved" : "Neįrašyta",
+ "Sending…" : "Siunčiama…",
"Email sent" : "El. paštas išsiųstas",
"Official" : "Oficiali",
"All" : "Viskas",
"Update to %s" : "Atnaujinti į %s",
+ "Disabling app …" : "Išjungiama programėlė …",
"Error while disabling app" : "Klaida, išjungiant programėlę",
"Disable" : "Išjungti",
"Enable" : "Įjungti",
@@ -39,6 +51,8 @@ OC.L10N.register(
"Updating...." : "Atnaujinama...",
"Error while updating app" : "Įvyko klaida atnaujinant programą",
"Updated" : "Atnaujinta",
+ "Removing …" : "Šalinama …",
+ "Remove" : "Šalinti",
"Approved" : "Patvirtinta",
"Experimental" : "Eksperimentinė",
"Disconnect" : "Atjungti",
@@ -56,6 +70,7 @@ OC.L10N.register(
"Copy" : "Kopijuoti",
"Copied!" : "Nukopijuota!",
"Not supported!" : "Nepalaikoma!",
+ "Press ⌘-C to copy." : "Norėdami nukopijuoti, paspauskite ⌘-C.",
"Error while loading browser sessions and device tokens" : "Klaida, įkeliant naršyklės seansus ir įrenginio prieigos raktus",
"Error while creating device token" : "Klaida, kuriant įrenginio prieigos raktą",
"Error while deleting the token" : "Klaida, ištrinant prieigos raktą",
@@ -72,6 +87,7 @@ OC.L10N.register(
"Good password" : "Geras slaptažodis",
"Strong password" : "Stiprus slaptažodis",
"Groups" : "Grupės",
+ "Error creating group: {message}" : "Klaida kuriant grupę: {message}",
"undo" : "anuliuoti",
"never" : "niekada",
"Add group" : "Pridėti grupę",
@@ -104,7 +120,6 @@ OC.L10N.register(
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Jūs turite perkelti savo šifravimo raktus iš senojo šifravimo (ownCloud <= 8.0) į naująjį. Prašome įjungti \"Numatytąjį šifravimo modulį\" ir vykdyti \"occ encryption:migrate\"",
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Jūs turite perkelti savo šifravimo raktus iš senojo šifravimo (ownCloud <= 8.0) į naująjį.",
"Security & setup warnings" : "Saugos ir diegimo perspėjimai",
- "Cron" : "Cron",
"Execute one task with each page loaded" : "Įvykdyti vieną užduotį su kiekvieno puslapio įkėlimu",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php yra registruotas tinklapio suplanuotų užduočių paslaugose, kad iškviesti cron.php kas 15 minučių per http.",
"Version" : "Versija",
@@ -116,6 +131,8 @@ OC.L10N.register(
"Tips & tricks" : "Patarimai ir gudrybės",
"This app has an update available." : "Šiai programėlei yra prieinamas atnaujinimas.",
"Documentation:" : "Dokumentacija:",
+ "User documentation" : "Naudotojo dokumentacija",
+ "Admin documentation" : "Administratoriaus dokumentacija",
"Report a bug" : "Pranešti apie klaidą",
"Show description …" : "Rodyti aprašą …",
"Hide description …" : "Slėpti aprašą …",
@@ -129,6 +146,7 @@ OC.L10N.register(
"Cancel" : "Atsisakyti",
"Email" : "El. Paštas",
"Your email address" : "Jūsų el. pašto adresas",
+ "No email address set" : "Nenustatytas joks el. pašto adresas",
"Phone number" : "Telefono numeris",
"Your phone number" : "Jūsų telefono numeris",
"Address" : "Adresas",
@@ -153,8 +171,12 @@ OC.L10N.register(
"Name" : "Pavadinimas",
"App name" : "Programėlės pavadinimas",
"Create new app password" : "Sukurti naują programėlės slaptažodį",
+ "For security reasons this password will only be shown once." : "Saugumo sumetimais šis slaptažodis bus parodytas tik vieną kartą.",
"Username" : "Naudotojo vardas",
"Done" : "Atlikta",
+ "Follow us on Google+!" : "Sekite mus Google+!",
+ "Follow us on Twitter!" : "Sekite mus Twitter!",
+ "Settings" : "Nustatymai",
"Create" : "Sukurti",
"Admin Recovery Password" : "Administracinis atkūrimo slaptažodis",
"Enter the recovery password in order to recover the users files during password change" : "Įveskite atkūrimo slaptažodį, kad atkurtumėte naudotojo failus keičiant slaptažodį",
@@ -175,6 +197,7 @@ OC.L10N.register(
"Error while uninstalling app" : "Klaida, šalinant programėlę",
"Uninstall" : "Šalinti",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Trūksta PHP modulio „fileinfo“. Labai rekomenduojame įjungti šį modulį, kad gauti geriausius rezultatus nustatant mime-tipą.",
+ "Cron" : "Cron",
"Cheers!" : "Sveikinimai!",
"For password recovery and notifications" : "Skirtas slaptažodžio atkūrimui ir pranešimams",
"Your website" : "Jūsų svetainė"
diff --git a/settings/l10n/lt_LT.json b/settings/l10n/lt_LT.json
index a86c37ba8ad..95cff7c1e94 100644
--- a/settings/l10n/lt_LT.json
+++ b/settings/l10n/lt_LT.json
@@ -1,4 +1,9 @@
{ "translations": {
+ "You changed your password" : "Jūs pakeitėte savo slaptažodį",
+ "Your password was reset by an administrator" : "Administratorius atstatė jūsų slaptažodį",
+ "{actor} changed your email address" : "{actor} pakeitė jūsų el. pašto adresą",
+ "Your <strong>password</strong> or <strong>email</strong> was modified" : "Jūsų <strong>slaptažodis</strong> ar <strong>el. paštas</strong> buvo pakeisti",
+ "Your apps" : "Jūsų programėlės",
"Wrong password" : "Neteisingas slaptažodis",
"Saved" : "Įrašyta",
"No user supplied" : "Nepateiktas naudotojas",
@@ -8,27 +13,34 @@
"Group already exists." : "Grupė jau yra.",
"Unable to add group." : "Nepavyko pridėti grupės.",
"Unable to delete group." : "Nepavyko ištrinti grupės.",
+ "Invalid SMTP password." : "Neteisingas SMTP slaptažodis.",
"Invalid request" : "Neteisinga užklausa",
"Invalid mail address" : "Neteisingas pašto adresas",
"A user with that name already exists." : "Toks naudotojas jau yra.",
"Unable to create user." : "Nepavyko sukurti naudotojo.",
"Unable to delete user." : "Nepavyko ištrinti naudotojo.",
+ "Error while enabling user." : "Klaida įjungiant naudotoją.",
+ "Error while disabling user." : "Klaida išjungiant naudotoją.",
"Settings saved" : "Nustatymai įrašyti",
"Unable to change full name" : "Nepavyko pakeisti pilno vardo",
"Your full name has been changed." : "Pilnas vardas pakeistas.",
"Invalid user" : "Neteisingas naudotojas",
"Unable to change mail address" : "Nepavyko pakeisti el. pašto adresą",
"Email saved" : "El. paštas įrašytas",
+ "The new email address is %s" : "Naujasis el. pašto adresas yra %s",
+ "Your username is: %s" : "Jūsų naudotojo vardas yra: %s",
"Your %s account was created" : "Jūsų paskyra %s sukurta",
"Password confirmation is required" : "Reikalingas slaptažodžio patvirtinimas",
"Couldn't remove app." : "Nepavyko pašalinti programėlės.",
"Couldn't update app." : "Nepavyko atnaujinti programėlės.",
"Add trusted domain" : "Pridėti patikimą domeną",
"Not saved" : "Neįrašyta",
+ "Sending…" : "Siunčiama…",
"Email sent" : "El. paštas išsiųstas",
"Official" : "Oficiali",
"All" : "Viskas",
"Update to %s" : "Atnaujinti į %s",
+ "Disabling app …" : "Išjungiama programėlė …",
"Error while disabling app" : "Klaida, išjungiant programėlę",
"Disable" : "Išjungti",
"Enable" : "Įjungti",
@@ -37,6 +49,8 @@
"Updating...." : "Atnaujinama...",
"Error while updating app" : "Įvyko klaida atnaujinant programą",
"Updated" : "Atnaujinta",
+ "Removing …" : "Šalinama …",
+ "Remove" : "Šalinti",
"Approved" : "Patvirtinta",
"Experimental" : "Eksperimentinė",
"Disconnect" : "Atjungti",
@@ -54,6 +68,7 @@
"Copy" : "Kopijuoti",
"Copied!" : "Nukopijuota!",
"Not supported!" : "Nepalaikoma!",
+ "Press ⌘-C to copy." : "Norėdami nukopijuoti, paspauskite ⌘-C.",
"Error while loading browser sessions and device tokens" : "Klaida, įkeliant naršyklės seansus ir įrenginio prieigos raktus",
"Error while creating device token" : "Klaida, kuriant įrenginio prieigos raktą",
"Error while deleting the token" : "Klaida, ištrinant prieigos raktą",
@@ -70,6 +85,7 @@
"Good password" : "Geras slaptažodis",
"Strong password" : "Stiprus slaptažodis",
"Groups" : "Grupės",
+ "Error creating group: {message}" : "Klaida kuriant grupę: {message}",
"undo" : "anuliuoti",
"never" : "niekada",
"Add group" : "Pridėti grupę",
@@ -102,7 +118,6 @@
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Jūs turite perkelti savo šifravimo raktus iš senojo šifravimo (ownCloud <= 8.0) į naująjį. Prašome įjungti \"Numatytąjį šifravimo modulį\" ir vykdyti \"occ encryption:migrate\"",
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Jūs turite perkelti savo šifravimo raktus iš senojo šifravimo (ownCloud <= 8.0) į naująjį.",
"Security & setup warnings" : "Saugos ir diegimo perspėjimai",
- "Cron" : "Cron",
"Execute one task with each page loaded" : "Įvykdyti vieną užduotį su kiekvieno puslapio įkėlimu",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php yra registruotas tinklapio suplanuotų užduočių paslaugose, kad iškviesti cron.php kas 15 minučių per http.",
"Version" : "Versija",
@@ -114,6 +129,8 @@
"Tips & tricks" : "Patarimai ir gudrybės",
"This app has an update available." : "Šiai programėlei yra prieinamas atnaujinimas.",
"Documentation:" : "Dokumentacija:",
+ "User documentation" : "Naudotojo dokumentacija",
+ "Admin documentation" : "Administratoriaus dokumentacija",
"Report a bug" : "Pranešti apie klaidą",
"Show description …" : "Rodyti aprašą …",
"Hide description …" : "Slėpti aprašą …",
@@ -127,6 +144,7 @@
"Cancel" : "Atsisakyti",
"Email" : "El. Paštas",
"Your email address" : "Jūsų el. pašto adresas",
+ "No email address set" : "Nenustatytas joks el. pašto adresas",
"Phone number" : "Telefono numeris",
"Your phone number" : "Jūsų telefono numeris",
"Address" : "Adresas",
@@ -151,8 +169,12 @@
"Name" : "Pavadinimas",
"App name" : "Programėlės pavadinimas",
"Create new app password" : "Sukurti naują programėlės slaptažodį",
+ "For security reasons this password will only be shown once." : "Saugumo sumetimais šis slaptažodis bus parodytas tik vieną kartą.",
"Username" : "Naudotojo vardas",
"Done" : "Atlikta",
+ "Follow us on Google+!" : "Sekite mus Google+!",
+ "Follow us on Twitter!" : "Sekite mus Twitter!",
+ "Settings" : "Nustatymai",
"Create" : "Sukurti",
"Admin Recovery Password" : "Administracinis atkūrimo slaptažodis",
"Enter the recovery password in order to recover the users files during password change" : "Įveskite atkūrimo slaptažodį, kad atkurtumėte naudotojo failus keičiant slaptažodį",
@@ -173,6 +195,7 @@
"Error while uninstalling app" : "Klaida, šalinant programėlę",
"Uninstall" : "Šalinti",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Trūksta PHP modulio „fileinfo“. Labai rekomenduojame įjungti šį modulį, kad gauti geriausius rezultatus nustatant mime-tipą.",
+ "Cron" : "Cron",
"Cheers!" : "Sveikinimai!",
"For password recovery and notifications" : "Skirtas slaptažodžio atkūrimui ir pranešimams",
"Your website" : "Jūsų svetainė"
diff --git a/settings/l10n/lv.js b/settings/l10n/lv.js
index 0cf7ed8cb07..bd54d84052c 100644
--- a/settings/l10n/lv.js
+++ b/settings/l10n/lv.js
@@ -151,7 +151,6 @@ OC.L10N.register(
"Start migration" : "Sākt migrāciju",
"Security & setup warnings" : "Drošības un iestatījumu brīdinājumi",
"All checks passed." : "Visas pārbaudes veiksmīgas.",
- "Cron" : "Cron",
"Execute one task with each page loaded" : "Izpildīt vienu uzdevumu ar katru ielādēto lapu",
"Version" : "Versija",
"Sharing" : "Koplietošana",
@@ -273,6 +272,7 @@ OC.L10N.register(
"Uninstall" : "Atinstalēt",
"This is used for sending out notifications." : "Tas tiek izmantots, izsūtot paziņojumus.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Trūkst PHP modulis “fileinfo”. Mēs iesakām to aktivēt, lai pēc iespējas labāk noteiktu mime tipus.",
+ "Cron" : "Cron",
"Uninstall app" : "Atinstalēt programmu",
"Cheers!" : "Priekā!",
"Hey there,\n\njust letting you know that you now have a %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hei,\n\nvienkārši Jūsu zināšanai, ka Jums tagad ir %s konts.\n\nJūsu lietotājvārds: %s\nPiekļuve: %s\n\n",
diff --git a/settings/l10n/lv.json b/settings/l10n/lv.json
index 2178cc86829..755fdefc390 100644
--- a/settings/l10n/lv.json
+++ b/settings/l10n/lv.json
@@ -149,7 +149,6 @@
"Start migration" : "Sākt migrāciju",
"Security & setup warnings" : "Drošības un iestatījumu brīdinājumi",
"All checks passed." : "Visas pārbaudes veiksmīgas.",
- "Cron" : "Cron",
"Execute one task with each page loaded" : "Izpildīt vienu uzdevumu ar katru ielādēto lapu",
"Version" : "Versija",
"Sharing" : "Koplietošana",
@@ -271,6 +270,7 @@
"Uninstall" : "Atinstalēt",
"This is used for sending out notifications." : "Tas tiek izmantots, izsūtot paziņojumus.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Trūkst PHP modulis “fileinfo”. Mēs iesakām to aktivēt, lai pēc iespējas labāk noteiktu mime tipus.",
+ "Cron" : "Cron",
"Uninstall app" : "Atinstalēt programmu",
"Cheers!" : "Priekā!",
"Hey there,\n\njust letting you know that you now have a %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hei,\n\nvienkārši Jūsu zināšanai, ka Jums tagad ir %s konts.\n\nJūsu lietotājvārds: %s\nPiekļuve: %s\n\n",
diff --git a/settings/l10n/mk.js b/settings/l10n/mk.js
index a037e51f5c9..d829f1025c9 100644
--- a/settings/l10n/mk.js
+++ b/settings/l10n/mk.js
@@ -94,7 +94,6 @@ OC.L10N.register(
"Start migration" : "Започни ја миграцијата",
"Security & setup warnings" : "Предупредувања за сигурност и подесувања",
"All checks passed." : "Сите проверки се поминати.",
- "Cron" : "Крон",
"Execute one task with each page loaded" : "Изврши по една задача со секоја вчитана страница",
"Version" : "Верзија",
"Sharing" : "Споделување",
@@ -160,6 +159,7 @@ OC.L10N.register(
"Error while uninstalling app" : "Грешка при деинсталација на апликацијата",
"Uninstall" : "Деинсталирај",
"This is used for sending out notifications." : "Ова се користи за испраќање на известувања.",
+ "Cron" : "Крон",
"Cheers!" : "Поздрав!"
},
"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/settings/l10n/mk.json b/settings/l10n/mk.json
index 90290797230..8630e0ae310 100644
--- a/settings/l10n/mk.json
+++ b/settings/l10n/mk.json
@@ -92,7 +92,6 @@
"Start migration" : "Започни ја миграцијата",
"Security & setup warnings" : "Предупредувања за сигурност и подесувања",
"All checks passed." : "Сите проверки се поминати.",
- "Cron" : "Крон",
"Execute one task with each page loaded" : "Изврши по една задача со секоја вчитана страница",
"Version" : "Верзија",
"Sharing" : "Споделување",
@@ -158,6 +157,7 @@
"Error while uninstalling app" : "Грешка при деинсталација на апликацијата",
"Uninstall" : "Деинсталирај",
"This is used for sending out notifications." : "Ова се користи за испраќање на известувања.",
+ "Cron" : "Крон",
"Cheers!" : "Поздрав!"
},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
} \ No newline at end of file
diff --git a/settings/l10n/nb.js b/settings/l10n/nb.js
index d129e0a7b94..2844d1114b6 100644
--- a/settings/l10n/nb.js
+++ b/settings/l10n/nb.js
@@ -46,7 +46,7 @@ OC.L10N.register(
"Error while disabling user." : "Feil ved avslag av brukerkonto.",
"Settings saved" : "Innstillinger lagret",
"Unable to change full name" : "Klarte ikke å endre fullt navn",
- "Unable to change email address" : "Klarer ikke å endre epostadresse",
+ "Unable to change email address" : "Klarer ikke å endre e-postadresse",
"Your full name has been changed." : "Ditt fulle navn er blitt endret.",
"Forbidden" : "Forbudt",
"Invalid user" : "Ugyldig bruker",
@@ -95,7 +95,7 @@ OC.L10N.register(
"Error while disabling app" : "Deaktivering av program mislyktes",
"Disable" : "Deaktiver ",
"Enable" : "Aktiver",
- "Enabling app …" : "Aktiverer app ...",
+ "Enabling app …" : "Aktiverer program…",
"Error while enabling app" : "Aktivering av program feilet",
"Error: this app cannot be enabled because it makes the server unstable" : "Feil: Denne appen kan ikke aktiveres fordi den gjør tjeneren ustabil",
"Error: could not disable broken app" : "Feil: Kunne ikke deaktivere ustabil app",
@@ -170,7 +170,7 @@ OC.L10N.register(
"no group" : "ingen gruppe",
"Password successfully changed" : "Passordet ble endret.",
"Changing the password will result in data loss, because data recovery is not available for this user" : "Forandring av passordet vil føre til tap av data, fordi datagjennoppretting er utilgjengelig for denne brukeren",
- "Could not change the users email" : "Kunne ikke endre brukerens epostadresse",
+ "Could not change the users email" : "Kunne ikke endre brukerens e-postadresse",
"Error while changing status of {user}" : "Feil ved endring av status for {user}",
"A valid username must be provided" : "Oppgi et gyldig brukernavn",
"Error creating user: {message}" : "Feil ved oppretting av bruker: {message}",
@@ -239,14 +239,9 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Det var ikke mulig å kjøre cron-jobben vi CLI. Følgende tekniske feil oppstod:",
"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>." : "Vennligst dobbeltsjekk <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installasjonsguiden ↗</a>, og se etter feil eller advarsler i <a href=\"%s\">loggen</a>.",
"All checks passed." : "Alle sjekker bestått.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Siste kjøring av Cron-jobb: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Siste kjøring av Cron-jobb: %s. Noe ser ut til å være galt.",
- "Cron was not executed yet!" : "Cron har ikke blitt kjørt enda!",
"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." : "For optimal ytelse er det viktig å sette opp bakgrunnsjobber rett. For kjøring på større installasjoner er 'Cron' anbefalt innstilling. Se dokumentasjonen for mer informasjon.",
"Execute one task with each page loaded" : "Utfør en oppgave med hver side som blir lastet",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registrert i en webcron-tjeneste for å kalle cron.php hvert 15. minutt over http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Bruk systemets cron-tjeneste til å kalle cron.php hvert kvarter.",
"The cron.php needs to be executed by the system user \"%s\"." : "Filen cron.php må kjøres systemet som følgende bruker \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "For å kjøre denne trenger du «PHP posix extension». Se {linkstart}PHP dokumentasjonen{linkend} for flere detaljer.",
"Version" : "Versjon",
@@ -405,6 +400,11 @@ OC.L10N.register(
"Uninstall" : "Avinstaller",
"This is used for sending out notifications." : "Dette brukes for utsending av varsler.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP modulen 'fileinfo' mangler. Vi anbefaler at du aktiverer denne modulen for å kunne detektere MIME-typen korrekt.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Siste kjøring av Cron-jobb: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Siste kjøring av Cron-jobb: %s. Noe ser ut til å være galt.",
+ "Cron was not executed yet!" : "Cron har ikke blitt kjørt enda!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Bruk systemets cron-tjeneste til å kalle cron.php hvert kvarter.",
"Uninstall app" : "Avinstaller app",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hei,<br><br>vil bare opplyse deg om at du har en %s konto.<br><br>Ditt brukernavn: <strong>%s</strong><br>Gå dit: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Hadet!",
diff --git a/settings/l10n/nb.json b/settings/l10n/nb.json
index 52c3ecb0f9a..198ac6229e1 100644
--- a/settings/l10n/nb.json
+++ b/settings/l10n/nb.json
@@ -44,7 +44,7 @@
"Error while disabling user." : "Feil ved avslag av brukerkonto.",
"Settings saved" : "Innstillinger lagret",
"Unable to change full name" : "Klarte ikke å endre fullt navn",
- "Unable to change email address" : "Klarer ikke å endre epostadresse",
+ "Unable to change email address" : "Klarer ikke å endre e-postadresse",
"Your full name has been changed." : "Ditt fulle navn er blitt endret.",
"Forbidden" : "Forbudt",
"Invalid user" : "Ugyldig bruker",
@@ -93,7 +93,7 @@
"Error while disabling app" : "Deaktivering av program mislyktes",
"Disable" : "Deaktiver ",
"Enable" : "Aktiver",
- "Enabling app …" : "Aktiverer app ...",
+ "Enabling app …" : "Aktiverer program…",
"Error while enabling app" : "Aktivering av program feilet",
"Error: this app cannot be enabled because it makes the server unstable" : "Feil: Denne appen kan ikke aktiveres fordi den gjør tjeneren ustabil",
"Error: could not disable broken app" : "Feil: Kunne ikke deaktivere ustabil app",
@@ -168,7 +168,7 @@
"no group" : "ingen gruppe",
"Password successfully changed" : "Passordet ble endret.",
"Changing the password will result in data loss, because data recovery is not available for this user" : "Forandring av passordet vil føre til tap av data, fordi datagjennoppretting er utilgjengelig for denne brukeren",
- "Could not change the users email" : "Kunne ikke endre brukerens epostadresse",
+ "Could not change the users email" : "Kunne ikke endre brukerens e-postadresse",
"Error while changing status of {user}" : "Feil ved endring av status for {user}",
"A valid username must be provided" : "Oppgi et gyldig brukernavn",
"Error creating user: {message}" : "Feil ved oppretting av bruker: {message}",
@@ -237,14 +237,9 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Det var ikke mulig å kjøre cron-jobben vi CLI. Følgende tekniske feil oppstod:",
"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>." : "Vennligst dobbeltsjekk <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installasjonsguiden ↗</a>, og se etter feil eller advarsler i <a href=\"%s\">loggen</a>.",
"All checks passed." : "Alle sjekker bestått.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Siste kjøring av Cron-jobb: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Siste kjøring av Cron-jobb: %s. Noe ser ut til å være galt.",
- "Cron was not executed yet!" : "Cron har ikke blitt kjørt enda!",
"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." : "For optimal ytelse er det viktig å sette opp bakgrunnsjobber rett. For kjøring på større installasjoner er 'Cron' anbefalt innstilling. Se dokumentasjonen for mer informasjon.",
"Execute one task with each page loaded" : "Utfør en oppgave med hver side som blir lastet",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registrert i en webcron-tjeneste for å kalle cron.php hvert 15. minutt over http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Bruk systemets cron-tjeneste til å kalle cron.php hvert kvarter.",
"The cron.php needs to be executed by the system user \"%s\"." : "Filen cron.php må kjøres systemet som følgende bruker \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "For å kjøre denne trenger du «PHP posix extension». Se {linkstart}PHP dokumentasjonen{linkend} for flere detaljer.",
"Version" : "Versjon",
@@ -403,6 +398,11 @@
"Uninstall" : "Avinstaller",
"This is used for sending out notifications." : "Dette brukes for utsending av varsler.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP modulen 'fileinfo' mangler. Vi anbefaler at du aktiverer denne modulen for å kunne detektere MIME-typen korrekt.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Siste kjøring av Cron-jobb: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Siste kjøring av Cron-jobb: %s. Noe ser ut til å være galt.",
+ "Cron was not executed yet!" : "Cron har ikke blitt kjørt enda!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Bruk systemets cron-tjeneste til å kalle cron.php hvert kvarter.",
"Uninstall app" : "Avinstaller app",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hei,<br><br>vil bare opplyse deg om at du har en %s konto.<br><br>Ditt brukernavn: <strong>%s</strong><br>Gå dit: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Hadet!",
diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js
index 9ea41e6d244..ee46dc2f974 100644
--- a/settings/l10n/nl.js
+++ b/settings/l10n/nl.js
@@ -44,6 +44,8 @@ OC.L10N.register(
"Unable to delete user." : "Kan de gebruiker niet verwijderen.",
"Error while enabling user." : "Fout bij inschakelen gebruiker.",
"Error while disabling user." : "Fout bij uitschakelen gebruiker.",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Om je Twitter-account te verifiëren moet je de volgende tweet op Twitter plaatsen (let erop dat het plaatst zonder regelafbreking):",
+ "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):" : "Om je website te verifiëren voeg de inhoud toe binnen de web-root van je server '.well-known/CloudIdVerificationCode.txt' (plaats de tekst op één regel staat):",
"Settings saved" : "Instellingen opgeslagen",
"Unable to change full name" : "Kan de volledige naam niet wijzigen",
"Unable to change email address" : "Kan e-mailadres niet wijzigen",
@@ -239,14 +241,9 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "het was niet mogelijk om de cronjob via CLI uit te voeren. De volgende technische problemen traden op:",
"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>." : "Lees de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installatie handleiding</a> goed door en controleer op fouten en waarschuwingen in de <a href=\"%s\">logging</a>.",
"All checks passed." : "Alle checks geslaagd",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Laatst uitgevoerde cronjob: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Laatst uitgevoerde cronjob: %s. Er lijkt iets fout gegaan.",
- "Cron was not executed yet!" : "Cron is nog niet uitgevoerd!",
"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." : "Voor optimale prestaties is het belangrijk om de achtergrondtaken goed te configureren. Voor grotere installaties is \"Cron' de aanbevolen instelling. Bekijk de documentatie voor meer informatie.",
"Execute one task with each page loaded" : "Bij laden van elke pagina één taak uitvoeren",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is geregisteerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Gebruik de systeem cron service om cron.php elke 15 minuten aan te roepen.",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php moet worden uitgevoerd door systeemgebruiker \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Om dit te draaien, is de PHP posix extensie vereist. Bekijk {linkstart}PHP documentatie{linkend} voor meer informatie.",
"Version" : "Versie",
@@ -405,6 +402,11 @@ OC.L10N.register(
"Uninstall" : "De-installeren",
"This is used for sending out notifications." : "Dit wordt gebruikt voor het verzenden van meldingen.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "De PHP module 'fileinfo' ontbreekt. We adviseren met klem om deze module te activeren om de beste resultaten te bereiken voor mime-type detectie.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Laatst uitgevoerde cronjob: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Laatst uitgevoerde cronjob: %s. Er lijkt iets fout gegaan.",
+ "Cron was not executed yet!" : "Cron is nog niet uitgevoerd!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Gebruik de systeem cron service om cron.php elke 15 minuten aan te roepen.",
"Uninstall app" : "De-installeren app",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hallo daar,<br><br>we willen je laten weten dat je nu een %s account hebt.<br><br>Je gebruikersnaam: <strong>%s</strong><br>Ga naar: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Proficiat!",
diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json
index d8a8e630e35..5780e57222b 100644
--- a/settings/l10n/nl.json
+++ b/settings/l10n/nl.json
@@ -42,6 +42,8 @@
"Unable to delete user." : "Kan de gebruiker niet verwijderen.",
"Error while enabling user." : "Fout bij inschakelen gebruiker.",
"Error while disabling user." : "Fout bij uitschakelen gebruiker.",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Om je Twitter-account te verifiëren moet je de volgende tweet op Twitter plaatsen (let erop dat het plaatst zonder regelafbreking):",
+ "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):" : "Om je website te verifiëren voeg de inhoud toe binnen de web-root van je server '.well-known/CloudIdVerificationCode.txt' (plaats de tekst op één regel staat):",
"Settings saved" : "Instellingen opgeslagen",
"Unable to change full name" : "Kan de volledige naam niet wijzigen",
"Unable to change email address" : "Kan e-mailadres niet wijzigen",
@@ -237,14 +239,9 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "het was niet mogelijk om de cronjob via CLI uit te voeren. De volgende technische problemen traden op:",
"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>." : "Lees de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installatie handleiding</a> goed door en controleer op fouten en waarschuwingen in de <a href=\"%s\">logging</a>.",
"All checks passed." : "Alle checks geslaagd",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Laatst uitgevoerde cronjob: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Laatst uitgevoerde cronjob: %s. Er lijkt iets fout gegaan.",
- "Cron was not executed yet!" : "Cron is nog niet uitgevoerd!",
"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." : "Voor optimale prestaties is het belangrijk om de achtergrondtaken goed te configureren. Voor grotere installaties is \"Cron' de aanbevolen instelling. Bekijk de documentatie voor meer informatie.",
"Execute one task with each page loaded" : "Bij laden van elke pagina één taak uitvoeren",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is geregisteerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Gebruik de systeem cron service om cron.php elke 15 minuten aan te roepen.",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php moet worden uitgevoerd door systeemgebruiker \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Om dit te draaien, is de PHP posix extensie vereist. Bekijk {linkstart}PHP documentatie{linkend} voor meer informatie.",
"Version" : "Versie",
@@ -403,6 +400,11 @@
"Uninstall" : "De-installeren",
"This is used for sending out notifications." : "Dit wordt gebruikt voor het verzenden van meldingen.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "De PHP module 'fileinfo' ontbreekt. We adviseren met klem om deze module te activeren om de beste resultaten te bereiken voor mime-type detectie.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Laatst uitgevoerde cronjob: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Laatst uitgevoerde cronjob: %s. Er lijkt iets fout gegaan.",
+ "Cron was not executed yet!" : "Cron is nog niet uitgevoerd!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Gebruik de systeem cron service om cron.php elke 15 minuten aan te roepen.",
"Uninstall app" : "De-installeren app",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hallo daar,<br><br>we willen je laten weten dat je nu een %s account hebt.<br><br>Je gebruikersnaam: <strong>%s</strong><br>Ga naar: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Proficiat!",
diff --git a/settings/l10n/nn_NO.js b/settings/l10n/nn_NO.js
index 740c09c3965..44d3c8eaff4 100644
--- a/settings/l10n/nn_NO.js
+++ b/settings/l10n/nn_NO.js
@@ -35,7 +35,6 @@ OC.L10N.register(
"Login" : "Logg inn",
"Encryption" : "Kryptering",
"Server address" : "Tenaradresse",
- "Cron" : "Cron",
"Execute one task with each page loaded" : "Utfør éi oppgåve for kvar sidelasting",
"Version" : "Utgåve",
"Sharing" : "Deling",
@@ -70,6 +69,7 @@ OC.L10N.register(
"Admins can't remove themself from the admin group" : "Administratorar kan ikkje fjerna seg sjølve frå admin-gruppa",
"Unable to add user to group %s" : "Klarte ikkje leggja til brukaren til gruppa %s",
"Unable to remove user from group %s" : "Klarte ikkje fjerna brukaren frå gruppa %s",
- "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-modulen «fileinfo» manglar. Me rår sterkt til å slå på denne modulen for å best mogleg oppdaga MIME-typar."
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-modulen «fileinfo» manglar. Me rår sterkt til å slå på denne modulen for å best mogleg oppdaga MIME-typar.",
+ "Cron" : "Cron"
},
"nplurals=2; plural=(n != 1);");
diff --git a/settings/l10n/nn_NO.json b/settings/l10n/nn_NO.json
index c050f02ddf9..5a3479a4497 100644
--- a/settings/l10n/nn_NO.json
+++ b/settings/l10n/nn_NO.json
@@ -33,7 +33,6 @@
"Login" : "Logg inn",
"Encryption" : "Kryptering",
"Server address" : "Tenaradresse",
- "Cron" : "Cron",
"Execute one task with each page loaded" : "Utfør éi oppgåve for kvar sidelasting",
"Version" : "Utgåve",
"Sharing" : "Deling",
@@ -68,6 +67,7 @@
"Admins can't remove themself from the admin group" : "Administratorar kan ikkje fjerna seg sjølve frå admin-gruppa",
"Unable to add user to group %s" : "Klarte ikkje leggja til brukaren til gruppa %s",
"Unable to remove user from group %s" : "Klarte ikkje fjerna brukaren frå gruppa %s",
- "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-modulen «fileinfo» manglar. Me rår sterkt til å slå på denne modulen for å best mogleg oppdaga MIME-typar."
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-modulen «fileinfo» manglar. Me rår sterkt til å slå på denne modulen for å best mogleg oppdaga MIME-typar.",
+ "Cron" : "Cron"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/settings/l10n/pl.js b/settings/l10n/pl.js
index ab82999c6d6..70fd2f015a4 100644
--- a/settings/l10n/pl.js
+++ b/settings/l10n/pl.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"Your apps" : "Twoje aplikacje",
"Enabled apps" : "Włączone aplikacje",
"Disabled apps" : "Wyłączone aplikacje",
+ "App bundles" : "Zestawy aplikacji",
"Wrong password" : "Złe hasło",
"Saved" : "Zapisano",
"No user supplied" : "Niedostarczony użytkownik",
@@ -43,6 +44,8 @@ OC.L10N.register(
"Unable to delete user." : "Nie można usunąć użytkownika.",
"Error while enabling user." : "Błąd podczas włączania użytkownika",
"Error while disabling user." : "Błąd podczas wyłączania użytkownika",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Aby zweryfikować swoje konto Twittera, wyślij poniższego tweet'a (upewnij się, że cały tekst zawiera się w jednej linii):",
+ "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):" : "Aby zweryfikować swoją stronę umieść poniższą zawartość w katalogu głównym serwera pod adresem '.well-known/CloudIdVerificationCode.txt' (upewnij się, że cały tekst zawiera się w jednej linii):",
"Settings saved" : "Ustawienia zachowane",
"Unable to change full name" : "Nie można zmienić pełnej nazwy",
"Unable to change email address" : "Nie można zmienić adresu e-mail",
@@ -238,14 +241,9 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Nie było możliwe do wykonania przez cron CLI. Pojawiły się następujące błędy techniczne:",
"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>." : "Proszę sprawdzić dokładnie <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">przewodniki instalacji ↗</a> oraz błędy i ostrzeżenia w <a href=\"%s\">logu</a>.",
"All checks passed." : "Wszystkie testy konfiguracji zakończyły się pomyślnie.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Ostatnie wykonanie zadania przez cron: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Ostatnie wykonanie zadania przez cron: %s. Wydaje się, że coś jest błędne.",
- "Cron was not executed yet!" : "Cron nie został jeszcze uruchomiony!",
"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." : "Dla optymalnej wydajności należy poprawnie skonfigurować zadania w tle. Dla większych instancji zalecane jest użycie usługi 'Cron'. Więcej informacji można znaleźć w dokumentacji.",
"Execute one task with each page loaded" : "Wykonuj jedno zadanie wraz z każdą wczytaną stroną.",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Cron.php jest zarejestrowany w usłudze webcron do uruchamiania cron.php raz na 15 minut przez http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Użyj systemowej usługi cron do wywoływania cron.php co 15 minut.",
"The cron.php needs to be executed by the system user \"%s\"." : "Cron.php musi być wykonywany przez użytkownika systemu \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Aby to uruchomić potrzebujesz rozszerzenia posix do PHP. Po więcej informacji sprawdź {linkstart}dokumentację PHP{linkend}.",
"Version" : "Wersja",
@@ -404,6 +402,11 @@ OC.L10N.register(
"Uninstall" : "Odinstaluj",
"This is used for sending out notifications." : "To jest używane do wysyłania powiadomień",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Brak modułu PHP „fileinfo”. Zalecamy włączenie tego modułu, aby uzyskać najlepsze wyniki podczas wykrywania typów MIME.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Ostatnie wykonanie zadania przez cron: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Ostatnie wykonanie zadania przez cron: %s. Wydaje się, że coś jest błędne.",
+ "Cron was not executed yet!" : "Cron nie został jeszcze uruchomiony!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Użyj systemowej usługi cron do wywoływania cron.php co 15 minut.",
"Uninstall app" : "Odinstaluj aplikację",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hej,<br><br>informujemy cię, że posiadasz od teraz konto %s.<br><br>Twoja nazwa użytkownika: <strong>%s</strong><br>Zaloguj się: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Pozdrawiam!",
diff --git a/settings/l10n/pl.json b/settings/l10n/pl.json
index 1aa3cc9fbe8..570ddef3148 100644
--- a/settings/l10n/pl.json
+++ b/settings/l10n/pl.json
@@ -9,6 +9,7 @@
"Your apps" : "Twoje aplikacje",
"Enabled apps" : "Włączone aplikacje",
"Disabled apps" : "Wyłączone aplikacje",
+ "App bundles" : "Zestawy aplikacji",
"Wrong password" : "Złe hasło",
"Saved" : "Zapisano",
"No user supplied" : "Niedostarczony użytkownik",
@@ -41,6 +42,8 @@
"Unable to delete user." : "Nie można usunąć użytkownika.",
"Error while enabling user." : "Błąd podczas włączania użytkownika",
"Error while disabling user." : "Błąd podczas wyłączania użytkownika",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Aby zweryfikować swoje konto Twittera, wyślij poniższego tweet'a (upewnij się, że cały tekst zawiera się w jednej linii):",
+ "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):" : "Aby zweryfikować swoją stronę umieść poniższą zawartość w katalogu głównym serwera pod adresem '.well-known/CloudIdVerificationCode.txt' (upewnij się, że cały tekst zawiera się w jednej linii):",
"Settings saved" : "Ustawienia zachowane",
"Unable to change full name" : "Nie można zmienić pełnej nazwy",
"Unable to change email address" : "Nie można zmienić adresu e-mail",
@@ -236,14 +239,9 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Nie było możliwe do wykonania przez cron CLI. Pojawiły się następujące błędy techniczne:",
"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>." : "Proszę sprawdzić dokładnie <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">przewodniki instalacji ↗</a> oraz błędy i ostrzeżenia w <a href=\"%s\">logu</a>.",
"All checks passed." : "Wszystkie testy konfiguracji zakończyły się pomyślnie.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Ostatnie wykonanie zadania przez cron: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Ostatnie wykonanie zadania przez cron: %s. Wydaje się, że coś jest błędne.",
- "Cron was not executed yet!" : "Cron nie został jeszcze uruchomiony!",
"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." : "Dla optymalnej wydajności należy poprawnie skonfigurować zadania w tle. Dla większych instancji zalecane jest użycie usługi 'Cron'. Więcej informacji można znaleźć w dokumentacji.",
"Execute one task with each page loaded" : "Wykonuj jedno zadanie wraz z każdą wczytaną stroną.",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Cron.php jest zarejestrowany w usłudze webcron do uruchamiania cron.php raz na 15 minut przez http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Użyj systemowej usługi cron do wywoływania cron.php co 15 minut.",
"The cron.php needs to be executed by the system user \"%s\"." : "Cron.php musi być wykonywany przez użytkownika systemu \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Aby to uruchomić potrzebujesz rozszerzenia posix do PHP. Po więcej informacji sprawdź {linkstart}dokumentację PHP{linkend}.",
"Version" : "Wersja",
@@ -402,6 +400,11 @@
"Uninstall" : "Odinstaluj",
"This is used for sending out notifications." : "To jest używane do wysyłania powiadomień",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Brak modułu PHP „fileinfo”. Zalecamy włączenie tego modułu, aby uzyskać najlepsze wyniki podczas wykrywania typów MIME.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Ostatnie wykonanie zadania przez cron: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Ostatnie wykonanie zadania przez cron: %s. Wydaje się, że coś jest błędne.",
+ "Cron was not executed yet!" : "Cron nie został jeszcze uruchomiony!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Użyj systemowej usługi cron do wywoływania cron.php co 15 minut.",
"Uninstall app" : "Odinstaluj aplikację",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hej,<br><br>informujemy cię, że posiadasz od teraz konto %s.<br><br>Twoja nazwa użytkownika: <strong>%s</strong><br>Zaloguj się: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Pozdrawiam!",
diff --git a/settings/l10n/pt_BR.js b/settings/l10n/pt_BR.js
index 2e522702c03..dec2755a7ed 100644
--- a/settings/l10n/pt_BR.js
+++ b/settings/l10n/pt_BR.js
@@ -241,14 +241,9 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Não foi possível executar o cron via CLI. Os seguintes erros ocorreram:",
"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 verifique os <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guias de instalação ↗</a> e verifique qualquer erro ou advertência no <a href=\"%s\">log</a>.",
"All checks passed." : "Todas as verificações passaram.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Última execução do trabalho Cron: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Última execução do trabalho Cron: %s. Algo parece errado.",
- "Cron was not executed yet!" : "Cron não foi executado ainda!",
"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 um desempenho ideal, é importante configurar corretamente os trabalhos em segundo plano. Para instâncias maiores 'Cron' é a configuração recomendada. Consulte a documentação para obter mais informações.",
"Execute one task with each page loaded" : "Execute uma tarefa com cada página carregada",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado no serviço webcron para chamar cron.php a cada 15 minutos sob http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço cron do sistema para chamar o arquivo cron.php a cada 15 minutos.",
"The cron.php needs to be executed by the system user \"%s\"." : "O cron.php precisa ser executado por um usuário de sistema \"%s\"",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para rodar isso você precisa da extensão posix PHP. Veja a {linkstart}documentação PHP{linkend} para mais detalhes.",
"Version" : "Versão",
@@ -407,6 +402,11 @@ OC.L10N.register(
"Uninstall" : "Desinstalar",
"This is used for sending out notifications." : "Usado para o envio de notificações.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "O módulo PHP 'fileinfo' está faltando. Recomendamos que ative este módulo para obter melhores resultados com a detecção de mime-type.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Última execução do trabalho Cron: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Última execução do trabalho Cron: %s. Algo parece errado.",
+ "Cron was not executed yet!" : "Cron não foi executado ainda!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço cron do sistema para chamar o arquivo cron.php a cada 15 minutos.",
"Uninstall app" : "Desinstalar aplicativo",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Olá,<br><br>só para lhe informar que agora você tem uma %s conta.<br><br>Nome de usuário: <strong>%s</strong><br>Acesse: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Saudações!",
diff --git a/settings/l10n/pt_BR.json b/settings/l10n/pt_BR.json
index dae1aa4a70f..51cf1a5e393 100644
--- a/settings/l10n/pt_BR.json
+++ b/settings/l10n/pt_BR.json
@@ -239,14 +239,9 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Não foi possível executar o cron via CLI. Os seguintes erros ocorreram:",
"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 verifique os <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">guias de instalação ↗</a> e verifique qualquer erro ou advertência no <a href=\"%s\">log</a>.",
"All checks passed." : "Todas as verificações passaram.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Última execução do trabalho Cron: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Última execução do trabalho Cron: %s. Algo parece errado.",
- "Cron was not executed yet!" : "Cron não foi executado ainda!",
"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 um desempenho ideal, é importante configurar corretamente os trabalhos em segundo plano. Para instâncias maiores 'Cron' é a configuração recomendada. Consulte a documentação para obter mais informações.",
"Execute one task with each page loaded" : "Execute uma tarefa com cada página carregada",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado no serviço webcron para chamar cron.php a cada 15 minutos sob http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço cron do sistema para chamar o arquivo cron.php a cada 15 minutos.",
"The cron.php needs to be executed by the system user \"%s\"." : "O cron.php precisa ser executado por um usuário de sistema \"%s\"",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Para rodar isso você precisa da extensão posix PHP. Veja a {linkstart}documentação PHP{linkend} para mais detalhes.",
"Version" : "Versão",
@@ -405,6 +400,11 @@
"Uninstall" : "Desinstalar",
"This is used for sending out notifications." : "Usado para o envio de notificações.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "O módulo PHP 'fileinfo' está faltando. Recomendamos que ative este módulo para obter melhores resultados com a detecção de mime-type.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Última execução do trabalho Cron: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Última execução do trabalho Cron: %s. Algo parece errado.",
+ "Cron was not executed yet!" : "Cron não foi executado ainda!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço cron do sistema para chamar o arquivo cron.php a cada 15 minutos.",
"Uninstall app" : "Desinstalar aplicativo",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Olá,<br><br>só para lhe informar que agora você tem uma %s conta.<br><br>Nome de usuário: <strong>%s</strong><br>Acesse: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Saudações!",
diff --git a/settings/l10n/pt_PT.js b/settings/l10n/pt_PT.js
index 9305bc3bc5a..1f428edb7fc 100644
--- a/settings/l10n/pt_PT.js
+++ b/settings/l10n/pt_PT.js
@@ -136,13 +136,8 @@ OC.L10N.register(
"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\")" : "Se a sua instalação não está instalada na raiz do domínio e usa o sistema cron, pode haver problemas com a geração de URL. Para evitar esses problemas, por favor, defina a opção \"overwrite.cli.url\" no ficheiro config.php para o caminho webroot da sua instalação (Sugestão: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Não foi possível executar o cronjob via CLI. Os seguintes erros técnicos apareceram:",
"All checks passed." : "Todas as verificações passaram.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Última execução de cron job: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Última execução de cron job: %s. Algo está errado.",
- "Cron was not executed yet!" : "Cron ainda não foi executado!",
"Execute one task with each page loaded" : "Executar uma tarefa com cada página carregada",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registado num serviço webcron para chamar a página cron.php por http a cada 15 minutos.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço sistema cron para ligar o ficheiro cron.php a cada 15 minutos.",
"Version" : "Versão",
"Sharing" : "Partilha",
"Allow apps to use the Share API" : "Permitir que os utilizadores usem a API de partilha",
@@ -249,6 +244,11 @@ OC.L10N.register(
"Uninstall" : "Desinstalar",
"This is used for sending out notifications." : "Isto é utilizado para enviar notificações",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "O Módulo PHP 'fileinfo' não se encontra instalado/activado. É fortemente recomendado que active este módulo para obter os melhores resultado com a detecção dos tipos de mime.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Última execução de cron job: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Última execução de cron job: %s. Algo está errado.",
+ "Cron was not executed yet!" : "Cron ainda não foi executado!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço sistema cron para ligar o ficheiro cron.php a cada 15 minutos.",
"Cheers!" : "Parabéns!",
"For password recovery and notifications" : "Para recuperação da palavra-passe e notificações",
"Show last log in" : "Mostrar ultimo acesso de entrada"
diff --git a/settings/l10n/pt_PT.json b/settings/l10n/pt_PT.json
index 3a8edc901e7..69ce995b036 100644
--- a/settings/l10n/pt_PT.json
+++ b/settings/l10n/pt_PT.json
@@ -134,13 +134,8 @@
"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\")" : "Se a sua instalação não está instalada na raiz do domínio e usa o sistema cron, pode haver problemas com a geração de URL. Para evitar esses problemas, por favor, defina a opção \"overwrite.cli.url\" no ficheiro config.php para o caminho webroot da sua instalação (Sugestão: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Não foi possível executar o cronjob via CLI. Os seguintes erros técnicos apareceram:",
"All checks passed." : "Todas as verificações passaram.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Última execução de cron job: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Última execução de cron job: %s. Algo está errado.",
- "Cron was not executed yet!" : "Cron ainda não foi executado!",
"Execute one task with each page loaded" : "Executar uma tarefa com cada página carregada",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registado num serviço webcron para chamar a página cron.php por http a cada 15 minutos.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço sistema cron para ligar o ficheiro cron.php a cada 15 minutos.",
"Version" : "Versão",
"Sharing" : "Partilha",
"Allow apps to use the Share API" : "Permitir que os utilizadores usem a API de partilha",
@@ -247,6 +242,11 @@
"Uninstall" : "Desinstalar",
"This is used for sending out notifications." : "Isto é utilizado para enviar notificações",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "O Módulo PHP 'fileinfo' não se encontra instalado/activado. É fortemente recomendado que active este módulo para obter os melhores resultado com a detecção dos tipos de mime.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Última execução de cron job: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Última execução de cron job: %s. Algo está errado.",
+ "Cron was not executed yet!" : "Cron ainda não foi executado!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço sistema cron para ligar o ficheiro cron.php a cada 15 minutos.",
"Cheers!" : "Parabéns!",
"For password recovery and notifications" : "Para recuperação da palavra-passe e notificações",
"Show last log in" : "Mostrar ultimo acesso de entrada"
diff --git a/settings/l10n/ro.js b/settings/l10n/ro.js
index b7a1e4fa20e..5d9150396c2 100644
--- a/settings/l10n/ro.js
+++ b/settings/l10n/ro.js
@@ -103,7 +103,6 @@ OC.L10N.register(
"Start migration" : "Pornește migrarea",
"Security & setup warnings" : "Alerte de securitate & configurare",
"All checks passed." : "Toate verificările s-au terminat fără erori.",
- "Cron" : "Cron",
"Execute one task with each page loaded" : "Execută o sarcină la fiecare pagină încărcată",
"Version" : "Versiunea",
"Sharing" : "Partajare",
@@ -185,6 +184,7 @@ OC.L10N.register(
"Error while uninstalling app" : "Eroare la dezinstalarea aplicației",
"Uninstall" : "Dezinstalați",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Modulul PHP \"Fileinfo\" lipsește. Va recomandam sa activaţi acest modul pentru a obține cele mai bune rezultate cu detectarea mime-type.",
+ "Cron" : "Cron",
"Cheers!" : "Noroc!"
},
"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/settings/l10n/ro.json b/settings/l10n/ro.json
index 4d48f15bd95..eb4e9433b99 100644
--- a/settings/l10n/ro.json
+++ b/settings/l10n/ro.json
@@ -101,7 +101,6 @@
"Start migration" : "Pornește migrarea",
"Security & setup warnings" : "Alerte de securitate & configurare",
"All checks passed." : "Toate verificările s-au terminat fără erori.",
- "Cron" : "Cron",
"Execute one task with each page loaded" : "Execută o sarcină la fiecare pagină încărcată",
"Version" : "Versiunea",
"Sharing" : "Partajare",
@@ -183,6 +182,7 @@
"Error while uninstalling app" : "Eroare la dezinstalarea aplicației",
"Uninstall" : "Dezinstalați",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Modulul PHP \"Fileinfo\" lipsește. Va recomandam sa activaţi acest modul pentru a obține cele mai bune rezultate cu detectarea mime-type.",
+ "Cron" : "Cron",
"Cheers!" : "Noroc!"
},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
} \ No newline at end of file
diff --git a/settings/l10n/ru.js b/settings/l10n/ru.js
index ff8596f8347..a21789c4d86 100644
--- a/settings/l10n/ru.js
+++ b/settings/l10n/ru.js
@@ -241,14 +241,9 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Не удается запустить задачу планировщика через CLI. Произошли следующие технические ошибки:",
"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>." : "Пожалуйста, еще раз внимательно прочитайте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">руководство по установке ↗</a> и проверьте <a href=\"%s\">журнал</a> на наличие ошибок.",
"All checks passed." : "Все проверки пройдены.",
- "Cron" : "Cron (планировщик задач)",
- "Last cron job execution: %s." : "Последнее выполненное задание планировщика: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Последнее выполненное задание планировщика: %s. Похоже, что-то не в порядке.",
- "Cron was not executed yet!" : "Задачи cron ещё не запускались!",
"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." : "Для оптимальной производительности важно правильно настроить выполнение задач в фоновом режиме. Для больших экземпляров рекомендуется использовать параметр «Cron». Дополнительную информацию см. в документации.",
"Execute one task with each page loaded" : "Выполнять одно задание с каждой загруженной страницей",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php зарегистрирован в webcron и будет вызываться каждые 15 минут по http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Использовать системный cron для вызова cron.php каждые 15 минут.",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php должен исполняться из под пользователя \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Для запуска вам необходимо расширение PHP posix. Для более подробной информации смотрите {linkstart}PHP документацию{linkend}",
"Version" : "Версия",
@@ -407,6 +402,11 @@ OC.L10N.register(
"Uninstall" : "Удалить",
"This is used for sending out notifications." : "Используется для отправки уведомлений.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-модуль 'fileinfo' отсутствует. Мы настоятельно рекомендуем включить этот модуль для улучшения определения типов (mime-type) файлов.",
+ "Cron" : "Cron (планировщик задач)",
+ "Last cron job execution: %s." : "Последнее выполненное задание планировщика: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Последнее выполненное задание планировщика: %s. Похоже, что-то не в порядке.",
+ "Cron was not executed yet!" : "Задачи cron ещё не запускались!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Использовать системный cron для вызова cron.php каждые 15 минут.",
"Uninstall app" : "Удалить приложение",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Здравствуйте,<br><br>просто хотим сообщить, что теперь у вас есть учетная запись на %s.<br><br>Ваше имя пользователя: <strong>%s</strong><br>Зайти: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Удачи!",
diff --git a/settings/l10n/ru.json b/settings/l10n/ru.json
index 605830ca016..f473f4e98af 100644
--- a/settings/l10n/ru.json
+++ b/settings/l10n/ru.json
@@ -239,14 +239,9 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Не удается запустить задачу планировщика через CLI. Произошли следующие технические ошибки:",
"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>." : "Пожалуйста, еще раз внимательно прочитайте <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">руководство по установке ↗</a> и проверьте <a href=\"%s\">журнал</a> на наличие ошибок.",
"All checks passed." : "Все проверки пройдены.",
- "Cron" : "Cron (планировщик задач)",
- "Last cron job execution: %s." : "Последнее выполненное задание планировщика: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Последнее выполненное задание планировщика: %s. Похоже, что-то не в порядке.",
- "Cron was not executed yet!" : "Задачи cron ещё не запускались!",
"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." : "Для оптимальной производительности важно правильно настроить выполнение задач в фоновом режиме. Для больших экземпляров рекомендуется использовать параметр «Cron». Дополнительную информацию см. в документации.",
"Execute one task with each page loaded" : "Выполнять одно задание с каждой загруженной страницей",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php зарегистрирован в webcron и будет вызываться каждые 15 минут по http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Использовать системный cron для вызова cron.php каждые 15 минут.",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php должен исполняться из под пользователя \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Для запуска вам необходимо расширение PHP posix. Для более подробной информации смотрите {linkstart}PHP документацию{linkend}",
"Version" : "Версия",
@@ -405,6 +400,11 @@
"Uninstall" : "Удалить",
"This is used for sending out notifications." : "Используется для отправки уведомлений.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-модуль 'fileinfo' отсутствует. Мы настоятельно рекомендуем включить этот модуль для улучшения определения типов (mime-type) файлов.",
+ "Cron" : "Cron (планировщик задач)",
+ "Last cron job execution: %s." : "Последнее выполненное задание планировщика: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Последнее выполненное задание планировщика: %s. Похоже, что-то не в порядке.",
+ "Cron was not executed yet!" : "Задачи cron ещё не запускались!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Использовать системный cron для вызова cron.php каждые 15 минут.",
"Uninstall app" : "Удалить приложение",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Здравствуйте,<br><br>просто хотим сообщить, что теперь у вас есть учетная запись на %s.<br><br>Ваше имя пользователя: <strong>%s</strong><br>Зайти: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Удачи!",
diff --git a/settings/l10n/sk.js b/settings/l10n/sk.js
index d4075f51f92..065b031b94a 100644
--- a/settings/l10n/sk.js
+++ b/settings/l10n/sk.js
@@ -167,13 +167,8 @@ OC.L10N.register(
"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\")",
"All checks passed." : "Všetky kontroly prešli úspešne.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Posledný cron prebehol: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Posledný cron prebehol: %s. Zdá sa, že niečo nie je vporiadku.",
- "Cron was not executed yet!" : "Cron sa ešte nespustil!",
"Execute one task with each page loaded" : "Vykonať jednu úlohu s každým načítaní stránky",
"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.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Použiť systémovú službu cron na spúšťanie súboru cron.php každých 15 minút.",
"The cron.php needs to be executed by the system user \"%s\"." : "Je potrebné, aby cron.php bol spustený systémovým používateľom \"%s\".",
"Version" : "Verzia",
"Sharing" : "Sprístupňovanie",
@@ -307,6 +302,11 @@ OC.L10N.register(
"Uninstall" : "Odinštalácia",
"This is used for sending out notifications." : "Používa sa na odosielanie upozornení.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Chýba modul 'fileinfo'. Dôrazne doporučujeme ho povoliť pre dosiahnutie najlepších výsledkov zisťovania mime-typu.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Posledný cron prebehol: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Posledný cron prebehol: %s. Zdá sa, že niečo nie je vporiadku.",
+ "Cron was not executed yet!" : "Cron sa ešte nespustil!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Použiť systémovú službu cron na spúšťanie súboru cron.php každých 15 minút.",
"Uninstall app" : "Odinštalovať aplikáciu",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Dobrý deň,<br><br>toto je oznámenie o novo vytvorenom účte %s.<br><br>Vaše používateľské meno: <strong>%s</strong><br>Prihlásiť sa môžete tu: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Pekný deň!",
diff --git a/settings/l10n/sk.json b/settings/l10n/sk.json
index c782bef0b1a..c88f8717e7d 100644
--- a/settings/l10n/sk.json
+++ b/settings/l10n/sk.json
@@ -165,13 +165,8 @@
"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\")",
"All checks passed." : "Všetky kontroly prešli úspešne.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Posledný cron prebehol: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Posledný cron prebehol: %s. Zdá sa, že niečo nie je vporiadku.",
- "Cron was not executed yet!" : "Cron sa ešte nespustil!",
"Execute one task with each page loaded" : "Vykonať jednu úlohu s každým načítaní stránky",
"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.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Použiť systémovú službu cron na spúšťanie súboru cron.php každých 15 minút.",
"The cron.php needs to be executed by the system user \"%s\"." : "Je potrebné, aby cron.php bol spustený systémovým používateľom \"%s\".",
"Version" : "Verzia",
"Sharing" : "Sprístupňovanie",
@@ -305,6 +300,11 @@
"Uninstall" : "Odinštalácia",
"This is used for sending out notifications." : "Používa sa na odosielanie upozornení.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Chýba modul 'fileinfo'. Dôrazne doporučujeme ho povoliť pre dosiahnutie najlepších výsledkov zisťovania mime-typu.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Posledný cron prebehol: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Posledný cron prebehol: %s. Zdá sa, že niečo nie je vporiadku.",
+ "Cron was not executed yet!" : "Cron sa ešte nespustil!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Použiť systémovú službu cron na spúšťanie súboru cron.php každých 15 minút.",
"Uninstall app" : "Odinštalovať aplikáciu",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Dobrý deň,<br><br>toto je oznámenie o novo vytvorenom účte %s.<br><br>Vaše používateľské meno: <strong>%s</strong><br>Prihlásiť sa môžete tu: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Pekný deň!",
diff --git a/settings/l10n/sl.js b/settings/l10n/sl.js
index 3990696158e..3a6e5ae2c7f 100644
--- a/settings/l10n/sl.js
+++ b/settings/l10n/sl.js
@@ -122,13 +122,8 @@ OC.L10N.register(
"System locale can not be set to a one which supports UTF-8." : "Sistemskih jezikovnih nastavitev ni mogoče nastaviti na možnost, ki podpira nabor UTF-8.",
"This means that there might be problems with certain characters in file names." : "To pomeni, da se lahko pojavijo napake pri nekaterih znakih v imenih datotek.",
"All checks passed." : "Vsa preverjanja so uspešno zaključena.",
- "Cron" : "Periodično opravilo",
- "Last cron job execution: %s." : " Zadnje periodično opravilo: %s.",
- "Last cron job execution: %s. Something seems wrong." : " Zadnje periodično opravilo: %s. Nekaj izgleda narobe.",
- "Cron was not executed yet!" : "Periodično opravilo cron še ni zagnano!",
"Execute one task with each page loaded" : "Izvedi eno nalogo z vsako naloženo stranjo.",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Datoteka cron.php je vpisana za periodično opravilo webcron za potrditev sklica vsakih 15 minut pri povezavi preko HTTP.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Uporabi storitev periodičnih opravil za klic datoteke cron.php vsakih 15 minut.",
"Version" : "Različica",
"Sharing" : "Souporaba",
"Allow apps to use the Share API" : "Dovoli programom uporabo vmesnika API souporabe",
@@ -237,6 +232,11 @@ OC.L10N.register(
"Uninstall" : "Odstrani namestitev",
"This is used for sending out notifications." : "Možnost je uporabljena za omogočanje pošiljanja obvestil.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Manjka modul PHP 'fileinfo'. Priporočljivo je omogočiti ta modul za popolno zaznavanje vrst MIME.",
+ "Cron" : "Periodično opravilo",
+ "Last cron job execution: %s." : " Zadnje periodično opravilo: %s.",
+ "Last cron job execution: %s. Something seems wrong." : " Zadnje periodično opravilo: %s. Nekaj izgleda narobe.",
+ "Cron was not executed yet!" : "Periodično opravilo cron še ni zagnano!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Uporabi storitev periodičnih opravil za klic datoteke cron.php vsakih 15 minut.",
"Cheers!" : "Lep pozdrav!",
"For password recovery and notifications" : "Za obnovo gesla in obveščanje",
"Show last log in" : "Pokaži podatke zadnje prijave"
diff --git a/settings/l10n/sl.json b/settings/l10n/sl.json
index 139abde42f7..5bc8b7b2cce 100644
--- a/settings/l10n/sl.json
+++ b/settings/l10n/sl.json
@@ -120,13 +120,8 @@
"System locale can not be set to a one which supports UTF-8." : "Sistemskih jezikovnih nastavitev ni mogoče nastaviti na možnost, ki podpira nabor UTF-8.",
"This means that there might be problems with certain characters in file names." : "To pomeni, da se lahko pojavijo napake pri nekaterih znakih v imenih datotek.",
"All checks passed." : "Vsa preverjanja so uspešno zaključena.",
- "Cron" : "Periodično opravilo",
- "Last cron job execution: %s." : " Zadnje periodično opravilo: %s.",
- "Last cron job execution: %s. Something seems wrong." : " Zadnje periodično opravilo: %s. Nekaj izgleda narobe.",
- "Cron was not executed yet!" : "Periodično opravilo cron še ni zagnano!",
"Execute one task with each page loaded" : "Izvedi eno nalogo z vsako naloženo stranjo.",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Datoteka cron.php je vpisana za periodično opravilo webcron za potrditev sklica vsakih 15 minut pri povezavi preko HTTP.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Uporabi storitev periodičnih opravil za klic datoteke cron.php vsakih 15 minut.",
"Version" : "Različica",
"Sharing" : "Souporaba",
"Allow apps to use the Share API" : "Dovoli programom uporabo vmesnika API souporabe",
@@ -235,6 +230,11 @@
"Uninstall" : "Odstrani namestitev",
"This is used for sending out notifications." : "Možnost je uporabljena za omogočanje pošiljanja obvestil.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Manjka modul PHP 'fileinfo'. Priporočljivo je omogočiti ta modul za popolno zaznavanje vrst MIME.",
+ "Cron" : "Periodično opravilo",
+ "Last cron job execution: %s." : " Zadnje periodično opravilo: %s.",
+ "Last cron job execution: %s. Something seems wrong." : " Zadnje periodično opravilo: %s. Nekaj izgleda narobe.",
+ "Cron was not executed yet!" : "Periodično opravilo cron še ni zagnano!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Uporabi storitev periodičnih opravil za klic datoteke cron.php vsakih 15 minut.",
"Cheers!" : "Lep pozdrav!",
"For password recovery and notifications" : "Za obnovo gesla in obveščanje",
"Show last log in" : "Pokaži podatke zadnje prijave"
diff --git a/settings/l10n/sq.js b/settings/l10n/sq.js
index 579a4f460e6..fe7eb6a8647 100644
--- a/settings/l10n/sq.js
+++ b/settings/l10n/sq.js
@@ -1,6 +1,9 @@
OC.L10N.register(
"settings",
{
+ "You changed your password" : "Ju ndëruat fjalëkalimin",
+ "You changed your email address" : "Ju ndryshuat adresën e emailit tuaj",
+ "Your email address was changed by an administrator" : "Adresa juaj e email-it është ndryshuar nga një administrator",
"Wrong password" : "Fjalëkalim i gabuar",
"Saved" : "U ruajt",
"No user supplied" : "S’u dha përdorues",
@@ -181,13 +184,8 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "S’qe e mundur të përmbushej akti cron përmes CLI-së. U shfaqën gabimet teknike vijuese:",
"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>." : "Ju lutem riverifikoni <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\"> udhëzuesin e instalimit </a>,, dhe kontrolloni për ndonjë gabim apo njoftim paraprak në <a href=\"%s\">log</a>.",
"All checks passed." : "I kaloi krejt kontrollet.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Përmbushja e fundit e aktit cron: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Përmbushja e fundit e aktit cron: %s. Duket se nuk shkon diçka.",
- "Cron was not executed yet!" : "Cron-i s’qe ekzekutuar ende!",
"Execute one task with each page loaded" : "Kryeni vetëm një veprim me secilën prej faqeve të ngarkuara",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php është regjistruar te një shërbim webcron që ta aktivizojë cron.php-në çdo 15 minuta përmes http-je.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Përdorni shërbimin cron të sistemit që ta aktivizojë cron.php-në çdo 15 minuta.",
"The cron.php needs to be executed by the system user \"%s\"." : "con.php duhet të ekzekutohet bga përdoruesi i sistemit \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Për të bërë këtë ekzekutim ju duhet shtesa PHP posix. Shikoni {linkstart} dokumentacionin e PHP {linkend} pë më shumë detaje.",
"Version" : "Version",
@@ -327,6 +325,11 @@ OC.L10N.register(
"Uninstall" : "Çinstaloje",
"This is used for sending out notifications." : "Ky përdoret për të dërguar njoftime.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Moduli PHP 'fileinfo' mungon. Ju këshillojmë me forcë ta aktivizoni këtë modul, për të patur përfundimet më të mira në zbulim llojesh MIME.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Përmbushja e fundit e aktit cron: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Përmbushja e fundit e aktit cron: %s. Duket se nuk shkon diçka.",
+ "Cron was not executed yet!" : "Cron-i s’qe ekzekutuar ende!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Përdorni shërbimin cron të sistemit që ta aktivizojë cron.php-në çdo 15 minuta.",
"Uninstall app" : "Çinstaloje Aplikacionin",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Njatjeta,<br><br>thjesht po ju bëjmë të ditur që tani keni një llogari %s.<br><br>Emri juaj i përdoruesit: <strong>%s</strong><br> Hyni në të te: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Gëzuar!",
diff --git a/settings/l10n/sq.json b/settings/l10n/sq.json
index 193fca52de6..003d8e6e43e 100644
--- a/settings/l10n/sq.json
+++ b/settings/l10n/sq.json
@@ -1,4 +1,7 @@
{ "translations": {
+ "You changed your password" : "Ju ndëruat fjalëkalimin",
+ "You changed your email address" : "Ju ndryshuat adresën e emailit tuaj",
+ "Your email address was changed by an administrator" : "Adresa juaj e email-it është ndryshuar nga një administrator",
"Wrong password" : "Fjalëkalim i gabuar",
"Saved" : "U ruajt",
"No user supplied" : "S’u dha përdorues",
@@ -179,13 +182,8 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "S’qe e mundur të përmbushej akti cron përmes CLI-së. U shfaqën gabimet teknike vijuese:",
"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>." : "Ju lutem riverifikoni <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\"> udhëzuesin e instalimit </a>,, dhe kontrolloni për ndonjë gabim apo njoftim paraprak në <a href=\"%s\">log</a>.",
"All checks passed." : "I kaloi krejt kontrollet.",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Përmbushja e fundit e aktit cron: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Përmbushja e fundit e aktit cron: %s. Duket se nuk shkon diçka.",
- "Cron was not executed yet!" : "Cron-i s’qe ekzekutuar ende!",
"Execute one task with each page loaded" : "Kryeni vetëm një veprim me secilën prej faqeve të ngarkuara",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php është regjistruar te një shërbim webcron që ta aktivizojë cron.php-në çdo 15 minuta përmes http-je.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Përdorni shërbimin cron të sistemit që ta aktivizojë cron.php-në çdo 15 minuta.",
"The cron.php needs to be executed by the system user \"%s\"." : "con.php duhet të ekzekutohet bga përdoruesi i sistemit \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Për të bërë këtë ekzekutim ju duhet shtesa PHP posix. Shikoni {linkstart} dokumentacionin e PHP {linkend} pë më shumë detaje.",
"Version" : "Version",
@@ -325,6 +323,11 @@
"Uninstall" : "Çinstaloje",
"This is used for sending out notifications." : "Ky përdoret për të dërguar njoftime.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Moduli PHP 'fileinfo' mungon. Ju këshillojmë me forcë ta aktivizoni këtë modul, për të patur përfundimet më të mira në zbulim llojesh MIME.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Përmbushja e fundit e aktit cron: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Përmbushja e fundit e aktit cron: %s. Duket se nuk shkon diçka.",
+ "Cron was not executed yet!" : "Cron-i s’qe ekzekutuar ende!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Përdorni shërbimin cron të sistemit që ta aktivizojë cron.php-në çdo 15 minuta.",
"Uninstall app" : "Çinstaloje Aplikacionin",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Njatjeta,<br><br>thjesht po ju bëjmë të ditur që tani keni një llogari %s.<br><br>Emri juaj i përdoruesit: <strong>%s</strong><br> Hyni në të te: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Gëzuar!",
diff --git a/settings/l10n/sr.js b/settings/l10n/sr.js
index 63c3ecf0229..a4e917e3f7a 100644
--- a/settings/l10n/sr.js
+++ b/settings/l10n/sr.js
@@ -110,13 +110,8 @@ OC.L10N.register(
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Препоручујемо да инсталирате потребне пакете да бисте подржали следеће локалитете: %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\")" : "Ако инсталација није инсталирана у основи домена и користи системски крон, може бити проблема са генерисањем веб адреса. Да бисте избегли ове проблеме, молимо вас да подесите \"overwrite.cli.url\" опцију у вашем config.php фајлу у путању веб-основе ваше инсталације (Предложено: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Није било могуће да се изврши крон задатак путем интерфејса командне линије. Појавила су се следеће техничке грешке:",
- "Cron" : "Крон",
- "Last cron job execution: %s." : "Последњи извршени крон задатак: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Последњи извршени крон задатак: %s. Нешто изгледа није у реду.",
- "Cron was not executed yet!" : "Крон задатак још увек није извршен!",
"Execute one task with each page loaded" : "Изврши један задатак са сваком учитаном страницом",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php је регистрован код вебкрон сервиса за позивање cron.php сваких 15 минута преко протокола http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Користите системски крон сервис за позивање cron.php фајла сваких 15 минута.",
"Version" : "Верзија",
"Sharing" : "Дељење",
"Allow apps to use the Share API" : "Дозвољава апликацијама да користе АПИ дељења",
@@ -210,6 +205,11 @@ OC.L10N.register(
"Uninstall" : "Деинсталирај",
"This is used for sending out notifications." : "Ово се користи за слање обавештења.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Недостаје ПХП модул „fileinfo“. Препоручујемо вам да га укључите да бисте добили најбоље резултате с откривањем МИМЕ врста.",
+ "Cron" : "Крон",
+ "Last cron job execution: %s." : "Последњи извршени крон задатак: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Последњи извршени крон задатак: %s. Нешто изгледа није у реду.",
+ "Cron was not executed yet!" : "Крон задатак још увек није извршен!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Користите системски крон сервис за позивање cron.php фајла сваких 15 минута.",
"Cheers!" : "Здраво!",
"Show last log in" : "Прикажи последњу пријаву"
},
diff --git a/settings/l10n/sr.json b/settings/l10n/sr.json
index ac4732e7e69..db7847e84d5 100644
--- a/settings/l10n/sr.json
+++ b/settings/l10n/sr.json
@@ -108,13 +108,8 @@
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Препоручујемо да инсталирате потребне пакете да бисте подржали следеће локалитете: %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\")" : "Ако инсталација није инсталирана у основи домена и користи системски крон, може бити проблема са генерисањем веб адреса. Да бисте избегли ове проблеме, молимо вас да подесите \"overwrite.cli.url\" опцију у вашем config.php фајлу у путању веб-основе ваше инсталације (Предложено: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Није било могуће да се изврши крон задатак путем интерфејса командне линије. Појавила су се следеће техничке грешке:",
- "Cron" : "Крон",
- "Last cron job execution: %s." : "Последњи извршени крон задатак: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Последњи извршени крон задатак: %s. Нешто изгледа није у реду.",
- "Cron was not executed yet!" : "Крон задатак још увек није извршен!",
"Execute one task with each page loaded" : "Изврши један задатак са сваком учитаном страницом",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php је регистрован код вебкрон сервиса за позивање cron.php сваких 15 минута преко протокола http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Користите системски крон сервис за позивање cron.php фајла сваких 15 минута.",
"Version" : "Верзија",
"Sharing" : "Дељење",
"Allow apps to use the Share API" : "Дозвољава апликацијама да користе АПИ дељења",
@@ -208,6 +203,11 @@
"Uninstall" : "Деинсталирај",
"This is used for sending out notifications." : "Ово се користи за слање обавештења.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Недостаје ПХП модул „fileinfo“. Препоручујемо вам да га укључите да бисте добили најбоље резултате с откривањем МИМЕ врста.",
+ "Cron" : "Крон",
+ "Last cron job execution: %s." : "Последњи извршени крон задатак: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Последњи извршени крон задатак: %s. Нешто изгледа није у реду.",
+ "Cron was not executed yet!" : "Крон задатак још увек није извршен!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Користите системски крон сервис за позивање cron.php фајла сваких 15 минута.",
"Cheers!" : "Здраво!",
"Show last log in" : "Прикажи последњу пријаву"
},"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/settings/l10n/sv.js b/settings/l10n/sv.js
index a01eaf70563..54628910aea 100644
--- a/settings/l10n/sv.js
+++ b/settings/l10n/sv.js
@@ -233,13 +233,8 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Det var ej möjligt att exekvera cronjob via CLI. Följande tekniska fel har uppstått:",
"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>." : "Var god att dubbelkolla <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installationsguiden ↗</a>, och kolla efter några ändringar eller varningar i <a href=\"%s\">loggfilen</a>.",
"All checks passed." : "Alla kontroller lyckades!",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Sista cron kördes för %s",
- "Last cron job execution: %s. Something seems wrong." : "Sista cron kördes för %s. Något verkar vara fel.",
- "Cron was not executed yet!" : "Cron har inte körts ännu!",
"Execute one task with each page loaded" : "Exekvera en uppgift vid varje sidladdning",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php är registrerad som en webcron service att ropa på cron.php varje 15 minuter över http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Använd systemets cron-tjänst för att anropa cron.php var 15:e minut.",
"The cron.php needs to be executed by the system user \"%s\"." : "Cron.php behöver exekveras av systemanvändaren \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "För att köra detta behöver du PHP posix tillägget. Se {linkstart}PHP dokumentationen{linkend} för ytterligare detaljer.",
"Version" : "Version",
@@ -394,6 +389,11 @@ OC.L10N.register(
"Uninstall" : "Avinstallera",
"This is used for sending out notifications." : "Detta används för att skicka ut notifieringar.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-modulen 'fileinfo' saknas. Vi rekommenderar starkt att aktivera den här modulen för att kunna upptäcka korrekt mime-typ.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Sista cron kördes för %s",
+ "Last cron job execution: %s. Something seems wrong." : "Sista cron kördes för %s. Något verkar vara fel.",
+ "Cron was not executed yet!" : "Cron har inte körts ännu!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Använd systemets cron-tjänst för att anropa cron.php var 15:e minut.",
"Uninstall app" : "Avinstallera app",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hej där,<br><br>Tänkte bara informera om att du du nu har ett %s konto.<br><br>Ditt användarnamn: <strong>%s</strong><br>Logga in: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Ha de fint!",
diff --git a/settings/l10n/sv.json b/settings/l10n/sv.json
index 51aaa93e426..a329fff9c89 100644
--- a/settings/l10n/sv.json
+++ b/settings/l10n/sv.json
@@ -231,13 +231,8 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Det var ej möjligt att exekvera cronjob via CLI. Följande tekniska fel har uppstått:",
"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>." : "Var god att dubbelkolla <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installationsguiden ↗</a>, och kolla efter några ändringar eller varningar i <a href=\"%s\">loggfilen</a>.",
"All checks passed." : "Alla kontroller lyckades!",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "Sista cron kördes för %s",
- "Last cron job execution: %s. Something seems wrong." : "Sista cron kördes för %s. Något verkar vara fel.",
- "Cron was not executed yet!" : "Cron har inte körts ännu!",
"Execute one task with each page loaded" : "Exekvera en uppgift vid varje sidladdning",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php är registrerad som en webcron service att ropa på cron.php varje 15 minuter över http.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Använd systemets cron-tjänst för att anropa cron.php var 15:e minut.",
"The cron.php needs to be executed by the system user \"%s\"." : "Cron.php behöver exekveras av systemanvändaren \"%s\".",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "För att köra detta behöver du PHP posix tillägget. Se {linkstart}PHP dokumentationen{linkend} för ytterligare detaljer.",
"Version" : "Version",
@@ -392,6 +387,11 @@
"Uninstall" : "Avinstallera",
"This is used for sending out notifications." : "Detta används för att skicka ut notifieringar.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP-modulen 'fileinfo' saknas. Vi rekommenderar starkt att aktivera den här modulen för att kunna upptäcka korrekt mime-typ.",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "Sista cron kördes för %s",
+ "Last cron job execution: %s. Something seems wrong." : "Sista cron kördes för %s. Något verkar vara fel.",
+ "Cron was not executed yet!" : "Cron har inte körts ännu!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Använd systemets cron-tjänst för att anropa cron.php var 15:e minut.",
"Uninstall app" : "Avinstallera app",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Hej där,<br><br>Tänkte bara informera om att du du nu har ett %s konto.<br><br>Ditt användarnamn: <strong>%s</strong><br>Logga in: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Ha de fint!",
diff --git a/settings/l10n/th.js b/settings/l10n/th.js
index 956a026cd77..48cc861bc25 100644
--- a/settings/l10n/th.js
+++ b/settings/l10n/th.js
@@ -129,13 +129,8 @@ OC.L10N.register(
"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\")" : "หากการติดตั้งของคุณไม่ได้ติดตั้งในรากของโดเมนและใช้ระบบ cron อาจมีปัญหาเกี่ยวกับการสร้าง URL เพื่อหลีกเลี่ยงปัญหาเหล่านี้โปรดไปตั้งค่า \"overwrite.cli.url\" ในไฟล์ config.php ของคุณไปยังเส้นทาง webroot ของการติดตั้งของคุณ (แนะนำ: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "มันเป็นไปไม่ได้ที่จะดำเนินการ cronjob ผ่านทาง CLI ข้อผิดพลาดทางเทคนิคต่อไปนี้จะปรากฏ:",
"All checks passed." : "ผ่านการตรวจสอบทั้งหมด",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "การดำเนินการ cron job ล่าสุด: %s",
- "Last cron job execution: %s. Something seems wrong." : "การดำเนินการ cron job ล่าสุด: %s ดูเหมือนมีบางสิ่งไม่ถูกต้อง",
- "Cron was not executed yet!" : "Cron ไม่ได้ถูกดำเนินการ!",
"Execute one task with each page loaded" : "ประมวลผลหนึ่งงาน ในแต่ละครั้งที่มีการโหลดหน้าเว็บ",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ได้ถูกลงทะเบียนที่บริการ Webcron เพื่อเรียก cron.php ทุกๆ 15 นาที บน Http",
- "Use system's cron service to call the cron.php file every 15 minutes." : "ใช้ระบบบริการ cron เพื่อเรียกไฟล์ cron.php ทุก 15 นาที",
"Version" : "รุ่น",
"Sharing" : "แชร์ข้อมูล",
"Allow apps to use the Share API" : "อนุญาตให้แอปฯสามารถใช้ API สำหรับแชร์ข้อมูลได้",
@@ -239,6 +234,11 @@ OC.L10N.register(
"Uninstall" : "ถอนการติดตั้ง",
"This is used for sending out notifications." : "นี้จะใช้สำหรับการส่งออกการแจ้งเตือน",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "โมดูล PHP 'fileinfo' หายไป เราขอแนะนำให้เปิดใช้งานโมดูลนี้เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดกับการตรวจสอบชนิด mime",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "การดำเนินการ cron job ล่าสุด: %s",
+ "Last cron job execution: %s. Something seems wrong." : "การดำเนินการ cron job ล่าสุด: %s ดูเหมือนมีบางสิ่งไม่ถูกต้อง",
+ "Cron was not executed yet!" : "Cron ไม่ได้ถูกดำเนินการ!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "ใช้ระบบบริการ cron เพื่อเรียกไฟล์ cron.php ทุก 15 นาที",
"Cheers!" : "ไชโย!",
"For password recovery and notifications" : "สำหรับการกู้คืนรหัสผ่านและการแจ้งเตือน",
"Show last log in" : "แสดงการเข้าสู่ระบบล่าสุด"
diff --git a/settings/l10n/th.json b/settings/l10n/th.json
index 9ed7658ad53..c79e99142ac 100644
--- a/settings/l10n/th.json
+++ b/settings/l10n/th.json
@@ -127,13 +127,8 @@
"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\")" : "หากการติดตั้งของคุณไม่ได้ติดตั้งในรากของโดเมนและใช้ระบบ cron อาจมีปัญหาเกี่ยวกับการสร้าง URL เพื่อหลีกเลี่ยงปัญหาเหล่านี้โปรดไปตั้งค่า \"overwrite.cli.url\" ในไฟล์ config.php ของคุณไปยังเส้นทาง webroot ของการติดตั้งของคุณ (แนะนำ: \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "มันเป็นไปไม่ได้ที่จะดำเนินการ cronjob ผ่านทาง CLI ข้อผิดพลาดทางเทคนิคต่อไปนี้จะปรากฏ:",
"All checks passed." : "ผ่านการตรวจสอบทั้งหมด",
- "Cron" : "Cron",
- "Last cron job execution: %s." : "การดำเนินการ cron job ล่าสุด: %s",
- "Last cron job execution: %s. Something seems wrong." : "การดำเนินการ cron job ล่าสุด: %s ดูเหมือนมีบางสิ่งไม่ถูกต้อง",
- "Cron was not executed yet!" : "Cron ไม่ได้ถูกดำเนินการ!",
"Execute one task with each page loaded" : "ประมวลผลหนึ่งงาน ในแต่ละครั้งที่มีการโหลดหน้าเว็บ",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ได้ถูกลงทะเบียนที่บริการ Webcron เพื่อเรียก cron.php ทุกๆ 15 นาที บน Http",
- "Use system's cron service to call the cron.php file every 15 minutes." : "ใช้ระบบบริการ cron เพื่อเรียกไฟล์ cron.php ทุก 15 นาที",
"Version" : "รุ่น",
"Sharing" : "แชร์ข้อมูล",
"Allow apps to use the Share API" : "อนุญาตให้แอปฯสามารถใช้ API สำหรับแชร์ข้อมูลได้",
@@ -237,6 +232,11 @@
"Uninstall" : "ถอนการติดตั้ง",
"This is used for sending out notifications." : "นี้จะใช้สำหรับการส่งออกการแจ้งเตือน",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "โมดูล PHP 'fileinfo' หายไป เราขอแนะนำให้เปิดใช้งานโมดูลนี้เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดกับการตรวจสอบชนิด mime",
+ "Cron" : "Cron",
+ "Last cron job execution: %s." : "การดำเนินการ cron job ล่าสุด: %s",
+ "Last cron job execution: %s. Something seems wrong." : "การดำเนินการ cron job ล่าสุด: %s ดูเหมือนมีบางสิ่งไม่ถูกต้อง",
+ "Cron was not executed yet!" : "Cron ไม่ได้ถูกดำเนินการ!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "ใช้ระบบบริการ cron เพื่อเรียกไฟล์ cron.php ทุก 15 นาที",
"Cheers!" : "ไชโย!",
"For password recovery and notifications" : "สำหรับการกู้คืนรหัสผ่านและการแจ้งเตือน",
"Show last log in" : "แสดงการเข้าสู่ระบบล่าสุด"
diff --git a/settings/l10n/tr.js b/settings/l10n/tr.js
index 5f5b77e3d7f..7a66e6a1747 100644
--- a/settings/l10n/tr.js
+++ b/settings/l10n/tr.js
@@ -12,13 +12,13 @@ OC.L10N.register(
"Enabled apps" : "Etkinleştirilmiş Uygulamalar",
"Disabled apps" : "Devre Dışı Uygulamalar",
"App bundles" : "Uygulama Paketleri",
- "Wrong password" : "Parola hatalı",
+ "Wrong password" : "Parola yanlış",
"Saved" : "Kaydedildi",
"No user supplied" : "Kullanıcı belirtilmemiş",
"Unable to change password" : "Parola değiştirilemedi",
- "Authentication error" : "Kimlik doğrulama hatası",
+ "Authentication error" : "Kimlik doğrulama sorunu",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Lütfen bir yönetici kurtarma parolası yazın, yoksa tüm kullanıcı verileri kaybolur",
- "Wrong admin recovery password. Please check the password and try again." : "Yönetici kurtarma parolası hatalı. Lütfen parolayı denetleyip yeniden deneyin.",
+ "Wrong admin recovery password. Please check the password and try again." : "Yönetici kurtarma parolası yanlış. Lütfen parolayı denetleyip yeniden deneyin.",
"Backend doesn't support password change, but the user's encryption key was updated." : "Yönetim bölümünden parola değişikliği yapılamaz, ancak kullanıcının şifreleme anahtarı güncellendi.",
"installing and updating apps via the app store or Federated Cloud Sharing" : "Uygulama mağazası ve Birleşmiş Bulut Paylaşımından uygulama kurma ve güncelleme",
"Federated Cloud Sharing" : "Birleşmiş Bulut Paylaşımı",
@@ -225,7 +225,7 @@ OC.L10N.register(
"Start migration" : "Aktarmayı başlat",
"Security & setup warnings" : "Güvenlik ve kurulum uyarıları",
"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." : "Kopyanızın güvenli ve yüksek başarımla çalışması için ayarların doğru yapılmış olması önemlidir. Bunu sağlamak için bazı otomatik denetimler yapılır. Ayrıntılı bilgi almak için İpuçları bölümüne ve belgelere bakın.",
- "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP sistem ortam değişkenlerini okuyamayacak şekilde hatalı olarak kurulmuş gibi görünüyor. getenv(\"PATH\") komutu ile yapılan sınama sonucunda boş bir cevap alındı.",
+ "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP yanlış kurulmuş ve sistem ortam değişkenlerini okuyamıyor gibi görünüyor. getenv(\"PATH\") komutu ile yapılan sınama sonucunda boş bir yanıt alındı.",
"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." : "Lütfen PHP yapılandırma notları ve özellikle php-fpm kullanırken sunucunuzdaki PHP yapılandırması için <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">kurulum belgelerine ↗</a> bakın.",
"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." : "Salt Okunur yapılandırma etkinleştirilmiş. Bu yapılandırma, bazı ayarların web arayüzünden yapılmasını önler. Ayrıca, bu dosyanın her güncelleme öncesinde el ile yazılabilir yapılması gerekir.",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP girintili doc bloklarını ayıklamak üzere yapılandırılmış gibi görünüyor. Bu durum bazı çekirdek uygulamalarına erişilmesini engelleyecek.",
@@ -241,14 +241,9 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Zamanlanmış görev CLI üzerinden çalıştırılamadı. Şu teknik sorunlar çıktı:",
"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>." : "Lütfen <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">kurulum rehberlerini↗</a> yeniden gözden geçirin ve <a href=\"%s\">günlük</a> kayıtlarındaki hata ve uyarılara bakın.",
"All checks passed." : "Tüm denetimlerden geçti.",
- "Cron" : "Zamanlanmış Görev",
- "Last cron job execution: %s." : "Zamanlanmış görevin son yürütülmesi: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Zamanlanmış görevin son yürütülmesi: %s. Bir şeyler yanlış görünüyor.",
- "Cron was not executed yet!" : "Zamanlanmış görev henüz yürütülmemiş!",
"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." : "En iyi başarım için art alan görevlerinin doğru şekilde ayarlanması önemlidir. Büyük kurulumlar için 'Cron' ayarı önerilir. Ayrıntılı bilgi almak için belgelere bakın.",
"Execute one task with each page loaded" : "Her sayfa yüklemesinde bir görev yürütülsün",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php, http üzerinden 15 dakikada bir yürütülmesi için webcron hizmetine kaydedildi.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Cron.php dosyasını 15 dakikada bir çağırmak için sistem cron hizmeti kullanılır.",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php dosyası \"%s\" sistem kullanıcısı tarafından yürütülmelidir.",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Bunu çalıştıraiblmek için PHP posix eklentisi gereklidir. Ayrıntılı bilgi almak için {linkstart}PHP belgelerine{linkend} bakın.",
"Version" : "Sürüm",
@@ -407,6 +402,11 @@ OC.L10N.register(
"Uninstall" : "Kaldır",
"This is used for sending out notifications." : "Bu özellik bildirimler gönderilirken kullanılır.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP 'fileinfo' modülü bulunamadı. MIME türü algılamasında en iyi sonuçları elde etmek için bu modülü etkinleştirmeniz önerilir.",
+ "Cron" : "Zamanlanmış Görev",
+ "Last cron job execution: %s." : "Zamanlanmış görevin son yürütülmesi: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Zamanlanmış görevin son yürütülmesi: %s. Bir şeyler yanlış görünüyor.",
+ "Cron was not executed yet!" : "Zamanlanmış görev henüz yürütülmemiş!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Cron.php dosyasını 15 dakikada bir çağırmak için sistem cron hizmeti kullanılır.",
"Uninstall app" : "Uygulamayı Kaldır",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Merhaba,<br><br>Artık bir %s hesabınızın olduğunu bildirmek istedik.<br><br>Kullanıcı adınız: %s<br>Şuradan erişebilirsiniz: <a href=\"%s\">%s</a><br><br>",
"Cheers!" : "Hoşçakalın!",
diff --git a/settings/l10n/tr.json b/settings/l10n/tr.json
index 7f685492663..3cd64b0ea03 100644
--- a/settings/l10n/tr.json
+++ b/settings/l10n/tr.json
@@ -10,13 +10,13 @@
"Enabled apps" : "Etkinleştirilmiş Uygulamalar",
"Disabled apps" : "Devre Dışı Uygulamalar",
"App bundles" : "Uygulama Paketleri",
- "Wrong password" : "Parola hatalı",
+ "Wrong password" : "Parola yanlış",
"Saved" : "Kaydedildi",
"No user supplied" : "Kullanıcı belirtilmemiş",
"Unable to change password" : "Parola değiştirilemedi",
- "Authentication error" : "Kimlik doğrulama hatası",
+ "Authentication error" : "Kimlik doğrulama sorunu",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Lütfen bir yönetici kurtarma parolası yazın, yoksa tüm kullanıcı verileri kaybolur",
- "Wrong admin recovery password. Please check the password and try again." : "Yönetici kurtarma parolası hatalı. Lütfen parolayı denetleyip yeniden deneyin.",
+ "Wrong admin recovery password. Please check the password and try again." : "Yönetici kurtarma parolası yanlış. Lütfen parolayı denetleyip yeniden deneyin.",
"Backend doesn't support password change, but the user's encryption key was updated." : "Yönetim bölümünden parola değişikliği yapılamaz, ancak kullanıcının şifreleme anahtarı güncellendi.",
"installing and updating apps via the app store or Federated Cloud Sharing" : "Uygulama mağazası ve Birleşmiş Bulut Paylaşımından uygulama kurma ve güncelleme",
"Federated Cloud Sharing" : "Birleşmiş Bulut Paylaşımı",
@@ -223,7 +223,7 @@
"Start migration" : "Aktarmayı başlat",
"Security & setup warnings" : "Güvenlik ve kurulum uyarıları",
"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." : "Kopyanızın güvenli ve yüksek başarımla çalışması için ayarların doğru yapılmış olması önemlidir. Bunu sağlamak için bazı otomatik denetimler yapılır. Ayrıntılı bilgi almak için İpuçları bölümüne ve belgelere bakın.",
- "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP sistem ortam değişkenlerini okuyamayacak şekilde hatalı olarak kurulmuş gibi görünüyor. getenv(\"PATH\") komutu ile yapılan sınama sonucunda boş bir cevap alındı.",
+ "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP yanlış kurulmuş ve sistem ortam değişkenlerini okuyamıyor gibi görünüyor. getenv(\"PATH\") komutu ile yapılan sınama sonucunda boş bir yanıt alındı.",
"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." : "Lütfen PHP yapılandırma notları ve özellikle php-fpm kullanırken sunucunuzdaki PHP yapılandırması için <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">kurulum belgelerine ↗</a> bakın.",
"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." : "Salt Okunur yapılandırma etkinleştirilmiş. Bu yapılandırma, bazı ayarların web arayüzünden yapılmasını önler. Ayrıca, bu dosyanın her güncelleme öncesinde el ile yazılabilir yapılması gerekir.",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP girintili doc bloklarını ayıklamak üzere yapılandırılmış gibi görünüyor. Bu durum bazı çekirdek uygulamalarına erişilmesini engelleyecek.",
@@ -239,14 +239,9 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Zamanlanmış görev CLI üzerinden çalıştırılamadı. Şu teknik sorunlar çıktı:",
"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>." : "Lütfen <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">kurulum rehberlerini↗</a> yeniden gözden geçirin ve <a href=\"%s\">günlük</a> kayıtlarındaki hata ve uyarılara bakın.",
"All checks passed." : "Tüm denetimlerden geçti.",
- "Cron" : "Zamanlanmış Görev",
- "Last cron job execution: %s." : "Zamanlanmış görevin son yürütülmesi: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Zamanlanmış görevin son yürütülmesi: %s. Bir şeyler yanlış görünüyor.",
- "Cron was not executed yet!" : "Zamanlanmış görev henüz yürütülmemiş!",
"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." : "En iyi başarım için art alan görevlerinin doğru şekilde ayarlanması önemlidir. Büyük kurulumlar için 'Cron' ayarı önerilir. Ayrıntılı bilgi almak için belgelere bakın.",
"Execute one task with each page loaded" : "Her sayfa yüklemesinde bir görev yürütülsün",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php, http üzerinden 15 dakikada bir yürütülmesi için webcron hizmetine kaydedildi.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Cron.php dosyasını 15 dakikada bir çağırmak için sistem cron hizmeti kullanılır.",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php dosyası \"%s\" sistem kullanıcısı tarafından yürütülmelidir.",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Bunu çalıştıraiblmek için PHP posix eklentisi gereklidir. Ayrıntılı bilgi almak için {linkstart}PHP belgelerine{linkend} bakın.",
"Version" : "Sürüm",
@@ -405,6 +400,11 @@
"Uninstall" : "Kaldır",
"This is used for sending out notifications." : "Bu özellik bildirimler gönderilirken kullanılır.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP 'fileinfo' modülü bulunamadı. MIME türü algılamasında en iyi sonuçları elde etmek için bu modülü etkinleştirmeniz önerilir.",
+ "Cron" : "Zamanlanmış Görev",
+ "Last cron job execution: %s." : "Zamanlanmış görevin son yürütülmesi: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Zamanlanmış görevin son yürütülmesi: %s. Bir şeyler yanlış görünüyor.",
+ "Cron was not executed yet!" : "Zamanlanmış görev henüz yürütülmemiş!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Cron.php dosyasını 15 dakikada bir çağırmak için sistem cron hizmeti kullanılır.",
"Uninstall app" : "Uygulamayı Kaldır",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Merhaba,<br><br>Artık bir %s hesabınızın olduğunu bildirmek istedik.<br><br>Kullanıcı adınız: %s<br>Şuradan erişebilirsiniz: <a href=\"%s\">%s</a><br><br>",
"Cheers!" : "Hoşçakalın!",
diff --git a/settings/l10n/uk.js b/settings/l10n/uk.js
index 5dd9cd466e9..6b17a90b4c7 100644
--- a/settings/l10n/uk.js
+++ b/settings/l10n/uk.js
@@ -111,13 +111,8 @@ OC.L10N.register(
"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\")" : "Якщо ваша копія ownCloud встановлена не в корені домену та використовує систему планування CRON, можливі проблеми з генерацією правильних URL. Щоб уникнути цього, встановіть опцію \"overwrite.cli.url\" файлу config.php відповідно до теки розташування установки (Ймовірніше за все, це \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Не вдалося запустити завдання планувальника через CLI. Відбулися наступні технічні помилки:",
"All checks passed." : "Всі перевірки пройдено.",
- "Cron" : "Планувальник Cron",
- "Last cron job execution: %s." : "Останнє виконане Cron завдання: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Останнє виконане Cron завдання: %s. Щось здається неправильним.",
- "Cron was not executed yet!" : "Cron-задачі ще не запускалися!",
"Execute one task with each page loaded" : "Виконати одне завдання для кожної завантаженої сторінки ",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php зареєстрований в службі webcron та буде викликатися кожні 15 хвилин через HTTP.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Використовувати системний cron для виклику cron.php кожні 15 хвилин.",
"Version" : "Версія",
"Sharing" : "Спільний доступ",
"Allow apps to use the Share API" : "Дозволити програмам використовувати API спільного доступу",
@@ -214,6 +209,11 @@ OC.L10N.register(
"Uninstall" : "Видалити",
"This is used for sending out notifications." : "Використовується для відсилання повідомлень.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP модуль 'fileinfo' відсутній. Ми наполегливо рекомендуємо увімкнути цей модуль, щоб отримати кращі результати при виявленні MIME-типів.",
+ "Cron" : "Планувальник Cron",
+ "Last cron job execution: %s." : "Останнє виконане Cron завдання: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Останнє виконане Cron завдання: %s. Щось здається неправильним.",
+ "Cron was not executed yet!" : "Cron-задачі ще не запускалися!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Використовувати системний cron для виклику cron.php кожні 15 хвилин.",
"Cheers!" : "Будьмо!",
"Show last log in" : "Показати останній вхід в систему"
},
diff --git a/settings/l10n/uk.json b/settings/l10n/uk.json
index 06b280c2aa2..3457ccfd493 100644
--- a/settings/l10n/uk.json
+++ b/settings/l10n/uk.json
@@ -109,13 +109,8 @@
"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\")" : "Якщо ваша копія ownCloud встановлена не в корені домену та використовує систему планування CRON, можливі проблеми з генерацією правильних URL. Щоб уникнути цього, встановіть опцію \"overwrite.cli.url\" файлу config.php відповідно до теки розташування установки (Ймовірніше за все, це \"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Не вдалося запустити завдання планувальника через CLI. Відбулися наступні технічні помилки:",
"All checks passed." : "Всі перевірки пройдено.",
- "Cron" : "Планувальник Cron",
- "Last cron job execution: %s." : "Останнє виконане Cron завдання: %s.",
- "Last cron job execution: %s. Something seems wrong." : "Останнє виконане Cron завдання: %s. Щось здається неправильним.",
- "Cron was not executed yet!" : "Cron-задачі ще не запускалися!",
"Execute one task with each page loaded" : "Виконати одне завдання для кожної завантаженої сторінки ",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php зареєстрований в службі webcron та буде викликатися кожні 15 хвилин через HTTP.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "Використовувати системний cron для виклику cron.php кожні 15 хвилин.",
"Version" : "Версія",
"Sharing" : "Спільний доступ",
"Allow apps to use the Share API" : "Дозволити програмам використовувати API спільного доступу",
@@ -212,6 +207,11 @@
"Uninstall" : "Видалити",
"This is used for sending out notifications." : "Використовується для відсилання повідомлень.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP модуль 'fileinfo' відсутній. Ми наполегливо рекомендуємо увімкнути цей модуль, щоб отримати кращі результати при виявленні MIME-типів.",
+ "Cron" : "Планувальник Cron",
+ "Last cron job execution: %s." : "Останнє виконане Cron завдання: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "Останнє виконане Cron завдання: %s. Щось здається неправильним.",
+ "Cron was not executed yet!" : "Cron-задачі ще не запускалися!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "Використовувати системний cron для виклику cron.php кожні 15 хвилин.",
"Cheers!" : "Будьмо!",
"Show last log in" : "Показати останній вхід в систему"
},"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/settings/l10n/vi.js b/settings/l10n/vi.js
index e81fc5a11c6..4316e42cd03 100644
--- a/settings/l10n/vi.js
+++ b/settings/l10n/vi.js
@@ -28,7 +28,6 @@ OC.L10N.register(
"Port" : "Cổng",
"Credentials" : "Giấy chứng nhận",
"Security & setup warnings" : "Bảo mật và thiết lập cảnh báo",
- "Cron" : "Cron",
"Execute one task with each page loaded" : "Thực thi tác vụ mỗi khi trang được tải",
"Version" : "Phiên bản",
"Sharing" : "Chia sẻ",
@@ -60,6 +59,7 @@ OC.L10N.register(
"Admins can't remove themself from the admin group" : "Quản trị viên không thể loại bỏ chính họ khỏi nhóm quản lý",
"Unable to add user to group %s" : "Không thể thêm người dùng vào nhóm %s",
"Unable to remove user from group %s" : "Không thể xóa người dùng từ nhóm %s",
+ "Cron" : "Cron",
"Cheers!" : "Chúc mừng!"
},
"nplurals=1; plural=0;");
diff --git a/settings/l10n/vi.json b/settings/l10n/vi.json
index 2d327500350..292164b2bb6 100644
--- a/settings/l10n/vi.json
+++ b/settings/l10n/vi.json
@@ -26,7 +26,6 @@
"Port" : "Cổng",
"Credentials" : "Giấy chứng nhận",
"Security & setup warnings" : "Bảo mật và thiết lập cảnh báo",
- "Cron" : "Cron",
"Execute one task with each page loaded" : "Thực thi tác vụ mỗi khi trang được tải",
"Version" : "Phiên bản",
"Sharing" : "Chia sẻ",
@@ -58,6 +57,7 @@
"Admins can't remove themself from the admin group" : "Quản trị viên không thể loại bỏ chính họ khỏi nhóm quản lý",
"Unable to add user to group %s" : "Không thể thêm người dùng vào nhóm %s",
"Unable to remove user from group %s" : "Không thể xóa người dùng từ nhóm %s",
+ "Cron" : "Cron",
"Cheers!" : "Chúc mừng!"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/settings/l10n/zh_CN.js b/settings/l10n/zh_CN.js
index fea05297a24..5e6639d6d52 100644
--- a/settings/l10n/zh_CN.js
+++ b/settings/l10n/zh_CN.js
@@ -1,6 +1,17 @@
OC.L10N.register(
"settings",
{
+ "{actor} changed your password" : "{actor} 已更改你的密码",
+ "You changed your password" : "你已更改你的密码",
+ "Your password was reset by an administrator" : "你的密码已被管理员重置",
+ "{actor} changed your email address" : "{actor} 已更改你的电子邮件地址",
+ "You changed your email address" : "你已更改你的电子邮件地址",
+ "Your email address was changed by an administrator" : "你的电子邮件地址已被管理员更改",
+ "Your <strong>password</strong> or <strong>email</strong> was modified" : "你的 <strong>密码</strong> 或 <strong>密码</strong> 已被更改",
+ "Your apps" : "你的应用",
+ "Enabled apps" : "启用应用",
+ "Disabled apps" : "禁用应用",
+ "App bundles" : "应用软件包",
"Wrong password" : "密码错误",
"Saved" : "已保存",
"No user supplied" : "没有满足的用户",
@@ -8,6 +19,7 @@ OC.L10N.register(
"Authentication error" : "认证错误",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "请提供管理员恢复密码, 否则所有用户的数据都将丢失.",
"Wrong admin recovery password. Please check the password and try again." : "错误的管理员恢复密码. 请检查密码并重试.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "后端不支持密码更改,但用户的加密密钥已更新。",
"installing and updating apps via the app store or Federated Cloud Sharing" : "通过应用程序商店或联合云共享安装和更新应用程序",
"Federated Cloud Sharing" : "联合云共享",
"cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL 当前使用的过时 %s 的版本 (%s). 请更新你的操作系统或组件, 例如 %s 将无法可靠地工作.",
@@ -16,6 +28,11 @@ OC.L10N.register(
"Group already exists." : "分组已经存在.",
"Unable to add group." : "无法添加分组.",
"Unable to delete group." : "无法删除分组.",
+ "Invalid SMTP password." : "无效的SMTP密码",
+ "Well done, %s!" : "已完成, %s!",
+ "If you received this email, the email configuration seems to be correct." : "如果你收到了这封邮件,电子邮件配置应该就是正确的。",
+ "Email setting test" : "电子邮件设置测试",
+ "Email could not be sent. Check your mail server log" : "邮件无法发送. 检查你的邮件服务器日志",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "在发送电子邮件时出现问题. 请修正您的设置. (错误: %s)",
"You need to set your user email before being able to send test emails." : "在发送测试邮件前您需要设置您的电子邮件地址.",
"Invalid request" : "无效请求",
@@ -25,6 +42,10 @@ OC.L10N.register(
"To send a password link to the user an email address is required." : "发送密码链接给用户需要一个电子邮箱地址.",
"Unable to create user." : "无法创建用户.",
"Unable to delete user." : "无法删除用户",
+ "Error while enabling user." : "启用用户是出错",
+ "Error while disabling user." : "禁用用户时出错",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "为了验证您的Twitter帐户,请在Twitter上发布以下推文(请确保发布没有任何换行符):",
+ "In order to verify your Website, store the following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "为了验证您的网站,请将以下内容存储在“.well-known / CloudIdVerificationCode.txt”的网络根目录中(请确保完整的文本在一行中):",
"Settings saved" : "设置已保存",
"Unable to change full name" : "无法修改全名",
"Unable to change email address" : "无法修改电子邮箱地址",
@@ -33,6 +54,25 @@ OC.L10N.register(
"Invalid user" : "无效用户",
"Unable to change mail address" : "无法修改电子邮箱地址",
"Email saved" : "电子邮件已保存",
+ "%1$s changed your password on %2$s." : "%1$s 在 %2$s.上已更改你的密码",
+ "Your password on %s was changed." : "你的密码在 %s 已被更改.",
+ "Your password on %s was reset by an administrator." : "你的密码在 %s 已被管理员重置",
+ "Password changed for %s" : "密码更改为%s",
+ "If you did not request this, please contact an administrator." : "如果您发出此项请求,请联系管理员。",
+ "Password for %1$s changed on %2$s" : "%1$s的密码更改为%2$s",
+ "%1$s changed your email address on %2$s." : "%1$s把你的邮箱地址更改成%2$s",
+ "Your email address on %s was changed." : "你在%s上的电子邮件地址已更改",
+ "Your email address on %s was changed by an administrator." : "你在%s上的电子邮件地址已被管理员修改",
+ "Email address changed for %s" : "邮箱地址更改为%s",
+ "The new email address is %s" : "新的电子邮件地址是%s",
+ "Email address for %1$s changed on %2$s" : "%1$s的邮箱地址更改为%2$s",
+ "Welcome aboard" : "欢迎登陆",
+ "Welcome aboard %s" : "欢迎登陆 %s",
+ "You have now an %s account, you can add, protect, and share your data." : "你现在有%s个账户,你可以添加,保护和分享你的数据。",
+ "Your username is: %s" : "你的用户名是: %s",
+ "Set your password" : "设置你的密码",
+ "Go to %s" : "到 %s",
+ "Install Client" : "安装客户端",
"Your %s account was created" : "你的帐户 %s 已创建",
"Password confirmation is required" : "需要密码确认",
"Couldn't remove app." : "无法删除应用.",
@@ -42,6 +82,7 @@ OC.L10N.register(
"Migration in progress. Please wait until the migration is finished" : "正在进行迁移. 请稍等, 直到迁移完成",
"Migration started …" : "迁移开始...",
"Not saved" : "未保存",
+ "Sending…" : "正在发送…",
"Email sent" : "邮件已发送",
"Official" : "官方",
"All" : "全部",
@@ -64,11 +105,15 @@ OC.L10N.register(
"Updating...." : "正在更新....",
"Error while updating app" : "更新应用时出错",
"Updated" : "已更新",
+ "Removing …" : "正在移除...",
+ "Error while removing app" : "移除应用时出错",
+ "Remove" : "移除",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "该应用已启用, 但是需要更新. 5秒后将跳转到更新页面.",
"App update" : "更新应用",
"Approved" : "已认证",
"Experimental" : "实验",
"No apps found for {query}" : "找不到符合 {query} 的应用",
+ "Enable all" : "启用所有",
"Allow filesystem access" : "允许访问文件系统",
"Disconnect" : "断开连接",
"Revoke" : "撤销",
@@ -103,6 +148,8 @@ OC.L10N.register(
"Visible to local users and to trusted servers" : "仅对本地用户和信任的服务器可见",
"Public" : "公开",
"Will be synced to a global and public address book" : "将同步到全局和公开地址簿中",
+ "Verify" : "验证",
+ "Verifying …" : "正在验证...",
"Select a profile picture" : "选择头像",
"Very weak password" : "非常弱的密码",
"Weak password" : "弱密码",
@@ -126,12 +173,14 @@ OC.L10N.register(
"Password successfully changed" : "密码修改成功",
"Changing the password will result in data loss, because data recovery is not available for this user" : "修改密码会导致数据丢失, 因为数据恢复不适用于此用户",
"Could not change the users email" : "无法修改用户电子邮箱地址",
+ "Error while changing status of {user}" : "修改 {user} 状态时发生错误",
"A valid username must be provided" : "必须提供合法的用户名",
"Error creating user: {message}" : "创建用户出错: {message}",
"A valid password must be provided" : "必须提供合法的密码",
"A valid email must be provided" : "必须提供合法的用户名",
"__language_name__" : "简体中文",
"Unlimited" : "无限",
+ "Verifying" : "正在验证",
"Personal info" : "个人信息",
"Sessions" : "会话",
"App passwords" : "应用密码",
@@ -144,6 +193,7 @@ OC.L10N.register(
"STARTTLS" : "STARTTLS",
"Email server" : "电子邮件服务器",
"Open documentation" : "打开文档",
+ "It is important to set up this server to be able to send emails, like for password reset and notifications." : "设置此服务器以能够发送电子邮件(例如密码重置和通知)非常重要。",
"Send mode" : "发送模式",
"Encryption" : "加密",
"From address" : "来自地址",
@@ -159,6 +209,7 @@ OC.L10N.register(
"Test email settings" : "测试电子邮件设置",
"Send email" : "发送邮件",
"Server-side encryption" : "服务器端加密",
+ "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "服务器端加密可以加密上传到此服务器的文件。 这带来了诸如性能损失的限制,因此仅在需要时启用此功能。",
"Enable server-side encryption" : "启用服务器端加密",
"Please read carefully before activating server-side encryption: " : "在激活服务器端加密之前, 请仔细阅读:",
"Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "一旦加密被启用, 之后上传到服务器的所有文件都将服务器上加密. 只有当启用状态的加密模块支持解密并且所有前提都满足时 (例如: 设定恢复密钥) 才能解除加密.",
@@ -173,6 +224,7 @@ OC.L10N.register(
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "您需要从旧版本 (ownCloud<=8.0) 迁移您的加密密钥.",
"Start migration" : "开始迁移",
"Security & setup warnings" : "安全及设置警告",
+ "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." : "对您的服务器的安全性和性能来说,一切都配置正确很重要。 为了帮助您,我们正在做一些自动检查。 有关详细信息,请参阅提示和窍门部分和文档。",
"php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP 的设置似乎有问题, 无法获取系统环境变量. 使用 getenv(\\\"PATH\\\") 测试时仅返回空结果.",
"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." : "请检查 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">安装文档 ↗</a> 中关于 PHP 配置的说明并在您的服务器中进行配置, 尤其是使用 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." : "已启用只读配置. 这将阻止在 Web 界面中进行设置. 此外, 每次更新后该文件需要手动设置为可写入.",
@@ -180,6 +232,7 @@ OC.L10N.register(
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "这可能是由缓存/加速器造成的, 例如 Zend OPcache 或 eAccelerator.",
"Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "您的数据库不能在 \"READ COMMITTED\" 事务隔离级别运行. 这样可能导致在多个并行操作时出现问题.",
"%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "已安装 %1$s 的低版本 %2$s. 出于稳定性和性能的原因, 我们建议您升级到更新的 %1$s 版本.",
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP 模块 'fileinfo' 缺失. 我们强烈建议启用此模块以便在 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." : "事务文件锁被禁用, 这可能导致竞争条件的问题. 在 config.php 中启用 'filelocking.enabled' 选项来避免这些问题. 请参考 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">文档↗</a> 获取更多信息.",
"System locale can not be set to a one which supports UTF-8." : "系统区域无法设置为支持 UTF-8 的区域.",
"This means that there might be problems with certain characters in file names." : "这意味着当文件名中包含特定字符时可能出现问题.",
@@ -188,20 +241,18 @@ OC.L10N.register(
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "由于下列的技术错误, 无法通过 CLI 执行计划任务:",
"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>." : "请再次检查 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">安装指南 ↗</a>, 并检查 <a href=\"%s\">日志</a> 中的任何错误或警告.",
"All checks passed." : "所有检查已通过.",
- "Cron" : "计划任务",
- "Last cron job execution: %s." : "上次定时任务执行于: %s.",
- "Last cron job execution: %s. Something seems wrong." : "上次定时任务执行于: %s. 但存在一些问题.",
- "Cron was not executed yet!" : "定时任务还未被执行!",
+ "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." : "为了获得最佳性能,正确配置后台工作非常重要。 对于较大的服务器,“Cron”是推荐的设置。 有关详细信息,请参阅文档。",
"Execute one task with each page loaded" : "每个页面加载后执行一个任务",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php 注册到 webcron 服务上, 通过 http 每 15 分钟执行 cron.php.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "使用系统 cron 服务每 15 分钟执行一次 cron.php 文件.",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php 需要被系统用户 \"%s\" 执行.",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "为了运行该功能, 您需要 PHP posix 扩展. 请参考 {linkstart}PHP 文档{linkend} 获取更多信息.",
"Version" : "版本",
"Sharing" : "共享",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "作为管理员,您可以调整共享行为。 有关详细信息,请参阅文档。",
"Allow apps to use the Share API" : "允许应用使用共享 API",
"Allow users to share via link" : "允许用户通过链接分享文件",
"Allow public uploads" : "允许公开上传",
+ "Always ask for a password" : "一直要求输入密码",
"Enforce password protection" : "强制密码保护",
"Set default expiration date" : "设置默认过期日期",
"Expire after " : "过期于",
@@ -216,6 +267,7 @@ OC.L10N.register(
"Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "在公开链接上传页中显示免责声明. (仅当文件列表隐藏时显示)",
"This text will be shown on the public link upload page when the file list is hidden." : "这些内容将在公开链接上传页中当文件列表隐藏时显示.",
"Tips & tricks" : "小提示",
+ "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "有很多功能和配置可用于更好地自定义和使用此实例。以下是更多相关信息的指南。",
"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\" href=\"%s\">documentation ↗</a>." : "合并其他数据库可以使用命令行工具: 'occ db:convert-type', 或查看 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">文档 ↗</a>.",
@@ -227,6 +279,8 @@ OC.L10N.register(
"Check the security of your Nextcloud over our security scan" : "通过我们的安全扫描来检查Nextcloud的安全性",
"Hardening and security guidance" : "强化和安全指南",
"Developer documentation" : "开发者文档",
+ "View in store" : "在商店中查看",
+ "Limit to groups" : "限制于组",
"This app has an update available." : "此应用有可用的更新.",
"by %s" : "由 %s",
"%s-licensed" : "%s-许可协议",
@@ -273,7 +327,10 @@ OC.L10N.register(
"Address" : "地址",
"Your postal address" : "您的邮寄地址",
"Website" : "网站",
+ "It can take up to 24 hours before the account is displayed as verified." : "在帐户显示为验证之前最多可能需要24小时。",
+ "Link https://…" : "链接 https://…",
"Twitter" : "Twitter",
+ "Twitter handle @…" : "@…",
"You are member of the following groups:" : "您是以下组的成员:",
"Password" : "密码",
"Current password" : "当前密码",
@@ -290,6 +347,7 @@ OC.L10N.register(
"Web, desktop and mobile clients currently logged in to your account." : "您账号当前登录的 Web 页面, 桌面和客户端客户端.",
"Device" : "设备",
"Last activity" : "最后活跃",
+ "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "您可以为应用程序生成独立密码,因此您不必输入您的密码。 您也可以单独撤销这些独立密码。",
"Name" : "名称",
"App name" : "应用名",
"Create new app password" : "创建新应用密码",
@@ -298,12 +356,18 @@ OC.L10N.register(
"Username" : "用户名",
"Done" : "完成",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "由 {communityopen}Nextcloud community{linkclose} 开发, {githubopen}源代码{linkclose} 基于 {licenseopen}AGPL{linkclose} 许可协议.",
+ "Follow us on Google+!" : "在 Google+ 上关注我们!",
"Like our facebook page!" : "点赞我们 facebook 页面!",
+ "Follow us on Twitter!" : "在 Twitter 上关注我们!",
+ "Check out our blog!" : "浏览我们的博客!",
"Subscribe to our newsletter!" : "订阅我们的最新消息!",
+ "Settings" : "设置",
"Show storage location" : "显示存储位置",
"Show user backend" : "显示用户来源",
+ "Show last login" : "显示最后登录",
"Show email address" : "显示邮件地址",
"Send email to new user" : "发送电子邮件给新用户",
+ "When the password of a new user is left empty, an activation email with a link to set the password is sent." : "当新用户密码为空时, 一个需要设置密码的激活邮件将会发送给用户.",
"E-Mail" : "E-Mail",
"Create" : "创建",
"Admin Recovery Password" : "管理恢复密码",
@@ -311,6 +375,7 @@ OC.L10N.register(
"Group name" : "分组名",
"Everyone" : "所有人",
"Admins" : "管理员",
+ "Disabled" : "禁用",
"Default quota" : "默认配额",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "请输入存储配额 (例如: \"512 MB\" 或 \"12 GB\")",
"Other" : "其它",
@@ -337,6 +402,11 @@ OC.L10N.register(
"Uninstall" : "卸载",
"This is used for sending out notifications." : "这被用于发送通知.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP 模块 'fileinfo' 缺失. 我们强烈建议启用此模块以便在 MIME 类型检测时获得最准确的结果.",
+ "Cron" : "计划任务",
+ "Last cron job execution: %s." : "上次定时任务执行于: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "上次定时任务执行于: %s. 但存在一些问题.",
+ "Cron was not executed yet!" : "定时任务还未被执行!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "使用系统 cron 服务每 15 分钟执行一次 cron.php 文件.",
"Uninstall app" : "卸载应用",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "您好,<br><br>您刚刚创建了 %s 账户<br><br>您的用户名: <strong>%s</strong><br>现在访问: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "干杯!",
diff --git a/settings/l10n/zh_CN.json b/settings/l10n/zh_CN.json
index 2f800e744b4..41624566af8 100644
--- a/settings/l10n/zh_CN.json
+++ b/settings/l10n/zh_CN.json
@@ -1,4 +1,15 @@
{ "translations": {
+ "{actor} changed your password" : "{actor} 已更改你的密码",
+ "You changed your password" : "你已更改你的密码",
+ "Your password was reset by an administrator" : "你的密码已被管理员重置",
+ "{actor} changed your email address" : "{actor} 已更改你的电子邮件地址",
+ "You changed your email address" : "你已更改你的电子邮件地址",
+ "Your email address was changed by an administrator" : "你的电子邮件地址已被管理员更改",
+ "Your <strong>password</strong> or <strong>email</strong> was modified" : "你的 <strong>密码</strong> 或 <strong>密码</strong> 已被更改",
+ "Your apps" : "你的应用",
+ "Enabled apps" : "启用应用",
+ "Disabled apps" : "禁用应用",
+ "App bundles" : "应用软件包",
"Wrong password" : "密码错误",
"Saved" : "已保存",
"No user supplied" : "没有满足的用户",
@@ -6,6 +17,7 @@
"Authentication error" : "认证错误",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "请提供管理员恢复密码, 否则所有用户的数据都将丢失.",
"Wrong admin recovery password. Please check the password and try again." : "错误的管理员恢复密码. 请检查密码并重试.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "后端不支持密码更改,但用户的加密密钥已更新。",
"installing and updating apps via the app store or Federated Cloud Sharing" : "通过应用程序商店或联合云共享安装和更新应用程序",
"Federated Cloud Sharing" : "联合云共享",
"cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL 当前使用的过时 %s 的版本 (%s). 请更新你的操作系统或组件, 例如 %s 将无法可靠地工作.",
@@ -14,6 +26,11 @@
"Group already exists." : "分组已经存在.",
"Unable to add group." : "无法添加分组.",
"Unable to delete group." : "无法删除分组.",
+ "Invalid SMTP password." : "无效的SMTP密码",
+ "Well done, %s!" : "已完成, %s!",
+ "If you received this email, the email configuration seems to be correct." : "如果你收到了这封邮件,电子邮件配置应该就是正确的。",
+ "Email setting test" : "电子邮件设置测试",
+ "Email could not be sent. Check your mail server log" : "邮件无法发送. 检查你的邮件服务器日志",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "在发送电子邮件时出现问题. 请修正您的设置. (错误: %s)",
"You need to set your user email before being able to send test emails." : "在发送测试邮件前您需要设置您的电子邮件地址.",
"Invalid request" : "无效请求",
@@ -23,6 +40,10 @@
"To send a password link to the user an email address is required." : "发送密码链接给用户需要一个电子邮箱地址.",
"Unable to create user." : "无法创建用户.",
"Unable to delete user." : "无法删除用户",
+ "Error while enabling user." : "启用用户是出错",
+ "Error while disabling user." : "禁用用户时出错",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "为了验证您的Twitter帐户,请在Twitter上发布以下推文(请确保发布没有任何换行符):",
+ "In order to verify your Website, store the following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "为了验证您的网站,请将以下内容存储在“.well-known / CloudIdVerificationCode.txt”的网络根目录中(请确保完整的文本在一行中):",
"Settings saved" : "设置已保存",
"Unable to change full name" : "无法修改全名",
"Unable to change email address" : "无法修改电子邮箱地址",
@@ -31,6 +52,25 @@
"Invalid user" : "无效用户",
"Unable to change mail address" : "无法修改电子邮箱地址",
"Email saved" : "电子邮件已保存",
+ "%1$s changed your password on %2$s." : "%1$s 在 %2$s.上已更改你的密码",
+ "Your password on %s was changed." : "你的密码在 %s 已被更改.",
+ "Your password on %s was reset by an administrator." : "你的密码在 %s 已被管理员重置",
+ "Password changed for %s" : "密码更改为%s",
+ "If you did not request this, please contact an administrator." : "如果您发出此项请求,请联系管理员。",
+ "Password for %1$s changed on %2$s" : "%1$s的密码更改为%2$s",
+ "%1$s changed your email address on %2$s." : "%1$s把你的邮箱地址更改成%2$s",
+ "Your email address on %s was changed." : "你在%s上的电子邮件地址已更改",
+ "Your email address on %s was changed by an administrator." : "你在%s上的电子邮件地址已被管理员修改",
+ "Email address changed for %s" : "邮箱地址更改为%s",
+ "The new email address is %s" : "新的电子邮件地址是%s",
+ "Email address for %1$s changed on %2$s" : "%1$s的邮箱地址更改为%2$s",
+ "Welcome aboard" : "欢迎登陆",
+ "Welcome aboard %s" : "欢迎登陆 %s",
+ "You have now an %s account, you can add, protect, and share your data." : "你现在有%s个账户,你可以添加,保护和分享你的数据。",
+ "Your username is: %s" : "你的用户名是: %s",
+ "Set your password" : "设置你的密码",
+ "Go to %s" : "到 %s",
+ "Install Client" : "安装客户端",
"Your %s account was created" : "你的帐户 %s 已创建",
"Password confirmation is required" : "需要密码确认",
"Couldn't remove app." : "无法删除应用.",
@@ -40,6 +80,7 @@
"Migration in progress. Please wait until the migration is finished" : "正在进行迁移. 请稍等, 直到迁移完成",
"Migration started …" : "迁移开始...",
"Not saved" : "未保存",
+ "Sending…" : "正在发送…",
"Email sent" : "邮件已发送",
"Official" : "官方",
"All" : "全部",
@@ -62,11 +103,15 @@
"Updating...." : "正在更新....",
"Error while updating app" : "更新应用时出错",
"Updated" : "已更新",
+ "Removing …" : "正在移除...",
+ "Error while removing app" : "移除应用时出错",
+ "Remove" : "移除",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "该应用已启用, 但是需要更新. 5秒后将跳转到更新页面.",
"App update" : "更新应用",
"Approved" : "已认证",
"Experimental" : "实验",
"No apps found for {query}" : "找不到符合 {query} 的应用",
+ "Enable all" : "启用所有",
"Allow filesystem access" : "允许访问文件系统",
"Disconnect" : "断开连接",
"Revoke" : "撤销",
@@ -101,6 +146,8 @@
"Visible to local users and to trusted servers" : "仅对本地用户和信任的服务器可见",
"Public" : "公开",
"Will be synced to a global and public address book" : "将同步到全局和公开地址簿中",
+ "Verify" : "验证",
+ "Verifying …" : "正在验证...",
"Select a profile picture" : "选择头像",
"Very weak password" : "非常弱的密码",
"Weak password" : "弱密码",
@@ -124,12 +171,14 @@
"Password successfully changed" : "密码修改成功",
"Changing the password will result in data loss, because data recovery is not available for this user" : "修改密码会导致数据丢失, 因为数据恢复不适用于此用户",
"Could not change the users email" : "无法修改用户电子邮箱地址",
+ "Error while changing status of {user}" : "修改 {user} 状态时发生错误",
"A valid username must be provided" : "必须提供合法的用户名",
"Error creating user: {message}" : "创建用户出错: {message}",
"A valid password must be provided" : "必须提供合法的密码",
"A valid email must be provided" : "必须提供合法的用户名",
"__language_name__" : "简体中文",
"Unlimited" : "无限",
+ "Verifying" : "正在验证",
"Personal info" : "个人信息",
"Sessions" : "会话",
"App passwords" : "应用密码",
@@ -142,6 +191,7 @@
"STARTTLS" : "STARTTLS",
"Email server" : "电子邮件服务器",
"Open documentation" : "打开文档",
+ "It is important to set up this server to be able to send emails, like for password reset and notifications." : "设置此服务器以能够发送电子邮件(例如密码重置和通知)非常重要。",
"Send mode" : "发送模式",
"Encryption" : "加密",
"From address" : "来自地址",
@@ -157,6 +207,7 @@
"Test email settings" : "测试电子邮件设置",
"Send email" : "发送邮件",
"Server-side encryption" : "服务器端加密",
+ "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "服务器端加密可以加密上传到此服务器的文件。 这带来了诸如性能损失的限制,因此仅在需要时启用此功能。",
"Enable server-side encryption" : "启用服务器端加密",
"Please read carefully before activating server-side encryption: " : "在激活服务器端加密之前, 请仔细阅读:",
"Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "一旦加密被启用, 之后上传到服务器的所有文件都将服务器上加密. 只有当启用状态的加密模块支持解密并且所有前提都满足时 (例如: 设定恢复密钥) 才能解除加密.",
@@ -171,6 +222,7 @@
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "您需要从旧版本 (ownCloud<=8.0) 迁移您的加密密钥.",
"Start migration" : "开始迁移",
"Security & setup warnings" : "安全及设置警告",
+ "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." : "对您的服务器的安全性和性能来说,一切都配置正确很重要。 为了帮助您,我们正在做一些自动检查。 有关详细信息,请参阅提示和窍门部分和文档。",
"php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP 的设置似乎有问题, 无法获取系统环境变量. 使用 getenv(\\\"PATH\\\") 测试时仅返回空结果.",
"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." : "请检查 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">安装文档 ↗</a> 中关于 PHP 配置的说明并在您的服务器中进行配置, 尤其是使用 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." : "已启用只读配置. 这将阻止在 Web 界面中进行设置. 此外, 每次更新后该文件需要手动设置为可写入.",
@@ -178,6 +230,7 @@
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "这可能是由缓存/加速器造成的, 例如 Zend OPcache 或 eAccelerator.",
"Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "您的数据库不能在 \"READ COMMITTED\" 事务隔离级别运行. 这样可能导致在多个并行操作时出现问题.",
"%1$s below version %2$s is installed, for stability and performance reasons we recommend updating to a newer %1$s version." : "已安装 %1$s 的低版本 %2$s. 出于稳定性和性能的原因, 我们建议您升级到更新的 %1$s 版本.",
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "PHP 模块 'fileinfo' 缺失. 我们强烈建议启用此模块以便在 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." : "事务文件锁被禁用, 这可能导致竞争条件的问题. 在 config.php 中启用 'filelocking.enabled' 选项来避免这些问题. 请参考 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">文档↗</a> 获取更多信息.",
"System locale can not be set to a one which supports UTF-8." : "系统区域无法设置为支持 UTF-8 的区域.",
"This means that there might be problems with certain characters in file names." : "这意味着当文件名中包含特定字符时可能出现问题.",
@@ -186,20 +239,18 @@
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "由于下列的技术错误, 无法通过 CLI 执行计划任务:",
"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>." : "请再次检查 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">安装指南 ↗</a>, 并检查 <a href=\"%s\">日志</a> 中的任何错误或警告.",
"All checks passed." : "所有检查已通过.",
- "Cron" : "计划任务",
- "Last cron job execution: %s." : "上次定时任务执行于: %s.",
- "Last cron job execution: %s. Something seems wrong." : "上次定时任务执行于: %s. 但存在一些问题.",
- "Cron was not executed yet!" : "定时任务还未被执行!",
+ "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." : "为了获得最佳性能,正确配置后台工作非常重要。 对于较大的服务器,“Cron”是推荐的设置。 有关详细信息,请参阅文档。",
"Execute one task with each page loaded" : "每个页面加载后执行一个任务",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php 注册到 webcron 服务上, 通过 http 每 15 分钟执行 cron.php.",
- "Use system's cron service to call the cron.php file every 15 minutes." : "使用系统 cron 服务每 15 分钟执行一次 cron.php 文件.",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php 需要被系统用户 \"%s\" 执行.",
"To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "为了运行该功能, 您需要 PHP posix 扩展. 请参考 {linkstart}PHP 文档{linkend} 获取更多信息.",
"Version" : "版本",
"Sharing" : "共享",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "作为管理员,您可以调整共享行为。 有关详细信息,请参阅文档。",
"Allow apps to use the Share API" : "允许应用使用共享 API",
"Allow users to share via link" : "允许用户通过链接分享文件",
"Allow public uploads" : "允许公开上传",
+ "Always ask for a password" : "一直要求输入密码",
"Enforce password protection" : "强制密码保护",
"Set default expiration date" : "设置默认过期日期",
"Expire after " : "过期于",
@@ -214,6 +265,7 @@
"Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "在公开链接上传页中显示免责声明. (仅当文件列表隐藏时显示)",
"This text will be shown on the public link upload page when the file list is hidden." : "这些内容将在公开链接上传页中当文件列表隐藏时显示.",
"Tips & tricks" : "小提示",
+ "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "有很多功能和配置可用于更好地自定义和使用此实例。以下是更多相关信息的指南。",
"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\" href=\"%s\">documentation ↗</a>." : "合并其他数据库可以使用命令行工具: 'occ db:convert-type', 或查看 <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">文档 ↗</a>.",
@@ -225,6 +277,8 @@
"Check the security of your Nextcloud over our security scan" : "通过我们的安全扫描来检查Nextcloud的安全性",
"Hardening and security guidance" : "强化和安全指南",
"Developer documentation" : "开发者文档",
+ "View in store" : "在商店中查看",
+ "Limit to groups" : "限制于组",
"This app has an update available." : "此应用有可用的更新.",
"by %s" : "由 %s",
"%s-licensed" : "%s-许可协议",
@@ -271,7 +325,10 @@
"Address" : "地址",
"Your postal address" : "您的邮寄地址",
"Website" : "网站",
+ "It can take up to 24 hours before the account is displayed as verified." : "在帐户显示为验证之前最多可能需要24小时。",
+ "Link https://…" : "链接 https://…",
"Twitter" : "Twitter",
+ "Twitter handle @…" : "@…",
"You are member of the following groups:" : "您是以下组的成员:",
"Password" : "密码",
"Current password" : "当前密码",
@@ -288,6 +345,7 @@
"Web, desktop and mobile clients currently logged in to your account." : "您账号当前登录的 Web 页面, 桌面和客户端客户端.",
"Device" : "设备",
"Last activity" : "最后活跃",
+ "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "您可以为应用程序生成独立密码,因此您不必输入您的密码。 您也可以单独撤销这些独立密码。",
"Name" : "名称",
"App name" : "应用名",
"Create new app password" : "创建新应用密码",
@@ -296,12 +354,18 @@
"Username" : "用户名",
"Done" : "完成",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "由 {communityopen}Nextcloud community{linkclose} 开发, {githubopen}源代码{linkclose} 基于 {licenseopen}AGPL{linkclose} 许可协议.",
+ "Follow us on Google+!" : "在 Google+ 上关注我们!",
"Like our facebook page!" : "点赞我们 facebook 页面!",
+ "Follow us on Twitter!" : "在 Twitter 上关注我们!",
+ "Check out our blog!" : "浏览我们的博客!",
"Subscribe to our newsletter!" : "订阅我们的最新消息!",
+ "Settings" : "设置",
"Show storage location" : "显示存储位置",
"Show user backend" : "显示用户来源",
+ "Show last login" : "显示最后登录",
"Show email address" : "显示邮件地址",
"Send email to new user" : "发送电子邮件给新用户",
+ "When the password of a new user is left empty, an activation email with a link to set the password is sent." : "当新用户密码为空时, 一个需要设置密码的激活邮件将会发送给用户.",
"E-Mail" : "E-Mail",
"Create" : "创建",
"Admin Recovery Password" : "管理恢复密码",
@@ -309,6 +373,7 @@
"Group name" : "分组名",
"Everyone" : "所有人",
"Admins" : "管理员",
+ "Disabled" : "禁用",
"Default quota" : "默认配额",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "请输入存储配额 (例如: \"512 MB\" 或 \"12 GB\")",
"Other" : "其它",
@@ -335,6 +400,11 @@
"Uninstall" : "卸载",
"This is used for sending out notifications." : "这被用于发送通知.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP 模块 'fileinfo' 缺失. 我们强烈建议启用此模块以便在 MIME 类型检测时获得最准确的结果.",
+ "Cron" : "计划任务",
+ "Last cron job execution: %s." : "上次定时任务执行于: %s.",
+ "Last cron job execution: %s. Something seems wrong." : "上次定时任务执行于: %s. 但存在一些问题.",
+ "Cron was not executed yet!" : "定时任务还未被执行!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "使用系统 cron 服务每 15 分钟执行一次 cron.php 文件.",
"Uninstall app" : "卸载应用",
"Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "您好,<br><br>您刚刚创建了 %s 账户<br><br>您的用户名: <strong>%s</strong><br>现在访问: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "干杯!",
diff --git a/settings/l10n/zh_TW.js b/settings/l10n/zh_TW.js
index ab1c29019ff..64814318be9 100644
--- a/settings/l10n/zh_TW.js
+++ b/settings/l10n/zh_TW.js
@@ -139,13 +139,8 @@ OC.L10N.register(
"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\")" : "如果您的安裝不在網域的最上層,並且使用 cron 作為排程器,URL 的生成可能會有問題,為了避免這樣的狀況,請您在 config.php 檔案裡設定 overwrite.cli.url 為您安裝的 webroot 路徑(建議值:\"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : " 無法透過 CLI 來執行排程工作,發生以下技術性錯誤:",
"All checks passed." : "所有檢查正常",
- "Cron" : "工作排程",
- "Last cron job execution: %s." : "最近一次執行的排程工作:%s",
- "Last cron job execution: %s. Something seems wrong." : "最近一次執行的排程工作:%s ,看起來發生了一些錯誤",
- "Cron was not executed yet!" : "Cron 沒有執行!",
"Execute one task with each page loaded" : "每個頁面載入時執行",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "已經與 webcron 服務註冊好,將會每 15 分鐘透過 HTTP 呼叫 cron.php",
- "Use system's cron service to call the cron.php file every 15 minutes." : "使用系統的 cron 服務每 15 分鐘呼叫 cron.php 一次",
"Version" : "版本",
"Sharing" : "分享",
"Allow apps to use the Share API" : "允許 apps 使用分享 API",
@@ -248,6 +243,11 @@ OC.L10N.register(
"Uninstall" : "解除安裝",
"This is used for sending out notifications." : "用於寄送通知",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "未偵測到 PHP 模組 'fileinfo'。我們強烈建議啟用這個模組以取得最好的 mime-type 支援。",
+ "Cron" : "工作排程",
+ "Last cron job execution: %s." : "最近一次執行的排程工作:%s",
+ "Last cron job execution: %s. Something seems wrong." : "最近一次執行的排程工作:%s ,看起來發生了一些錯誤",
+ "Cron was not executed yet!" : "Cron 沒有執行!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "使用系統的 cron 服務每 15 分鐘呼叫 cron.php 一次",
"Cheers!" : "太棒了!",
"For password recovery and notifications" : "用於密碼重設和通知",
"Show last log in" : "顯示最近登入"
diff --git a/settings/l10n/zh_TW.json b/settings/l10n/zh_TW.json
index 9eeeb4eb326..101a36ea069 100644
--- a/settings/l10n/zh_TW.json
+++ b/settings/l10n/zh_TW.json
@@ -137,13 +137,8 @@
"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\")" : "如果您的安裝不在網域的最上層,並且使用 cron 作為排程器,URL 的生成可能會有問題,為了避免這樣的狀況,請您在 config.php 檔案裡設定 overwrite.cli.url 為您安裝的 webroot 路徑(建議值:\"%s\")",
"It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : " 無法透過 CLI 來執行排程工作,發生以下技術性錯誤:",
"All checks passed." : "所有檢查正常",
- "Cron" : "工作排程",
- "Last cron job execution: %s." : "最近一次執行的排程工作:%s",
- "Last cron job execution: %s. Something seems wrong." : "最近一次執行的排程工作:%s ,看起來發生了一些錯誤",
- "Cron was not executed yet!" : "Cron 沒有執行!",
"Execute one task with each page loaded" : "每個頁面載入時執行",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "已經與 webcron 服務註冊好,將會每 15 分鐘透過 HTTP 呼叫 cron.php",
- "Use system's cron service to call the cron.php file every 15 minutes." : "使用系統的 cron 服務每 15 分鐘呼叫 cron.php 一次",
"Version" : "版本",
"Sharing" : "分享",
"Allow apps to use the Share API" : "允許 apps 使用分享 API",
@@ -246,6 +241,11 @@
"Uninstall" : "解除安裝",
"This is used for sending out notifications." : "用於寄送通知",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "未偵測到 PHP 模組 'fileinfo'。我們強烈建議啟用這個模組以取得最好的 mime-type 支援。",
+ "Cron" : "工作排程",
+ "Last cron job execution: %s." : "最近一次執行的排程工作:%s",
+ "Last cron job execution: %s. Something seems wrong." : "最近一次執行的排程工作:%s ,看起來發生了一些錯誤",
+ "Cron was not executed yet!" : "Cron 沒有執行!",
+ "Use system's cron service to call the cron.php file every 15 minutes." : "使用系統的 cron 服務每 15 分鐘呼叫 cron.php 一次",
"Cheers!" : "太棒了!",
"For password recovery and notifications" : "用於密碼重設和通知",
"Show last log in" : "顯示最近登入"
diff --git a/settings/personal.php b/settings/personal.php
index 86ac4f753f4..7f99dc3259b 100644
--- a/settings/personal.php
+++ b/settings/personal.php
@@ -49,7 +49,7 @@ $config = \OC::$server->getConfig();
$urlGenerator = \OC::$server->getURLGenerator();
// Highlight navigation entry
-OC_Util::addScript('settings', 'authtoken');
+OC_Util::addScript('settings', 'AuthToken');
OC_Util::addScript('settings', 'authtoken_collection');
OC_Util::addScript('settings', 'authtoken_view');
OC_Util::addScript('settings', 'usersettings');
diff --git a/settings/templates/admin/server.php b/settings/templates/admin/server.php
index 391d100dcf7..8d00d37fe80 100644
--- a/settings/templates/admin/server.php
+++ b/settings/templates/admin/server.php
@@ -155,7 +155,7 @@
</div>
<div class="section" id="backgroundjobs">
- <h2 class="inlineblock"><?php p($l->t('Cron'));?></h2>
+ <h2 class="inlineblock"><?php p($l->t('Background jobs'));?></h2>
<?php if ($_['cron_log']): ?>
<p class="cronlog inlineblock">
<?php if ($_['lastcron'] !== false):
@@ -164,17 +164,17 @@
if (time() - $_['lastcron'] <= 3600): ?>
<span class="status success"></span>
<span class="crondate" title="<?php p($absolute_time);?>">
- <?php p($l->t("Last cron job execution: %s.", [$relative_time]));?>
+ <?php p($l->t("Last job ran %s.", [$relative_time]));?>
</span>
<?php else: ?>
<span class="status error"></span>
<span class="crondate" title="<?php p($absolute_time);?>">
- <?php p($l->t("Last cron job execution: %s. Something seems wrong.", [$relative_time]));?>
+ <?php p($l->t("Last job execution ran %s. Something seems wrong.", [$relative_time]));?>
</span>
<?php endif;
else: ?>
<span class="status error"></span>
- <?php p($l->t("Cron was not executed yet!"));
+ <?php p($l->t("Background job didn’t run yet!"));
endif; ?>
</p>
<?php endif; ?>
@@ -208,7 +208,7 @@
print_unescaped('disabled');
}?>>
<label for="backgroundjobs_cron">Cron</label><br/>
- <em><?php p($l->t("Use system's cron service to call the cron.php file every 15 minutes.")); ?>
+ <em><?php p($l->t("Use system cron service to call the cron.php file every 15 minutes.")); ?>
<?php if($_['cli_based_cron_possible']) {
p($l->t('The cron.php needs to be executed by the system user "%s".', [$_['cli_based_cron_user']]));
} else {
diff --git a/tests/Core/Controller/ClientFlowLoginControllerTest.php b/tests/Core/Controller/ClientFlowLoginControllerTest.php
index 7a98e5c26c6..1132c0f540c 100644
--- a/tests/Core/Controller/ClientFlowLoginControllerTest.php
+++ b/tests/Core/Controller/ClientFlowLoginControllerTest.php
@@ -26,6 +26,9 @@ use OC\Authentication\Exceptions\PasswordlessTokenException;
use OC\Authentication\Token\IProvider;
use OC\Authentication\Token\IToken;
use OC\Core\Controller\ClientFlowLoginController;
+use OCA\OAuth2\Db\AccessTokenMapper;
+use OCA\OAuth2\Db\Client;
+use OCA\OAuth2\Db\ClientMapper;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\Defaults;
@@ -35,6 +38,7 @@ use OCP\ISession;
use OCP\IURLGenerator;
use OCP\IUser;
use OCP\IUserSession;
+use OCP\Security\ICrypto;
use OCP\Security\ISecureRandom;
use OCP\Session\Exceptions\SessionNotAvailableException;
use Test\TestCase;
@@ -56,6 +60,13 @@ class ClientFlowLoginControllerTest extends TestCase {
private $random;
/** @var IURLGenerator|\PHPUnit_Framework_MockObject_MockObject */
private $urlGenerator;
+ /** @var ClientMapper|\PHPUnit_Framework_MockObject_MockObject */
+ private $clientMapper;
+ /** @var AccessTokenMapper|\PHPUnit_Framework_MockObject_MockObject */
+ private $accessTokenMapper;
+ /** @var ICrypto|\PHPUnit_Framework_MockObject_MockObject */
+ private $crypto;
+
/** @var ClientFlowLoginController */
private $clientFlowLoginController;
@@ -76,6 +87,9 @@ class ClientFlowLoginControllerTest extends TestCase {
$this->tokenProvider = $this->createMock(IProvider::class);
$this->random = $this->createMock(ISecureRandom::class);
$this->urlGenerator = $this->createMock(IURLGenerator::class);
+ $this->clientMapper = $this->createMock(ClientMapper::class);
+ $this->accessTokenMapper = $this->createMock(AccessTokenMapper::class);
+ $this->crypto = $this->createMock(ICrypto::class);
$this->clientFlowLoginController = new ClientFlowLoginController(
'core',
@@ -86,32 +100,43 @@ class ClientFlowLoginControllerTest extends TestCase {
$this->session,
$this->tokenProvider,
$this->random,
- $this->urlGenerator
+ $this->urlGenerator,
+ $this->clientMapper,
+ $this->accessTokenMapper,
+ $this->crypto
);
}
- public function testShowAuthPickerPageNotAuthenticated() {
- $this->userSession
- ->expects($this->once())
- ->method('isLoggedIn')
- ->willReturn(true);
-
+ public function testShowAuthPickerPageNoClientOrOauthRequest() {
$expected = new TemplateResponse(
'core',
- '403',
+ 'error',
[
- 'file' => 'Auth flow can only be started unauthenticated.',
+ 'errors' =>
+ [
+ [
+ 'error' => 'Access Forbidden',
+ 'hint' => 'Invalid request',
+ ],
+ ],
],
'guest'
);
+
$this->assertEquals($expected, $this->clientFlowLoginController->showAuthPickerPage());
}
- public function testShowAuthPickerPage() {
- $this->userSession
- ->expects($this->once())
- ->method('isLoggedIn')
- ->willReturn(false);
+ public function testShowAuthPickerPageWithOcsHeader() {
+ $this->request
+ ->expects($this->at(0))
+ ->method('getHeader')
+ ->with('USER_AGENT')
+ ->willReturn('Mac OS X Sync Client');
+ $this->request
+ ->expects($this->at(1))
+ ->method('getHeader')
+ ->with('OCS-APIREQUEST')
+ ->willReturn('true');
$this->random
->expects($this->once())
->method('generate')
@@ -124,11 +149,56 @@ class ClientFlowLoginControllerTest extends TestCase {
->expects($this->once())
->method('set')
->with('client.flow.state.token', 'StateToken');
+ $this->defaults
+ ->expects($this->once())
+ ->method('getName')
+ ->willReturn('ExampleCloud');
+ $this->request
+ ->expects($this->once())
+ ->method('getServerHost')
+ ->willReturn('example.com');
+
+ $expected = new TemplateResponse(
+ 'core',
+ 'loginflow/authpicker',
+ [
+ 'client' => 'Mac OS X Sync Client',
+ 'clientIdentifier' => '',
+ 'instanceName' => 'ExampleCloud',
+ 'urlGenerator' => $this->urlGenerator,
+ 'stateToken' => 'StateToken',
+ 'serverHost' => 'example.com',
+ ],
+ 'guest'
+ );
+ $this->assertEquals($expected, $this->clientFlowLoginController->showAuthPickerPage());
+ }
+
+ public function testShowAuthPickerPageWithOauth() {
$this->request
- ->expects($this->exactly(2))
+ ->expects($this->at(0))
->method('getHeader')
->with('USER_AGENT')
->willReturn('Mac OS X Sync Client');
+ $client = new Client();
+ $client->setName('My external service');
+ $this->clientMapper
+ ->expects($this->once())
+ ->method('getByIdentifier')
+ ->with('MyClientIdentifier')
+ ->willReturn($client);
+ $this->random
+ ->expects($this->once())
+ ->method('generate')
+ ->with(
+ 64,
+ ISecureRandom::CHAR_LOWER.ISecureRandom::CHAR_UPPER.ISecureRandom::CHAR_DIGITS
+ )
+ ->willReturn('StateToken');
+ $this->session
+ ->expects($this->once())
+ ->method('set')
+ ->with('client.flow.state.token', 'StateToken');
$this->defaults
->expects($this->once())
->method('getName')
@@ -142,7 +212,8 @@ class ClientFlowLoginControllerTest extends TestCase {
'core',
'loginflow/authpicker',
[
- 'client' => 'Mac OS X Sync Client',
+ 'client' => 'My external service',
+ 'clientIdentifier' => 'MyClientIdentifier',
'instanceName' => 'ExampleCloud',
'urlGenerator' => $this->urlGenerator,
'stateToken' => 'StateToken',
@@ -150,7 +221,7 @@ class ClientFlowLoginControllerTest extends TestCase {
],
'guest'
);
- $this->assertEquals($expected, $this->clientFlowLoginController->showAuthPickerPage());
+ $this->assertEquals($expected, $this->clientFlowLoginController->showAuthPickerPage('MyClientIdentifier'));
}
public function testRedirectPageWithInvalidToken() {
@@ -193,10 +264,15 @@ class ClientFlowLoginControllerTest extends TestCase {
public function testRedirectPage() {
$this->session
- ->expects($this->once())
+ ->expects($this->at(0))
->method('get')
->with('client.flow.state.token')
->willReturn('MyStateToken');
+ $this->session
+ ->expects($this->at(1))
+ ->method('get')
+ ->with('oauth.state')
+ ->willReturn('MyOauthStateToken');
$expected = new TemplateResponse(
'core',
@@ -204,10 +280,12 @@ class ClientFlowLoginControllerTest extends TestCase {
[
'urlGenerator' => $this->urlGenerator,
'stateToken' => 'MyStateToken',
+ 'clientIdentifier' => 'Identifier',
+ 'oauthState' => 'MyOauthStateToken',
],
'empty'
);
- $this->assertEquals($expected, $this->clientFlowLoginController->redirectPage('MyStateToken'));
+ $this->assertEquals($expected, $this->clientFlowLoginController->redirectPage('MyStateToken', 'Identifier'));
}
public function testGenerateAppPasswordWithInvalidToken() {
@@ -342,6 +420,90 @@ class ClientFlowLoginControllerTest extends TestCase {
$this->assertEquals($expected, $this->clientFlowLoginController->generateAppPassword('MyStateToken'));
}
+ public function testGeneratePasswordWithPasswordForOauthClient() {
+ $this->session
+ ->expects($this->at(0))
+ ->method('get')
+ ->with('client.flow.state.token')
+ ->willReturn('MyStateToken');
+ $this->session
+ ->expects($this->at(1))
+ ->method('remove')
+ ->with('client.flow.state.token');
+ $this->session
+ ->expects($this->at(3))
+ ->method('get')
+ ->with('oauth.state')
+ ->willReturn('MyOauthState');
+ $this->session
+ ->expects($this->at(4))
+ ->method('remove')
+ ->with('oauth.state');
+ $this->session
+ ->expects($this->once())
+ ->method('getId')
+ ->willReturn('SessionId');
+ $myToken = $this->createMock(IToken::class);
+ $myToken
+ ->expects($this->once())
+ ->method('getLoginName')
+ ->willReturn('MyLoginName');
+ $this->tokenProvider
+ ->expects($this->once())
+ ->method('getToken')
+ ->with('SessionId')
+ ->willReturn($myToken);
+ $this->tokenProvider
+ ->expects($this->once())
+ ->method('getPassword')
+ ->with($myToken, 'SessionId')
+ ->willReturn('MyPassword');
+ $this->random
+ ->expects($this->at(0))
+ ->method('generate')
+ ->with(72)
+ ->willReturn('MyGeneratedToken');
+ $this->random
+ ->expects($this->at(1))
+ ->method('generate')
+ ->with(128)
+ ->willReturn('MyAccessCode');
+ $user = $this->createMock(IUser::class);
+ $user
+ ->expects($this->once())
+ ->method('getUID')
+ ->willReturn('MyUid');
+ $this->userSession
+ ->expects($this->once())
+ ->method('getUser')
+ ->willReturn($user);
+ $token = $this->createMock(IToken::class);
+ $this->tokenProvider
+ ->expects($this->once())
+ ->method('generateToken')
+ ->with(
+ 'MyGeneratedToken',
+ 'MyUid',
+ 'MyLoginName',
+ 'MyPassword',
+ 'My OAuth client',
+ IToken::PERMANENT_TOKEN,
+ IToken::DO_NOT_REMEMBER
+ )
+ ->willReturn($token);
+ $client = new Client();
+ $client->setName('My OAuth client');
+ $client->setRedirectUri('https://example.com/redirect.php');
+ $this->clientMapper
+ ->expects($this->once())
+ ->method('getByIdentifier')
+ ->with('MyClientIdentifier')
+ ->willReturn($client);
+
+ $expected = new Http\RedirectResponse('https://example.com/redirect.php?state=MyOauthState&code=MyAccessCode');
+ $this->assertEquals($expected, $this->clientFlowLoginController->generateAppPassword('MyStateToken', 'MyClientIdentifier'));
+ }
+
public function testGeneratePasswordWithoutPassword() {
$this->session
->expects($this->once())
diff --git a/tests/Core/Controller/CssControllerTest.php b/tests/Core/Controller/CssControllerTest.php
index 30bbc12809e..c78233d8917 100644
--- a/tests/Core/Controller/CssControllerTest.php
+++ b/tests/Core/Controller/CssControllerTest.php
@@ -23,7 +23,7 @@
namespace Tests\Core\Controller;
use OC\Core\Controller\CssController;
-use OC\HintException;
+use OC\Files\AppData\Factory;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\FileDisplayResponse;
use OCP\AppFramework\Http\NotFoundResponse;
@@ -40,7 +40,7 @@ class CssControllerTest extends TestCase {
/** @var IAppData|\PHPUnit_Framework_MockObject_MockObject */
private $appData;
- /** @var IRequests|\PHPUnit_Framework_MockObject_MockObject */
+ /** @var IRequest|\PHPUnit_Framework_MockObject_MockObject */
private $request;
/** @var CssController */
@@ -49,8 +49,15 @@ class CssControllerTest extends TestCase {
public function setUp() {
parent::setUp();
+ /** @var Factory|\PHPUnit_Framework_MockObject_MockObject $factory */
+ $factory = $this->createMock(Factory::class);
$this->appData = $this->createMock(IAppData::class);
+ $factory->expects($this->once())
+ ->method('get')
+ ->with('css')
+ ->willReturn($this->appData);
+ /** @var ITimeFactory|\PHPUnit_Framework_MockObject_MockObject $timeFactory */
$timeFactory = $this->createMock(ITimeFactory::class);
$timeFactory->method('getTime')
->willReturn(1337);
@@ -60,7 +67,7 @@ class CssControllerTest extends TestCase {
$this->controller = new CssController(
'core',
$this->request,
- $this->appData,
+ $factory,
$timeFactory
);
}
diff --git a/tests/Core/Controller/JsControllerTest.php b/tests/Core/Controller/JsControllerTest.php
index 8456ba8b6e3..571318c89d0 100644
--- a/tests/Core/Controller/JsControllerTest.php
+++ b/tests/Core/Controller/JsControllerTest.php
@@ -23,6 +23,7 @@
namespace Tests\Core\Controller;
use OC\Core\Controller\JsController;
+use OC\Files\AppData\Factory;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\FileDisplayResponse;
use OCP\AppFramework\Http\NotFoundResponse;
@@ -48,8 +49,15 @@ class JsControllerTest extends TestCase {
public function setUp() {
parent::setUp();
+ /** @var Factory|\PHPUnit_Framework_MockObject_MockObject $factory */
+ $factory = $this->createMock(Factory::class);
$this->appData = $this->createMock(IAppData::class);
+ $factory->expects($this->once())
+ ->method('get')
+ ->with('js')
+ ->willReturn($this->appData);
+ /** @var ITimeFactory|\PHPUnit_Framework_MockObject_MockObject $timeFactory */
$timeFactory = $this->createMock(ITimeFactory::class);
$timeFactory->method('getTime')
->willReturn(1337);
@@ -59,7 +67,7 @@ class JsControllerTest extends TestCase {
$this->controller = new JsController(
'core',
$this->request,
- $this->appData,
+ $factory,
$timeFactory
);
}
diff --git a/tests/Core/Controller/LostControllerTest.php b/tests/Core/Controller/LostControllerTest.php
index d7d9094c485..d7098aafcc2 100644
--- a/tests/Core/Controller/LostControllerTest.php
+++ b/tests/Core/Controller/LostControllerTest.php
@@ -86,9 +86,13 @@ class LostControllerTest extends \Test\TestCase {
->willReturn('ExistingUser');
$this->config = $this->createMock(IConfig::class);
- $this->config->method('getSystemValue')
- ->with('secret', null)
- ->willReturn('SECRET');
+ $this->config->expects($this->any())
+ ->method('getSystemValue')
+ ->willReturnMap([
+ ['secret', null, 'SECRET'],
+ ['secret', '', 'SECRET'],
+ ['lost_password_link', '', ''],
+ ]);
$this->l10n = $this->createMock(IL10N::class);
$this->l10n
->expects($this->any())
@@ -347,10 +351,6 @@ class LostControllerTest extends \Test\TestCase {
->method('send')
->with($message);
- $this->config->method('getSystemValue')
- ->with('secret', '')
- ->willReturn('SECRET');
-
$this->crypto->method('encrypt')
->with(
$this->equalTo('12348:ThisIsMaybeANotSoSecretToken!'),
@@ -434,10 +434,6 @@ class LostControllerTest extends \Test\TestCase {
->method('send')
->with($message);
- $this->config->method('getSystemValue')
- ->with('secret', '')
- ->willReturn('SECRET');
-
$this->crypto->method('encrypt')
->with(
$this->equalTo('12348:ThisIsMaybeANotSoSecretToken!'),
@@ -516,10 +512,6 @@ class LostControllerTest extends \Test\TestCase {
->with($message)
->will($this->throwException(new \Exception()));
- $this->config->method('getSystemValue')
- ->with('secret', '')
- ->willReturn('SECRET');
-
$this->crypto->method('encrypt')
->with(
$this->equalTo('12348:ThisIsMaybeANotSoSecretToken!'),
diff --git a/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php b/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php
index 6c0d079a204..2efecef4dc7 100644
--- a/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php
+++ b/tests/lib/App/AppStore/Fetcher/AppFetcherTest.php
@@ -22,6 +22,7 @@
namespace Test\App\AppStore\Fetcher;
use OC\App\AppStore\Fetcher\AppFetcher;
+use OC\Files\AppData\Factory;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Files\IAppData;
use OCP\Files\NotFoundException;
@@ -31,6 +32,7 @@ use OCP\Http\Client\IClient;
use OCP\Http\Client\IClientService;
use OCP\Http\Client\IResponse;
use OCP\IConfig;
+use OCP\ILogger;
use Test\TestCase;
class AppFetcherTest extends TestCase {
@@ -42,6 +44,8 @@ class AppFetcherTest extends TestCase {
protected $timeFactory;
/** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */
protected $config;
+ /** @var ILogger|\PHPUnit_Framework_MockObject_MockObject */
+ protected $logger;
/** @var AppFetcher */
protected $fetcher;
/** @var string */
@@ -53,10 +57,17 @@ EOD;
public function setUp() {
parent::setUp();
+ /** @var Factory|\PHPUnit_Framework_MockObject_MockObject $factory */
+ $factory = $this->createMock(Factory::class);
$this->appData = $this->createMock(IAppData::class);
+ $factory->expects($this->once())
+ ->method('get')
+ ->with('appstore')
+ ->willReturn($this->appData);
$this->clientService = $this->createMock(IClientService::class);
$this->timeFactory = $this->createMock(ITimeFactory::class);
$this->config = $this->createMock(IConfig::class);
+ $this->logger = $this->createMock(ILogger::class);
$this->config
->expects($this->at(0))
@@ -64,10 +75,11 @@ EOD;
->with('version')
->willReturn('11.0.0.2');
$this->fetcher = new AppFetcher(
- $this->appData,
+ $factory,
$this->clientService,
$this->timeFactory,
- $this->config
+ $this->config,
+ $this->logger
);
}
diff --git a/tests/lib/App/AppStore/Fetcher/CategoryFetcherTest.php b/tests/lib/App/AppStore/Fetcher/CategoryFetcherTest.php
index 27f33bed997..a1ce718520f 100644
--- a/tests/lib/App/AppStore/Fetcher/CategoryFetcherTest.php
+++ b/tests/lib/App/AppStore/Fetcher/CategoryFetcherTest.php
@@ -23,17 +23,18 @@ namespace Test\App\AppStore\Fetcher;
use OC\App\AppStore\Fetcher\CategoryFetcher;
-class CategoryFetcherTest extends FetcherBase {
+class CategoryFetcherTest extends FetcherBase {
public function setUp() {
parent::setUp();
$this->fileName = 'categories.json';
$this->endpoint = 'https://apps.nextcloud.com/api/v1/categories.json';
$this->fetcher = new CategoryFetcher(
- $this->appData,
+ $this->appDataFactory,
$this->clientService,
$this->timeFactory,
- $this->config
+ $this->config,
+ $this->logger
);
}
diff --git a/tests/lib/App/AppStore/Fetcher/FetcherBase.php b/tests/lib/App/AppStore/Fetcher/FetcherBase.php
index 96e4f3ae81a..2cfb34a0965 100644
--- a/tests/lib/App/AppStore/Fetcher/FetcherBase.php
+++ b/tests/lib/App/AppStore/Fetcher/FetcherBase.php
@@ -22,6 +22,7 @@
namespace Test\App\AppStore\Fetcher;
use OC\App\AppStore\Fetcher\Fetcher;
+use OC\Files\AppData\Factory;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Files\IAppData;
use OCP\Files\NotFoundException;
@@ -31,9 +32,12 @@ use OCP\Http\Client\IClient;
use OCP\Http\Client\IClientService;
use OCP\Http\Client\IResponse;
use OCP\IConfig;
+use OCP\ILogger;
use Test\TestCase;
abstract class FetcherBase extends TestCase {
+ /** @var Factory|\PHPUnit_Framework_MockObject_MockObject */
+ protected $appDataFactory;
/** @var IAppData|\PHPUnit_Framework_MockObject_MockObject */
protected $appData;
/** @var IClientService|\PHPUnit_Framework_MockObject_MockObject */
@@ -42,6 +46,8 @@ abstract class FetcherBase extends TestCase {
protected $timeFactory;
/** @var IConfig|\PHPUnit_Framework_MockObject_MockObject */
protected $config;
+ /** @var ILogger|\PHPUnit_Framework_MockObject_MockObject */
+ protected $logger;
/** @var Fetcher */
protected $fetcher;
/** @var string */
@@ -51,10 +57,16 @@ abstract class FetcherBase extends TestCase {
public function setUp() {
parent::setUp();
+ $this->appDataFactory = $this->createMock(Factory::class);
$this->appData = $this->createMock(IAppData::class);
+ $this->appDataFactory->expects($this->once())
+ ->method('get')
+ ->with('appstore')
+ ->willReturn($this->appData);
$this->clientService = $this->createMock(IClientService::class);
$this->timeFactory = $this->createMock(ITimeFactory::class);
$this->config = $this->createMock(IConfig::class);
+ $this->logger = $this->createMock(ILogger::class);
}
public function testGetWithAlreadyExistingFileAndUpToDateTimestampAndVersion() {
@@ -502,6 +514,7 @@ abstract class FetcherBase extends TestCase {
->with(
$this->equalTo($this->endpoint),
$this->equalTo([
+ 'timeout' => 10,
'headers' => [
'If-None-Match' => '"myETag"'
]
@@ -573,6 +586,7 @@ abstract class FetcherBase extends TestCase {
->with(
$this->equalTo($this->endpoint),
$this->equalTo([
+ 'timeout' => 10,
'headers' => [
'If-None-Match' => '"myETag"',
]
@@ -658,7 +672,9 @@ abstract class FetcherBase extends TestCase {
->method('get')
->with(
$this->equalTo($this->endpoint),
- $this->equalTo([])
+ $this->equalTo([
+ 'timeout' => 10,
+ ])
)
->willReturn($response);
$response->method('getStatusCode')
diff --git a/tests/lib/Authentication/Token/DefaultTokenMapperTest.php b/tests/lib/Authentication/Token/DefaultTokenMapperTest.php
index 8fe0762daad..b5d24a7ab5e 100644
--- a/tests/lib/Authentication/Token/DefaultTokenMapperTest.php
+++ b/tests/lib/Authentication/Token/DefaultTokenMapperTest.php
@@ -190,6 +190,7 @@ class DefaultTokenMapperTest extends TestCase {
}
public function testGetTokenByUser() {
+ /** @var IUser|\PHPUnit_Framework_MockObject_MockObject $user */
$user = $this->createMock(IUser::class);
$user->expects($this->once())
->method('getUID')
@@ -199,6 +200,7 @@ class DefaultTokenMapperTest extends TestCase {
}
public function testGetTokenByUserNotFound() {
+ /** @var IUser|\PHPUnit_Framework_MockObject_MockObject $user */
$user = $this->createMock(IUser::class);
$user->expects($this->once())
->method('getUID')
@@ -208,6 +210,7 @@ class DefaultTokenMapperTest extends TestCase {
}
public function testDeleteById() {
+ /** @var IUser|\PHPUnit_Framework_MockObject_MockObject $user */
$user = $this->createMock(IUser::class);
$qb = $this->dbConnection->getQueryBuilder();
$qb->select('id')
@@ -224,6 +227,7 @@ class DefaultTokenMapperTest extends TestCase {
}
public function testDeleteByIdWrongUser() {
+ /** @var IUser|\PHPUnit_Framework_MockObject_MockObject $user */
$user = $this->createMock(IUser::class);
$id = 33;
$user->expects($this->once())
@@ -234,4 +238,15 @@ class DefaultTokenMapperTest extends TestCase {
$this->assertEquals(3, $this->getNumberOfTokens());
}
+ public function testDeleteByName() {
+ $qb = $this->dbConnection->getQueryBuilder();
+ $qb->select('name')
+ ->from('authtoken')
+ ->where($qb->expr()->eq('token', $qb->createNamedParameter('9c5a2e661482b65597408a6bb6c4a3d1af36337381872ac56e445a06cdb7fea2b1039db707545c11027a4966919918b19d875a8b774840b18c6cbb7ae56fe206')));
+ $result = $qb->execute();
+ $name = $result->fetch()['name'];
+ $this->mapper->deleteByName($name);
+ $this->assertEquals(2, $this->getNumberOfTokens());
+ }
+
}
diff --git a/tests/lib/HelperStorageTest.php b/tests/lib/HelperStorageTest.php
index e27d5eca21d..d42c43c5ab8 100644
--- a/tests/lib/HelperStorageTest.php
+++ b/tests/lib/HelperStorageTest.php
@@ -158,9 +158,9 @@ class HelperStorageTest extends \Test\TestCase {
$config->setSystemValue('quota_include_external_storage', 'true');
$storageInfo = \OC_Helper::getStorageInfo('');
- $this->assertEquals(12, $storageInfo['free']);
- $this->assertEquals(5, $storageInfo['used']);
- $this->assertEquals(17, $storageInfo['total']);
+ $this->assertEquals(12, $storageInfo['free'], '12 bytes free in home storage');
+ $this->assertEquals(22, $storageInfo['used'], '5 bytes of home storage and 17 bytes of the temporary storage are used');
+ $this->assertEquals(34, $storageInfo['total'], '5 bytes used and 12 bytes free in home storage as well as 17 bytes used in temporary storage');
$config->setSystemValue('quota_include_external_storage', $oldConfig);
}
diff --git a/tests/lib/Security/IdentityProof/ManagerTest.php b/tests/lib/Security/IdentityProof/ManagerTest.php
index 2925dea5ec5..b46ca30705a 100644
--- a/tests/lib/Security/IdentityProof/ManagerTest.php
+++ b/tests/lib/Security/IdentityProof/ManagerTest.php
@@ -21,6 +21,7 @@
namespace Test\Security\IdentityProof;
+use OC\Files\AppData\Factory;
use OC\Security\IdentityProof\Key;
use OC\Security\IdentityProof\Manager;
use OCP\Files\IAppData;
@@ -31,6 +32,8 @@ use OCP\Security\ICrypto;
use Test\TestCase;
class ManagerTest extends TestCase {
+ /** @var Factory|\PHPUnit_Framework_MockObject_MockObject */
+ private $factory;
/** @var IAppData|\PHPUnit_Framework_MockObject_MockObject */
private $appData;
/** @var ICrypto|\PHPUnit_Framework_MockObject_MockObject */
@@ -40,11 +43,19 @@ class ManagerTest extends TestCase {
public function setUp() {
parent::setUp();
+
+ /** @var Factory|\PHPUnit_Framework_MockObject_MockObject $factory */
+ $this->factory = $this->createMock(Factory::class);
$this->appData = $this->createMock(IAppData::class);
+ $this->factory->expects($this->any())
+ ->method('get')
+ ->with('identityproof')
+ ->willReturn($this->appData);
+
$this->crypto = $this->createMock(ICrypto::class);
$this->manager = $this->getMockBuilder(Manager::class)
->setConstructorArgs([
- $this->appData,
+ $this->factory,
$this->crypto
])
->setMethods(['generateKeyPair'])
@@ -151,12 +162,12 @@ class ManagerTest extends TestCase {
public function testGenerateKeyPair() {
$manager = new Manager(
- $this->appData,
+ $this->factory,
$this->crypto
);
$data = 'MyTestData';
- list($resultPublicKey, $resultPrivateKey) = $this->invokePrivate($manager, 'generateKeyPair');
+ list($resultPublicKey, $resultPrivateKey) = self::invokePrivate($manager, 'generateKeyPair');
openssl_sign($data, $signature, $resultPrivateKey);
$details = openssl_pkey_get_details(openssl_pkey_get_public($resultPublicKey));
diff --git a/tests/lib/User/SessionTest.php b/tests/lib/User/SessionTest.php
index 1bcc6ce3a4d..fcff4f64726 100644
--- a/tests/lib/User/SessionTest.php
+++ b/tests/lib/User/SessionTest.php
@@ -956,7 +956,7 @@ class SessionTest extends \Test\TestCase {
$request->expects($this->once())
->method('getHeader')
->with('Authorization')
- ->will($this->returnValue('token xxxxx'));
+ ->will($this->returnValue('Bearer xxxxx'));
$this->tokenProvider->expects($this->once())
->method('getToken')
->with('xxxxx')
diff --git a/tests/phpunit-autotest.xml b/tests/phpunit-autotest.xml
index 9a9c9c957e3..34166a09e2e 100644
--- a/tests/phpunit-autotest.xml
+++ b/tests/phpunit-autotest.xml
@@ -30,6 +30,7 @@
<directory suffix=".php">../apps/files_sharing/tests</directory>
<directory suffix=".php">../apps/files_trashbin/tests</directory>
<directory suffix=".php">../apps/files_versions/tests</directory>
+ <directory suffix=".php">../apps/oauth2/tests</directory>
<directory suffix=".php">../apps/provisioning_api/tests</directory>
<directory suffix=".php">../apps/systemtags/tests</directory>
<directory suffix=".php">../apps/theming/tests</directory>
diff --git a/tests/redis-cluster.config.php b/tests/redis-cluster.config.php
new file mode 100644
index 00000000000..c7df2a91854
--- /dev/null
+++ b/tests/redis-cluster.config.php
@@ -0,0 +1,20 @@
+<?php
+
+$CONFIG = [
+ 'memcache.local' => '\\OC\\Memcache\\Redis',
+ 'memcache.distributed' => '\\OC\\Memcache\\Redis',
+ 'memcache.locking' => '\\OC\\Memcache\\Redis',
+ 'redis.cluster' => [
+ 'seeds' => [ // provide some/all of the cluster servers to bootstrap discovery, port required
+ 'localhost:7000',
+ 'localhost:7001',
+ 'localhost:7002',
+ 'localhost:7003',
+ 'localhost:7004',
+ 'localhost:7005'
+ ],
+ 'timeout' => 0.0,
+ 'read_timeout' => 0.0,
+ 'failover_mode' => \RedisCluster::FAILOVER_ERROR
+ ],
+];
diff --git a/version.php b/version.php
index 84b84e1016e..8673939044f 100644
--- a/version.php
+++ b/version.php
@@ -26,10 +26,10 @@
// between betas, final and RCs. This is _not_ the public version number. Reset minor/patchlevel
// when updating major/minor version number.
-$OC_Version = array(12, 0, 0, 19);
+$OC_Version = array(12, 0, 0, 22);
// The human readable string
-$OC_VersionString = '12.0 beta 2';
+$OC_VersionString = '12.0 beta 4';
$OC_VersionCanBeUpgradedFrom = [
'nextcloud' => [
@@ -37,6 +37,7 @@ $OC_VersionCanBeUpgradedFrom = [
'12.0' => true,
],
'owncloud' => [
+ '10.0.0.12' => true,
],
];