summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
m---------3rdparty0
-rw-r--r--apps/files/ajax/list.php2
-rw-r--r--apps/files/l10n/gl.js2
-rw-r--r--apps/files/l10n/gl.json2
-rw-r--r--apps/files/l10n/ja.js1
-rw-r--r--apps/files/l10n/ja.json1
-rw-r--r--apps/files/l10n/mr.js9
-rw-r--r--apps/files/l10n/mr.json7
-rw-r--r--apps/files_encryption/l10n/gl.js2
-rw-r--r--apps/files_encryption/l10n/gl.json2
-rw-r--r--apps/files_external/3rdparty/autoload.php7
-rw-r--r--apps/files_external/3rdparty/composer.json13
-rw-r--r--apps/files_external/3rdparty/composer.lock101
-rw-r--r--apps/files_external/3rdparty/composer/ClassLoader.php413
-rw-r--r--apps/files_external/3rdparty/composer/autoload_classmap.php9
-rw-r--r--apps/files_external/3rdparty/composer/autoload_namespaces.php9
-rw-r--r--apps/files_external/3rdparty/composer/autoload_psr4.php13
-rw-r--r--apps/files_external/3rdparty/composer/autoload_real.php50
-rw-r--r--apps/files_external/3rdparty/composer/installed.json87
-rw-r--r--apps/files_external/3rdparty/icewind/smb/.gitignore2
-rw-r--r--apps/files_external/3rdparty/icewind/smb/.travis.yml50
-rw-r--r--apps/files_external/3rdparty/icewind/smb/LICENSE.txt19
-rw-r--r--apps/files_external/3rdparty/icewind/smb/README.md136
-rw-r--r--apps/files_external/3rdparty/icewind/smb/composer.json24
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Connection.php78
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/ErrorCodes.php28
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/AccessDeniedException.php10
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/AlreadyExistsException.php10
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/AuthenticationException.php10
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/ConnectException.php10
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/ConnectionException.php10
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/ConnectionRefusedException.php11
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/Exception.php10
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/FileInUseException.php10
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/ForbiddenException.php10
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/HostDownException.php11
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidHostException.php10
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidRequestException.php31
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidTypeException.php10
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/NoRouteToHostException.php11
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/NotEmptyException.php10
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/NotFoundException.php10
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Exception/TimedOutException.php11
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/FileInfo.php126
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/IFileInfo.php55
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/IShare.php134
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/NativeFileInfo.php142
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/NativeServer.php60
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/NativeShare.php288
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/NativeState.php308
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/NativeStream.php114
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Parser.php130
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/RawConnection.php165
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Server.php141
-rw-r--r--apps/files_external/3rdparty/icewind/smb/src/Share.php394
-rw-r--r--apps/files_external/3rdparty/icewind/smb/tests/AbstractShare.php534
-rw-r--r--apps/files_external/3rdparty/icewind/smb/tests/NativeShare.php27
-rw-r--r--apps/files_external/3rdparty/icewind/smb/tests/NativeStream.php143
-rw-r--r--apps/files_external/3rdparty/icewind/smb/tests/Parser.php87
-rw-r--r--apps/files_external/3rdparty/icewind/smb/tests/Server.php57
-rw-r--r--apps/files_external/3rdparty/icewind/smb/tests/Share.php24
-rw-r--r--apps/files_external/3rdparty/icewind/smb/tests/bootstrap.php9
-rw-r--r--apps/files_external/3rdparty/icewind/smb/tests/config.json7
-rw-r--r--apps/files_external/3rdparty/icewind/smb/tests/phpunit.xml6
-rw-r--r--apps/files_external/3rdparty/icewind/streams/.gitignore3
-rw-r--r--apps/files_external/3rdparty/icewind/streams/.travis.yml26
-rw-r--r--apps/files_external/3rdparty/icewind/streams/README.md52
-rw-r--r--apps/files_external/3rdparty/icewind/streams/composer.json23
-rw-r--r--apps/files_external/3rdparty/icewind/streams/src/CallbackWrapper.php110
-rw-r--r--apps/files_external/3rdparty/icewind/streams/src/Directory.php35
-rw-r--r--apps/files_external/3rdparty/icewind/streams/src/File.php86
-rw-r--r--apps/files_external/3rdparty/icewind/streams/src/IteratorDirectory.php123
-rw-r--r--apps/files_external/3rdparty/icewind/streams/src/NullWrapper.php42
-rw-r--r--apps/files_external/3rdparty/icewind/streams/src/Wrapper.php110
-rw-r--r--apps/files_external/3rdparty/icewind/streams/tests/CallbackWrapper.php72
-rw-r--r--apps/files_external/3rdparty/icewind/streams/tests/IteratorDirectory.php130
-rw-r--r--apps/files_external/3rdparty/icewind/streams/tests/NullWrapper.php59
-rw-r--r--apps/files_external/3rdparty/icewind/streams/tests/Wrapper.php105
-rw-r--r--apps/files_external/3rdparty/icewind/streams/tests/bootstrap.php9
-rw-r--r--apps/files_external/3rdparty/icewind/streams/tests/phpunit.xml6
-rw-r--r--apps/files_external/3rdparty/smb4php/smb.php516
-rw-r--r--apps/files_external/appinfo/app.php2
-rw-r--r--apps/files_external/l10n/cs_CZ.js2
-rw-r--r--apps/files_external/l10n/cs_CZ.json2
-rw-r--r--apps/files_external/l10n/gl.js2
-rw-r--r--apps/files_external/l10n/gl.json2
-rw-r--r--apps/files_external/l10n/ja.js2
-rw-r--r--apps/files_external/l10n/ja.json2
-rw-r--r--apps/files_external/lib/sftp.php12
-rw-r--r--apps/files_external/lib/smb.php294
-rw-r--r--apps/files_external/lib/smb_oc.php45
-rw-r--r--apps/files_external/tests/backends/ftp.php8
-rw-r--r--apps/files_external/tests/backends/smb.php15
-rw-r--r--apps/files_external/tests/backends/webdav.php2
-rwxr-xr-xapps/files_external/tests/env/start-ftp-morrisjobke.sh65
-rwxr-xr-xapps/files_external/tests/env/start-smb-silvershell.sh63
-rwxr-xr-xapps/files_external/tests/env/start-webdav-ownCloud.sh7
-rwxr-xr-xapps/files_external/tests/env/stop-ftp-morrisjobke.sh36
-rwxr-xr-xapps/files_external/tests/env/stop-smb-silvershell.sh36
-rwxr-xr-xapps/files_external/tests/env/stop-webdav-ownCloud.sh11
-rw-r--r--apps/files_external/tests/smbfunctions.php39
-rw-r--r--apps/files_sharing/appinfo/app.php5
-rw-r--r--apps/files_sharing/l10n/gl.js10
-rw-r--r--apps/files_sharing/l10n/gl.json10
-rw-r--r--apps/files_sharing/l10n/ja.js4
-rw-r--r--apps/files_sharing/l10n/ja.json4
-rw-r--r--apps/files_sharing/lib/activity.php214
-rw-r--r--apps/files_sharing/lib/controllers/sharecontroller.php48
-rw-r--r--apps/files_sharing/tests/activity.php12
-rw-r--r--apps/user_ldap/l10n/gl.js2
-rw-r--r--apps/user_ldap/l10n/gl.json2
-rw-r--r--apps/user_ldap/l10n/mr.js7
-rw-r--r--apps/user_ldap/l10n/mr.json5
-rw-r--r--config/config.sample.php2
-rw-r--r--console.php3
-rw-r--r--core/command/app/checkcode.php53
-rw-r--r--core/css/share.css6
-rw-r--r--core/js/config.php1
-rw-r--r--core/js/core.json3
-rw-r--r--core/js/js.js19
-rw-r--r--core/js/share.js28
-rw-r--r--core/js/tests/specs/coreSpec.js15
-rw-r--r--core/js/tests/specs/shareSpec.js82
-rw-r--r--core/l10n/af_ZA.js2
-rw-r--r--core/l10n/af_ZA.json2
-rw-r--r--core/l10n/ar.js2
-rw-r--r--core/l10n/ar.json2
-rw-r--r--core/l10n/ast.js2
-rw-r--r--core/l10n/ast.json2
-rw-r--r--core/l10n/bg_BG.js3
-rw-r--r--core/l10n/bg_BG.json3
-rw-r--r--core/l10n/bs.js3
-rw-r--r--core/l10n/bs.json3
-rw-r--r--core/l10n/ca.js3
-rw-r--r--core/l10n/ca.json3
-rw-r--r--core/l10n/cs_CZ.js4
-rw-r--r--core/l10n/cs_CZ.json4
-rw-r--r--core/l10n/cy_GB.js1
-rw-r--r--core/l10n/cy_GB.json1
-rw-r--r--core/l10n/da.js3
-rw-r--r--core/l10n/da.json3
-rw-r--r--core/l10n/de.js6
-rw-r--r--core/l10n/de.json6
-rw-r--r--core/l10n/de_DE.js8
-rw-r--r--core/l10n/de_DE.json8
-rw-r--r--core/l10n/el.js3
-rw-r--r--core/l10n/el.json3
-rw-r--r--core/l10n/en_GB.js4
-rw-r--r--core/l10n/en_GB.json4
-rw-r--r--core/l10n/eo.js2
-rw-r--r--core/l10n/eo.json2
-rw-r--r--core/l10n/es.js23
-rw-r--r--core/l10n/es.json23
-rw-r--r--core/l10n/es_AR.js2
-rw-r--r--core/l10n/es_AR.json2
-rw-r--r--core/l10n/es_MX.js2
-rw-r--r--core/l10n/es_MX.json2
-rw-r--r--core/l10n/et_EE.js3
-rw-r--r--core/l10n/et_EE.json3
-rw-r--r--core/l10n/eu.js3
-rw-r--r--core/l10n/eu.json3
-rw-r--r--core/l10n/fa.js1
-rw-r--r--core/l10n/fa.json1
-rw-r--r--core/l10n/fi_FI.js4
-rw-r--r--core/l10n/fi_FI.json4
-rw-r--r--core/l10n/fr.js4
-rw-r--r--core/l10n/fr.json4
-rw-r--r--core/l10n/gl.js32
-rw-r--r--core/l10n/gl.json32
-rw-r--r--core/l10n/he.js2
-rw-r--r--core/l10n/he.json2
-rw-r--r--core/l10n/hr.js3
-rw-r--r--core/l10n/hr.json3
-rw-r--r--core/l10n/hu_HU.js2
-rw-r--r--core/l10n/hu_HU.json2
-rw-r--r--core/l10n/ia.js1
-rw-r--r--core/l10n/ia.json1
-rw-r--r--core/l10n/id.js3
-rw-r--r--core/l10n/id.json3
-rw-r--r--core/l10n/it.js4
-rw-r--r--core/l10n/it.json4
-rw-r--r--core/l10n/ja.js6
-rw-r--r--core/l10n/ja.json6
-rw-r--r--core/l10n/ka_GE.js1
-rw-r--r--core/l10n/ka_GE.json1
-rw-r--r--core/l10n/ko.js3
-rw-r--r--core/l10n/ko.json3
-rw-r--r--core/l10n/lb.js2
-rw-r--r--core/l10n/lb.json2
-rw-r--r--core/l10n/lt_LT.js2
-rw-r--r--core/l10n/lt_LT.json2
-rw-r--r--core/l10n/lv.js2
-rw-r--r--core/l10n/lv.json2
-rw-r--r--core/l10n/mk.js1
-rw-r--r--core/l10n/mk.json1
-rw-r--r--core/l10n/ml_IN.js1
-rw-r--r--core/l10n/ml_IN.json1
-rw-r--r--core/l10n/mr.js8
-rw-r--r--core/l10n/mr.json6
-rw-r--r--core/l10n/nb_NO.js3
-rw-r--r--core/l10n/nb_NO.json3
-rw-r--r--core/l10n/nl.js3
-rw-r--r--core/l10n/nl.json3
-rw-r--r--core/l10n/nn_NO.js2
-rw-r--r--core/l10n/nn_NO.json2
-rw-r--r--core/l10n/pl.js5
-rw-r--r--core/l10n/pl.json5
-rw-r--r--core/l10n/pt_BR.js3
-rw-r--r--core/l10n/pt_BR.json3
-rw-r--r--core/l10n/pt_PT.js3
-rw-r--r--core/l10n/pt_PT.json3
-rw-r--r--core/l10n/ro.js2
-rw-r--r--core/l10n/ro.json2
-rw-r--r--core/l10n/ru.js3
-rw-r--r--core/l10n/ru.json3
-rw-r--r--core/l10n/sk_SK.js3
-rw-r--r--core/l10n/sk_SK.json3
-rw-r--r--core/l10n/sl.js3
-rw-r--r--core/l10n/sl.json3
-rw-r--r--core/l10n/sq.js3
-rw-r--r--core/l10n/sq.json3
-rw-r--r--core/l10n/sr@latin.js3
-rw-r--r--core/l10n/sr@latin.json3
-rw-r--r--core/l10n/sv.js3
-rw-r--r--core/l10n/sv.json3
-rw-r--r--core/l10n/tr.js4
-rw-r--r--core/l10n/tr.json4
-rw-r--r--core/l10n/uk.js3
-rw-r--r--core/l10n/uk.json3
-rw-r--r--core/l10n/ur_PK.js2
-rw-r--r--core/l10n/ur_PK.json2
-rw-r--r--core/l10n/vi.js2
-rw-r--r--core/l10n/vi.json2
-rw-r--r--core/l10n/zh_CN.js3
-rw-r--r--core/l10n/zh_CN.json3
-rw-r--r--core/l10n/zh_TW.js3
-rw-r--r--core/l10n/zh_TW.json3
-rw-r--r--core/register_command.php1
-rw-r--r--core/setup/controller.php5
-rw-r--r--core/templates/installation.php7
-rw-r--r--core/templates/layout.base.php2
-rw-r--r--core/templates/layout.guest.php2
-rw-r--r--core/templates/layout.noscript.warning.php11
-rw-r--r--core/templates/layout.user.php2
-rw-r--r--lib/base.php54
-rw-r--r--lib/l10n/af_ZA.js1
-rw-r--r--lib/l10n/af_ZA.json1
-rw-r--r--lib/l10n/ar.js1
-rw-r--r--lib/l10n/ar.json1
-rw-r--r--lib/l10n/ast.js3
-rw-r--r--lib/l10n/ast.json3
-rw-r--r--lib/l10n/az.js1
-rw-r--r--lib/l10n/az.json1
-rw-r--r--lib/l10n/be.js1
-rw-r--r--lib/l10n/be.json1
-rw-r--r--lib/l10n/bg_BG.js3
-rw-r--r--lib/l10n/bg_BG.json3
-rw-r--r--lib/l10n/bn_BD.js1
-rw-r--r--lib/l10n/bn_BD.json1
-rw-r--r--lib/l10n/bn_IN.js1
-rw-r--r--lib/l10n/bn_IN.json1
-rw-r--r--lib/l10n/bs.js1
-rw-r--r--lib/l10n/bs.json1
-rw-r--r--lib/l10n/ca.js3
-rw-r--r--lib/l10n/ca.json3
-rw-r--r--lib/l10n/cs_CZ.js3
-rw-r--r--lib/l10n/cs_CZ.json3
-rw-r--r--lib/l10n/cy_GB.js1
-rw-r--r--lib/l10n/cy_GB.json1
-rw-r--r--lib/l10n/da.js3
-rw-r--r--lib/l10n/da.json3
-rw-r--r--lib/l10n/de.js3
-rw-r--r--lib/l10n/de.json3
-rw-r--r--lib/l10n/de_AT.js1
-rw-r--r--lib/l10n/de_AT.json1
-rw-r--r--lib/l10n/de_DE.js3
-rw-r--r--lib/l10n/de_DE.json3
-rw-r--r--lib/l10n/el.js3
-rw-r--r--lib/l10n/el.json3
-rw-r--r--lib/l10n/en_GB.js3
-rw-r--r--lib/l10n/en_GB.json3
-rw-r--r--lib/l10n/eo.js1
-rw-r--r--lib/l10n/eo.json1
-rw-r--r--lib/l10n/es.js3
-rw-r--r--lib/l10n/es.json3
-rw-r--r--lib/l10n/es_AR.js1
-rw-r--r--lib/l10n/es_AR.json1
-rw-r--r--lib/l10n/es_CL.js1
-rw-r--r--lib/l10n/es_CL.json1
-rw-r--r--lib/l10n/es_MX.js1
-rw-r--r--lib/l10n/es_MX.json1
-rw-r--r--lib/l10n/et_EE.js3
-rw-r--r--lib/l10n/et_EE.json3
-rw-r--r--lib/l10n/eu.js3
-rw-r--r--lib/l10n/eu.json3
-rw-r--r--lib/l10n/fa.js1
-rw-r--r--lib/l10n/fa.json1
-rw-r--r--lib/l10n/fi_FI.js1
-rw-r--r--lib/l10n/fi_FI.json1
-rw-r--r--lib/l10n/fr.js5
-rw-r--r--lib/l10n/fr.json5
-rw-r--r--lib/l10n/gl.js7
-rw-r--r--lib/l10n/gl.json7
-rw-r--r--lib/l10n/he.js1
-rw-r--r--lib/l10n/he.json1
-rw-r--r--lib/l10n/hi.js1
-rw-r--r--lib/l10n/hi.json1
-rw-r--r--lib/l10n/hr.js3
-rw-r--r--lib/l10n/hr.json3
-rw-r--r--lib/l10n/hu_HU.js3
-rw-r--r--lib/l10n/hu_HU.json3
-rw-r--r--lib/l10n/ia.js1
-rw-r--r--lib/l10n/ia.json1
-rw-r--r--lib/l10n/id.js3
-rw-r--r--lib/l10n/id.json3
-rw-r--r--lib/l10n/is.js1
-rw-r--r--lib/l10n/is.json1
-rw-r--r--lib/l10n/it.js3
-rw-r--r--lib/l10n/it.json3
-rw-r--r--lib/l10n/ja.js3
-rw-r--r--lib/l10n/ja.json3
-rw-r--r--lib/l10n/ka_GE.js1
-rw-r--r--lib/l10n/ka_GE.json1
-rw-r--r--lib/l10n/km.js1
-rw-r--r--lib/l10n/km.json1
-rw-r--r--lib/l10n/kn.js1
-rw-r--r--lib/l10n/kn.json1
-rw-r--r--lib/l10n/ko.js3
-rw-r--r--lib/l10n/ko.json3
-rw-r--r--lib/l10n/ku_IQ.js1
-rw-r--r--lib/l10n/ku_IQ.json1
-rw-r--r--lib/l10n/lb.js1
-rw-r--r--lib/l10n/lb.json1
-rw-r--r--lib/l10n/lt_LT.js1
-rw-r--r--lib/l10n/lt_LT.json1
-rw-r--r--lib/l10n/lv.js1
-rw-r--r--lib/l10n/lv.json1
-rw-r--r--lib/l10n/mk.js1
-rw-r--r--lib/l10n/mk.json1
-rw-r--r--lib/l10n/mn.js1
-rw-r--r--lib/l10n/mn.json1
-rw-r--r--lib/l10n/mr.js10
-rw-r--r--lib/l10n/mr.json8
-rw-r--r--lib/l10n/ms_MY.js1
-rw-r--r--lib/l10n/ms_MY.json1
-rw-r--r--lib/l10n/nb_NO.js3
-rw-r--r--lib/l10n/nb_NO.json3
-rw-r--r--lib/l10n/nl.js3
-rw-r--r--lib/l10n/nl.json3
-rw-r--r--lib/l10n/nn_NO.js1
-rw-r--r--lib/l10n/nn_NO.json1
-rw-r--r--lib/l10n/oc.js1
-rw-r--r--lib/l10n/oc.json1
-rw-r--r--lib/l10n/pa.js1
-rw-r--r--lib/l10n/pa.json1
-rw-r--r--lib/l10n/pl.js3
-rw-r--r--lib/l10n/pl.json3
-rw-r--r--lib/l10n/pt_BR.js3
-rw-r--r--lib/l10n/pt_BR.json3
-rw-r--r--lib/l10n/pt_PT.js3
-rw-r--r--lib/l10n/pt_PT.json3
-rw-r--r--lib/l10n/ro.js1
-rw-r--r--lib/l10n/ro.json1
-rw-r--r--lib/l10n/ru.js3
-rw-r--r--lib/l10n/ru.json3
-rw-r--r--lib/l10n/si_LK.js1
-rw-r--r--lib/l10n/si_LK.json1
-rw-r--r--lib/l10n/sk_SK.js3
-rw-r--r--lib/l10n/sk_SK.json3
-rw-r--r--lib/l10n/sl.js3
-rw-r--r--lib/l10n/sl.json3
-rw-r--r--lib/l10n/sq.js1
-rw-r--r--lib/l10n/sq.json1
-rw-r--r--lib/l10n/sr.js1
-rw-r--r--lib/l10n/sr.json1
-rw-r--r--lib/l10n/sr@latin.js1
-rw-r--r--lib/l10n/sr@latin.json1
-rw-r--r--lib/l10n/sv.js3
-rw-r--r--lib/l10n/sv.json3
-rw-r--r--lib/l10n/ta_IN.js1
-rw-r--r--lib/l10n/ta_IN.json1
-rw-r--r--lib/l10n/ta_LK.js1
-rw-r--r--lib/l10n/ta_LK.json1
-rw-r--r--lib/l10n/te.js1
-rw-r--r--lib/l10n/te.json1
-rw-r--r--lib/l10n/th_TH.js1
-rw-r--r--lib/l10n/th_TH.json1
-rw-r--r--lib/l10n/tr.js3
-rw-r--r--lib/l10n/tr.json3
-rw-r--r--lib/l10n/ug.js1
-rw-r--r--lib/l10n/ug.json1
-rw-r--r--lib/l10n/uk.js1
-rw-r--r--lib/l10n/uk.json1
-rw-r--r--lib/l10n/ur_PK.js1
-rw-r--r--lib/l10n/ur_PK.json1
-rw-r--r--lib/l10n/vi.js1
-rw-r--r--lib/l10n/vi.json1
-rw-r--r--lib/l10n/zh_CN.js1
-rw-r--r--lib/l10n/zh_CN.json1
-rw-r--r--lib/l10n/zh_HK.js1
-rw-r--r--lib/l10n/zh_HK.json1
-rw-r--r--lib/l10n/zh_TW.js3
-rw-r--r--lib/l10n/zh_TW.json3
-rw-r--r--lib/private/app.php42
-rw-r--r--lib/private/app/codechecker.php130
-rw-r--r--lib/private/app/codecheckvisitor.php111
-rw-r--r--lib/private/appframework/http/request.php292
-rw-r--r--lib/private/connector/sabre/directory.php45
-rw-r--r--lib/private/connector/sabre/file.php30
-rw-r--r--lib/private/connector/sabre/request.php2
-rw-r--r--lib/private/db/sqlitemigrator.php1
-rw-r--r--lib/private/defaults.php3
-rw-r--r--lib/private/files/cache/changepropagator.php4
-rw-r--r--lib/private/files/filesystem.php9
-rw-r--r--lib/private/image.php2
-rw-r--r--lib/private/installer.php63
-rw-r--r--lib/private/log/owncloud.php5
-rw-r--r--lib/private/memcache/apcu.php2
-rw-r--r--lib/private/memcache/arraycache.php71
-rw-r--r--lib/private/memcache/factory.php24
-rw-r--r--lib/private/request.php330
-rw-r--r--lib/private/response.php11
-rw-r--r--lib/private/route/router.php5
-rw-r--r--lib/private/security/securerandom.php3
-rw-r--r--lib/private/security/trusteddomainhelper.php75
-rw-r--r--lib/private/server.php101
-rw-r--r--lib/private/setup.php6
-rw-r--r--lib/private/template.php5
-rw-r--r--lib/private/templatelayout.php10
-rw-r--r--lib/private/urlgenerator.php3
-rw-r--r--lib/private/user.php2
-rw-r--r--lib/private/util.php7
-rw-r--r--lib/public/activity/iextension.php2
-rw-r--r--lib/public/irequest.php65
-rw-r--r--lib/public/security/isecurerandom.php5
-rw-r--r--lib/public/util.php12
-rw-r--r--ocs/v1.php2
-rw-r--r--public.php9
-rw-r--r--remote.php13
-rw-r--r--settings/admin.php9
-rw-r--r--settings/controller/userscontroller.php2
-rw-r--r--settings/l10n/ar.js1
-rw-r--r--settings/l10n/ar.json1
-rw-r--r--settings/l10n/ast.js2
-rw-r--r--settings/l10n/ast.json2
-rw-r--r--settings/l10n/bg_BG.js2
-rw-r--r--settings/l10n/bg_BG.json2
-rw-r--r--settings/l10n/bn_BD.js1
-rw-r--r--settings/l10n/bn_BD.json1
-rw-r--r--settings/l10n/bs.js2
-rw-r--r--settings/l10n/bs.json2
-rw-r--r--settings/l10n/ca.js2
-rw-r--r--settings/l10n/ca.json2
-rw-r--r--settings/l10n/cs_CZ.js7
-rw-r--r--settings/l10n/cs_CZ.json7
-rw-r--r--settings/l10n/da.js5
-rw-r--r--settings/l10n/da.json5
-rw-r--r--settings/l10n/de.js37
-rw-r--r--settings/l10n/de.json37
-rw-r--r--settings/l10n/de_DE.js29
-rw-r--r--settings/l10n/de_DE.json29
-rw-r--r--settings/l10n/el.js2
-rw-r--r--settings/l10n/el.json2
-rw-r--r--settings/l10n/en_GB.js7
-rw-r--r--settings/l10n/en_GB.json7
-rw-r--r--settings/l10n/eo.js1
-rw-r--r--settings/l10n/eo.json1
-rw-r--r--settings/l10n/es.js8
-rw-r--r--settings/l10n/es.json8
-rw-r--r--settings/l10n/es_AR.js1
-rw-r--r--settings/l10n/es_AR.json1
-rw-r--r--settings/l10n/es_MX.js1
-rw-r--r--settings/l10n/es_MX.json1
-rw-r--r--settings/l10n/et_EE.js2
-rw-r--r--settings/l10n/et_EE.json2
-rw-r--r--settings/l10n/eu.js2
-rw-r--r--settings/l10n/eu.json2
-rw-r--r--settings/l10n/fa.js1
-rw-r--r--settings/l10n/fa.json1
-rw-r--r--settings/l10n/fi_FI.js7
-rw-r--r--settings/l10n/fi_FI.json7
-rw-r--r--settings/l10n/fr.js17
-rw-r--r--settings/l10n/fr.json17
-rw-r--r--settings/l10n/gl.js13
-rw-r--r--settings/l10n/gl.json13
-rw-r--r--settings/l10n/he.js1
-rw-r--r--settings/l10n/he.json1
-rw-r--r--settings/l10n/hr.js2
-rw-r--r--settings/l10n/hr.json2
-rw-r--r--settings/l10n/hu_HU.js2
-rw-r--r--settings/l10n/hu_HU.json2
-rw-r--r--settings/l10n/id.js2
-rw-r--r--settings/l10n/id.json2
-rw-r--r--settings/l10n/is.js1
-rw-r--r--settings/l10n/is.json1
-rw-r--r--settings/l10n/it.js7
-rw-r--r--settings/l10n/it.json7
-rw-r--r--settings/l10n/ja.js10
-rw-r--r--settings/l10n/ja.json10
-rw-r--r--settings/l10n/ka_GE.js1
-rw-r--r--settings/l10n/ka_GE.json1
-rw-r--r--settings/l10n/km.js1
-rw-r--r--settings/l10n/km.json1
-rw-r--r--settings/l10n/ko.js2
-rw-r--r--settings/l10n/ko.json2
-rw-r--r--settings/l10n/lt_LT.js1
-rw-r--r--settings/l10n/lt_LT.json1
-rw-r--r--settings/l10n/lv.js1
-rw-r--r--settings/l10n/lv.json1
-rw-r--r--settings/l10n/mk.js1
-rw-r--r--settings/l10n/mk.json1
-rw-r--r--settings/l10n/nb_NO.js2
-rw-r--r--settings/l10n/nb_NO.json2
-rw-r--r--settings/l10n/nl.js5
-rw-r--r--settings/l10n/nl.json5
-rw-r--r--settings/l10n/nn_NO.js1
-rw-r--r--settings/l10n/nn_NO.json1
-rw-r--r--settings/l10n/pl.js4
-rw-r--r--settings/l10n/pl.json4
-rw-r--r--settings/l10n/pt_BR.js3
-rw-r--r--settings/l10n/pt_BR.json3
-rw-r--r--settings/l10n/pt_PT.js5
-rw-r--r--settings/l10n/pt_PT.json5
-rw-r--r--settings/l10n/ro.js1
-rw-r--r--settings/l10n/ro.json1
-rw-r--r--settings/l10n/ru.js2
-rw-r--r--settings/l10n/ru.json2
-rw-r--r--settings/l10n/si_LK.js1
-rw-r--r--settings/l10n/si_LK.json1
-rw-r--r--settings/l10n/sk_SK.js2
-rw-r--r--settings/l10n/sk_SK.json2
-rw-r--r--settings/l10n/sl.js2
-rw-r--r--settings/l10n/sl.json2
-rw-r--r--settings/l10n/sq.js1
-rw-r--r--settings/l10n/sq.json1
-rw-r--r--settings/l10n/sr.js1
-rw-r--r--settings/l10n/sr.json1
-rw-r--r--settings/l10n/sv.js2
-rw-r--r--settings/l10n/sv.json2
-rw-r--r--settings/l10n/ta_LK.js1
-rw-r--r--settings/l10n/ta_LK.json1
-rw-r--r--settings/l10n/th_TH.js1
-rw-r--r--settings/l10n/th_TH.json1
-rw-r--r--settings/l10n/tr.js9
-rw-r--r--settings/l10n/tr.json9
-rw-r--r--settings/l10n/uk.js2
-rw-r--r--settings/l10n/uk.json2
-rw-r--r--settings/l10n/vi.js1
-rw-r--r--settings/l10n/vi.json1
-rw-r--r--settings/l10n/zh_CN.js2
-rw-r--r--settings/l10n/zh_CN.json2
-rw-r--r--settings/l10n/zh_TW.js2
-rw-r--r--settings/l10n/zh_TW.json2
-rw-r--r--settings/routes.php2
-rw-r--r--settings/settings.php19
-rw-r--r--settings/templates/admin.php21
-rw-r--r--settings/templates/help.php8
-rw-r--r--settings/templates/personal.php10
-rw-r--r--settings/templates/settings.development.notice.php19
-rw-r--r--tests/data/app/code-checker/test-const.php10
-rw-r--r--tests/data/app/code-checker/test-extends.php8
-rw-r--r--tests/data/app/code-checker/test-implements.php9
-rw-r--r--tests/data/app/code-checker/test-new.php10
-rw-r--r--tests/data/app/code-checker/test-static-call.php10
-rw-r--r--tests/lib/app/codechecker.php38
-rw-r--r--tests/lib/appframework/controller/ApiControllerTest.php3
-rw-r--r--tests/lib/appframework/controller/ControllerTest.php3
-rw-r--r--tests/lib/appframework/controller/OCSControllerTest.php19
-rw-r--r--tests/lib/appframework/dependencyinjection/DIContainerTest.php3
-rw-r--r--tests/lib/appframework/http/DispatcherTest.php30
-rw-r--r--tests/lib/appframework/http/RequestTest.php804
-rw-r--r--tests/lib/appframework/middleware/MiddlewareDispatcherTest.php3
-rw-r--r--tests/lib/appframework/middleware/MiddlewareTest.php10
-rw-r--r--tests/lib/appframework/middleware/security/CORSMiddlewareTest.php17
-rw-r--r--tests/lib/appframework/middleware/security/SecurityMiddlewareTest.php3
-rw-r--r--tests/lib/appframework/middleware/sessionmiddlewaretest.php3
-rw-r--r--tests/lib/connector/sabre/directory.php30
-rw-r--r--tests/lib/files/cache/changepropagator.php27
-rw-r--r--tests/lib/files/cache/updaterlegacy.php2
-rw-r--r--tests/lib/memcache/arraycache.php17
-rw-r--r--tests/lib/request.php333
-rw-r--r--tests/lib/security/trusteddomainhelper.php70
-rw-r--r--tests/lib/templatelayout.php2
-rw-r--r--tests/settings/controller/userscontrollertest.php22
-rw-r--r--version.php2
585 files changed, 8642 insertions, 2630 deletions
diff --git a/3rdparty b/3rdparty
-Subproject a32d3924bd0012a5410fff4666131cbdfdec200
+Subproject 5142d69c5c467c651a7ef72ea1f09dcfb7ba25b
diff --git a/apps/files/ajax/list.php b/apps/files/ajax/list.php
index 4aed79d70f7..b590776830a 100644
--- a/apps/files/ajax/list.php
+++ b/apps/files/ajax/list.php
@@ -5,7 +5,7 @@ OCP\JSON::checkLoggedIn();
$l = \OC::$server->getL10N('files');
// Load the files
-$dir = isset($_GET['dir']) ? $_GET['dir'] : '';
+$dir = isset($_GET['dir']) ? (string)$_GET['dir'] : '';
$dir = \OC\Files\Filesystem::normalizePath($dir);
try {
diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js
index ffd897981f3..6d4a863f7df 100644
--- a/apps/files/l10n/gl.js
+++ b/apps/files/l10n/gl.js
@@ -79,7 +79,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} e {files}",
"Favorited" : "Marcado como favorito",
"Favorite" : "Favorito",
- "An error occurred while trying to update the tags" : "Houbo un erro ao tentar actualizar as etiquetas",
+ "An error occurred while trying to update the tags" : "Produciuse un erro ao tentar actualizar as etiquetas",
"%s could not be renamed as it has been deleted" : "Non é posíbel renomear %s xa que foi eliminado",
"%s could not be renamed" : "%s non pode cambiar de nome",
"Upload (max. %s)" : "Envío (máx. %s)",
diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json
index d5ba50053c4..6cfaf9f39d0 100644
--- a/apps/files/l10n/gl.json
+++ b/apps/files/l10n/gl.json
@@ -77,7 +77,7 @@
"{dirs} and {files}" : "{dirs} e {files}",
"Favorited" : "Marcado como favorito",
"Favorite" : "Favorito",
- "An error occurred while trying to update the tags" : "Houbo un erro ao tentar actualizar as etiquetas",
+ "An error occurred while trying to update the tags" : "Produciuse un erro ao tentar actualizar as etiquetas",
"%s could not be renamed as it has been deleted" : "Non é posíbel renomear %s xa que foi eliminado",
"%s could not be renamed" : "%s non pode cambiar de nome",
"Upload (max. %s)" : "Envío (máx. %s)",
diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js
index 0cb3193c61d..1d8026e2139 100644
--- a/apps/files/l10n/ja.js
+++ b/apps/files/l10n/ja.js
@@ -79,6 +79,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} と {files}",
"Favorited" : "お気に入り済",
"Favorite" : "お気に入り",
+ "An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました",
"%s could not be renamed as it has been deleted" : "%s は削除されたため、ファイル名を変更できません",
"%s could not be renamed" : "%sの名前を変更できませんでした",
"Upload (max. %s)" : "アップロード ( 最大 %s )",
diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json
index 570b63ab5f7..8d758fb5037 100644
--- a/apps/files/l10n/ja.json
+++ b/apps/files/l10n/ja.json
@@ -77,6 +77,7 @@
"{dirs} and {files}" : "{dirs} と {files}",
"Favorited" : "お気に入り済",
"Favorite" : "お気に入り",
+ "An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました",
"%s could not be renamed as it has been deleted" : "%s は削除されたため、ファイル名を変更できません",
"%s could not be renamed" : "%sの名前を変更できませんでした",
"Upload (max. %s)" : "アップロード ( 最大 %s )",
diff --git a/apps/files/l10n/mr.js b/apps/files/l10n/mr.js
new file mode 100644
index 00000000000..7988332fa91
--- /dev/null
+++ b/apps/files/l10n/mr.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "files",
+ {
+ "_%n folder_::_%n folders_" : ["",""],
+ "_%n file_::_%n files_" : ["",""],
+ "_Uploading %n file_::_Uploading %n files_" : ["",""],
+ "_matches '{filter}'_::_match '{filter}'_" : ["",""]
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/mr.json b/apps/files/l10n/mr.json
new file mode 100644
index 00000000000..ef5fc586755
--- /dev/null
+++ b/apps/files/l10n/mr.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "_%n folder_::_%n folders_" : ["",""],
+ "_%n file_::_%n files_" : ["",""],
+ "_Uploading %n file_::_Uploading %n files_" : ["",""],
+ "_matches '{filter}'_::_match '{filter}'_" : ["",""]
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/files_encryption/l10n/gl.js b/apps/files_encryption/l10n/gl.js
index 6e9983159fd..b9654e5b25e 100644
--- a/apps/files_encryption/l10n/gl.js
+++ b/apps/files_encryption/l10n/gl.js
@@ -10,7 +10,7 @@ OC.L10N.register(
"Recovery key successfully disabled" : "Desactivada satisfactoriamente a chave de recuperación",
"Please provide the old recovery password" : "Introduza a chave de recuperación antiga",
"Please provide a new recovery password" : "Introduza a nova chave de recuperación",
- "Please repeat the new recovery password" : "Por favor repita a nova chave de recuperación",
+ "Please repeat the new recovery password" : "Repita a nova chave de recuperación",
"Password successfully changed." : "O contrasinal foi cambiado satisfactoriamente",
"Could not change the password. Maybe the old password was not correct." : "Non foi posíbel cambiar o contrasinal. Probabelmente o contrasinal antigo non é o correcto.",
"Could not update the private key password." : "Non foi posíbel actualizar o contrasinal da chave privada.",
diff --git a/apps/files_encryption/l10n/gl.json b/apps/files_encryption/l10n/gl.json
index 6295f339253..6c484fad83a 100644
--- a/apps/files_encryption/l10n/gl.json
+++ b/apps/files_encryption/l10n/gl.json
@@ -8,7 +8,7 @@
"Recovery key successfully disabled" : "Desactivada satisfactoriamente a chave de recuperación",
"Please provide the old recovery password" : "Introduza a chave de recuperación antiga",
"Please provide a new recovery password" : "Introduza a nova chave de recuperación",
- "Please repeat the new recovery password" : "Por favor repita a nova chave de recuperación",
+ "Please repeat the new recovery password" : "Repita a nova chave de recuperación",
"Password successfully changed." : "O contrasinal foi cambiado satisfactoriamente",
"Could not change the password. Maybe the old password was not correct." : "Non foi posíbel cambiar o contrasinal. Probabelmente o contrasinal antigo non é o correcto.",
"Could not update the private key password." : "Non foi posíbel actualizar o contrasinal da chave privada.",
diff --git a/apps/files_external/3rdparty/autoload.php b/apps/files_external/3rdparty/autoload.php
new file mode 100644
index 00000000000..78e3de4ca0c
--- /dev/null
+++ b/apps/files_external/3rdparty/autoload.php
@@ -0,0 +1,7 @@
+<?php
+
+// autoload.php @generated by Composer
+
+require_once __DIR__ . '/composer' . '/autoload_real.php';
+
+return ComposerAutoloaderInit98fe9b281934250b3a93f69a5ce843b3::getLoader();
diff --git a/apps/files_external/3rdparty/composer.json b/apps/files_external/3rdparty/composer.json
new file mode 100644
index 00000000000..b1315651c99
--- /dev/null
+++ b/apps/files_external/3rdparty/composer.json
@@ -0,0 +1,13 @@
+{
+ "name": "files_external/3rdparty",
+ "description": "3rdparty components for files_external",
+ "license": "MIT",
+ "config": {
+ "vendor-dir": "."
+ },
+ "require": {
+ "icewind/smb": "dev-master",
+ "icewind/streams": "0.2"
+ }
+}
+
diff --git a/apps/files_external/3rdparty/composer.lock b/apps/files_external/3rdparty/composer.lock
new file mode 100644
index 00000000000..3da75b2a900
--- /dev/null
+++ b/apps/files_external/3rdparty/composer.lock
@@ -0,0 +1,101 @@
+{
+ "_readme": [
+ "This file locks the dependencies of your project to a known state",
+ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
+ "This file is @generated automatically"
+ ],
+ "hash": "c854ee7f5bdcb3f2c8ee0a8cfe5e193a",
+ "packages": [
+ {
+ "name": "icewind/smb",
+ "version": "dev-master",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/icewind1991/SMB.git",
+ "reference": "ededbfbaa3d7124ce8d4b6c119cd225fa342916d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/icewind1991/SMB/zipball/ededbfbaa3d7124ce8d4b6c119cd225fa342916d",
+ "reference": "ededbfbaa3d7124ce8d4b6c119cd225fa342916d",
+ "shasum": ""
+ },
+ "require": {
+ "icewind/streams": "0.2.x",
+ "php": ">=5.3"
+ },
+ "require-dev": {
+ "satooshi/php-coveralls": "dev-master"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Icewind\\SMB\\": "src/",
+ "Icewind\\SMB\\Test\\": "tests/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Robin Appelman",
+ "email": "icewind@owncloud.com"
+ }
+ ],
+ "description": "php wrapper for smbclient and libsmbclient-php",
+ "time": "2015-02-10 16:37:37"
+ },
+ {
+ "name": "icewind/streams",
+ "version": "0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/icewind1991/Streams.git",
+ "reference": "5aae45f2ddd3d1a6e2a496dd5d1e7857bfeb605a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/icewind1991/Streams/zipball/5aae45f2ddd3d1a6e2a496dd5d1e7857bfeb605a",
+ "reference": "5aae45f2ddd3d1a6e2a496dd5d1e7857bfeb605a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3"
+ },
+ "require-dev": {
+ "satooshi/php-coveralls": "dev-master"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Icewind\\Streams\\Tests\\": "tests/",
+ "Icewind\\Streams\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Robin Appelman",
+ "email": "icewind@owncloud.com"
+ }
+ ],
+ "description": "A set of generic stream wrappers",
+ "time": "2014-07-30 23:46:15"
+ }
+ ],
+ "packages-dev": [],
+ "aliases": [],
+ "minimum-stability": "stable",
+ "stability-flags": {
+ "icewind/smb": 20
+ },
+ "prefer-stable": false,
+ "prefer-lowest": false,
+ "platform": [],
+ "platform-dev": []
+}
diff --git a/apps/files_external/3rdparty/composer/ClassLoader.php b/apps/files_external/3rdparty/composer/ClassLoader.php
new file mode 100644
index 00000000000..5e1469e8307
--- /dev/null
+++ b/apps/files_external/3rdparty/composer/ClassLoader.php
@@ -0,0 +1,413 @@
+<?php
+
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ * Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Autoload;
+
+/**
+ * ClassLoader implements a PSR-0 class loader
+ *
+ * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
+ *
+ * $loader = new \Composer\Autoload\ClassLoader();
+ *
+ * // register classes with namespaces
+ * $loader->add('Symfony\Component', __DIR__.'/component');
+ * $loader->add('Symfony', __DIR__.'/framework');
+ *
+ * // activate the autoloader
+ * $loader->register();
+ *
+ * // to enable searching the include path (eg. for PEAR packages)
+ * $loader->setUseIncludePath(true);
+ *
+ * In this example, if you try to use a class in the Symfony\Component
+ * namespace or one of its children (Symfony\Component\Console for instance),
+ * the autoloader will first look for the class under the component/
+ * directory, and it will then fallback to the framework/ directory if not
+ * found before giving up.
+ *
+ * This class is loosely based on the Symfony UniversalClassLoader.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ * @author Jordi Boggiano <j.boggiano@seld.be>
+ */
+class ClassLoader
+{
+ // PSR-4
+ private $prefixLengthsPsr4 = array();
+ private $prefixDirsPsr4 = array();
+ private $fallbackDirsPsr4 = array();
+
+ // PSR-0
+ private $prefixesPsr0 = array();
+ private $fallbackDirsPsr0 = array();
+
+ private $useIncludePath = false;
+ private $classMap = array();
+
+ private $classMapAuthoritative = false;
+
+ public function getPrefixes()
+ {
+ if (!empty($this->prefixesPsr0)) {
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
+ }
+
+ return array();
+ }
+
+ public function getPrefixesPsr4()
+ {
+ return $this->prefixDirsPsr4;
+ }
+
+ public function getFallbackDirs()
+ {
+ return $this->fallbackDirsPsr0;
+ }
+
+ public function getFallbackDirsPsr4()
+ {
+ return $this->fallbackDirsPsr4;
+ }
+
+ public function getClassMap()
+ {
+ return $this->classMap;
+ }
+
+ /**
+ * @param array $classMap Class to filename map
+ */
+ public function addClassMap(array $classMap)
+ {
+ if ($this->classMap) {
+ $this->classMap = array_merge($this->classMap, $classMap);
+ } else {
+ $this->classMap = $classMap;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix, either
+ * appending or prepending to the ones previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 root directories
+ * @param bool $prepend Whether to prepend the directories
+ */
+ public function add($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ if ($prepend) {
+ $this->fallbackDirsPsr0 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr0
+ );
+ } else {
+ $this->fallbackDirsPsr0 = array_merge(
+ $this->fallbackDirsPsr0,
+ (array) $paths
+ );
+ }
+
+ return;
+ }
+
+ $first = $prefix[0];
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
+
+ return;
+ }
+ if ($prepend) {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixesPsr0[$first][$prefix]
+ );
+ } else {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ $this->prefixesPsr0[$first][$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace, either
+ * appending or prepending to the ones previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-0 base directories
+ * @param bool $prepend Whether to prepend the directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function addPsr4($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ // Register directories for the root namespace.
+ if ($prepend) {
+ $this->fallbackDirsPsr4 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr4
+ );
+ } else {
+ $this->fallbackDirsPsr4 = array_merge(
+ $this->fallbackDirsPsr4,
+ (array) $paths
+ );
+ }
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
+ // Register directories for a new namespace.
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ } elseif ($prepend) {
+ // Prepend directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixDirsPsr4[$prefix]
+ );
+ } else {
+ // Append directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ $this->prefixDirsPsr4[$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix,
+ * replacing any others previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 base directories
+ */
+ public function set($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr0 = (array) $paths;
+ } else {
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace,
+ * replacing any others previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-4 base directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function setPsr4($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr4 = (array) $paths;
+ } else {
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Turns on searching the include path for class files.
+ *
+ * @param bool $useIncludePath
+ */
+ public function setUseIncludePath($useIncludePath)
+ {
+ $this->useIncludePath = $useIncludePath;
+ }
+
+ /**
+ * Can be used to check if the autoloader uses the include path to check
+ * for classes.
+ *
+ * @return bool
+ */
+ public function getUseIncludePath()
+ {
+ return $this->useIncludePath;
+ }
+
+ /**
+ * Turns off searching the prefix and fallback directories for classes
+ * that have not been registered with the class map.
+ *
+ * @param bool $classMapAuthoritative
+ */
+ public function setClassMapAuthoritative($classMapAuthoritative)
+ {
+ $this->classMapAuthoritative = $classMapAuthoritative;
+ }
+
+ /**
+ * Should class lookup fail if not found in the current class map?
+ *
+ * @return bool
+ */
+ public function isClassMapAuthoritative()
+ {
+ return $this->classMapAuthoritative;
+ }
+
+ /**
+ * Registers this instance as an autoloader.
+ *
+ * @param bool $prepend Whether to prepend the autoloader or not
+ */
+ public function register($prepend = false)
+ {
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
+ }
+
+ /**
+ * Unregisters this instance as an autoloader.
+ */
+ public function unregister()
+ {
+ spl_autoload_unregister(array($this, 'loadClass'));
+ }
+
+ /**
+ * Loads the given class or interface.
+ *
+ * @param string $class The name of the class
+ * @return bool|null True if loaded, null otherwise
+ */
+ public function loadClass($class)
+ {
+ if ($file = $this->findFile($class)) {
+ includeFile($file);
+
+ return true;
+ }
+ }
+
+ /**
+ * Finds the path to the file where the class is defined.
+ *
+ * @param string $class The name of the class
+ *
+ * @return string|false The path if found, false otherwise
+ */
+ public function findFile($class)
+ {
+ // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
+ if ('\\' == $class[0]) {
+ $class = substr($class, 1);
+ }
+
+ // class map lookup
+ if (isset($this->classMap[$class])) {
+ return $this->classMap[$class];
+ }
+ if ($this->classMapAuthoritative) {
+ return false;
+ }
+
+ $file = $this->findFileWithExtension($class, '.php');
+
+ // Search for Hack files if we are running on HHVM
+ if ($file === null && defined('HHVM_VERSION')) {
+ $file = $this->findFileWithExtension($class, '.hh');
+ }
+
+ if ($file === null) {
+ // Remember that this class does not exist.
+ return $this->classMap[$class] = false;
+ }
+
+ return $file;
+ }
+
+ private function findFileWithExtension($class, $ext)
+ {
+ // PSR-4 lookup
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
+
+ $first = $class[0];
+ if (isset($this->prefixLengthsPsr4[$first])) {
+ foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-4 fallback dirs
+ foreach ($this->fallbackDirsPsr4 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 lookup
+ if (false !== $pos = strrpos($class, '\\')) {
+ // namespaced class name
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
+ } else {
+ // PEAR-like class name
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
+ }
+
+ if (isset($this->prefixesPsr0[$first])) {
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($dirs as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-0 fallback dirs
+ foreach ($this->fallbackDirsPsr0 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 include paths.
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
+ return $file;
+ }
+ }
+}
+
+/**
+ * Scope isolated include.
+ *
+ * Prevents access to $this/self from included files.
+ */
+function includeFile($file)
+{
+ include $file;
+}
diff --git a/apps/files_external/3rdparty/composer/autoload_classmap.php b/apps/files_external/3rdparty/composer/autoload_classmap.php
new file mode 100644
index 00000000000..1bd6482f9ea
--- /dev/null
+++ b/apps/files_external/3rdparty/composer/autoload_classmap.php
@@ -0,0 +1,9 @@
+<?php
+
+// autoload_classmap.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = $vendorDir;
+
+return array(
+);
diff --git a/apps/files_external/3rdparty/composer/autoload_namespaces.php b/apps/files_external/3rdparty/composer/autoload_namespaces.php
new file mode 100644
index 00000000000..71c9e91858d
--- /dev/null
+++ b/apps/files_external/3rdparty/composer/autoload_namespaces.php
@@ -0,0 +1,9 @@
+<?php
+
+// autoload_namespaces.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = $vendorDir;
+
+return array(
+);
diff --git a/apps/files_external/3rdparty/composer/autoload_psr4.php b/apps/files_external/3rdparty/composer/autoload_psr4.php
new file mode 100644
index 00000000000..7cfe0f1c46d
--- /dev/null
+++ b/apps/files_external/3rdparty/composer/autoload_psr4.php
@@ -0,0 +1,13 @@
+<?php
+
+// autoload_psr4.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = $vendorDir;
+
+return array(
+ 'Icewind\\Streams\\Tests\\' => array($vendorDir . '/icewind/streams/tests'),
+ 'Icewind\\Streams\\' => array($vendorDir . '/icewind/streams/src'),
+ 'Icewind\\SMB\\Test\\' => array($vendorDir . '/icewind/smb/tests'),
+ 'Icewind\\SMB\\' => array($vendorDir . '/icewind/smb/src'),
+);
diff --git a/apps/files_external/3rdparty/composer/autoload_real.php b/apps/files_external/3rdparty/composer/autoload_real.php
new file mode 100644
index 00000000000..3391b322be0
--- /dev/null
+++ b/apps/files_external/3rdparty/composer/autoload_real.php
@@ -0,0 +1,50 @@
+<?php
+
+// autoload_real.php @generated by Composer
+
+class ComposerAutoloaderInit98fe9b281934250b3a93f69a5ce843b3
+{
+ private static $loader;
+
+ public static function loadClassLoader($class)
+ {
+ if ('Composer\Autoload\ClassLoader' === $class) {
+ require __DIR__ . '/ClassLoader.php';
+ }
+ }
+
+ public static function getLoader()
+ {
+ if (null !== self::$loader) {
+ return self::$loader;
+ }
+
+ spl_autoload_register(array('ComposerAutoloaderInit98fe9b281934250b3a93f69a5ce843b3', 'loadClassLoader'), true, true);
+ self::$loader = $loader = new \Composer\Autoload\ClassLoader();
+ spl_autoload_unregister(array('ComposerAutoloaderInit98fe9b281934250b3a93f69a5ce843b3', 'loadClassLoader'));
+
+ $map = require __DIR__ . '/autoload_namespaces.php';
+ foreach ($map as $namespace => $path) {
+ $loader->set($namespace, $path);
+ }
+
+ $map = require __DIR__ . '/autoload_psr4.php';
+ foreach ($map as $namespace => $path) {
+ $loader->setPsr4($namespace, $path);
+ }
+
+ $classMap = require __DIR__ . '/autoload_classmap.php';
+ if ($classMap) {
+ $loader->addClassMap($classMap);
+ }
+
+ $loader->register(true);
+
+ return $loader;
+ }
+}
+
+function composerRequire98fe9b281934250b3a93f69a5ce843b3($file)
+{
+ require $file;
+}
diff --git a/apps/files_external/3rdparty/composer/installed.json b/apps/files_external/3rdparty/composer/installed.json
new file mode 100644
index 00000000000..03bad8abf36
--- /dev/null
+++ b/apps/files_external/3rdparty/composer/installed.json
@@ -0,0 +1,87 @@
+[
+ {
+ "name": "icewind/streams",
+ "version": "0.2",
+ "version_normalized": "0.2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/icewind1991/Streams.git",
+ "reference": "5aae45f2ddd3d1a6e2a496dd5d1e7857bfeb605a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/icewind1991/Streams/zipball/5aae45f2ddd3d1a6e2a496dd5d1e7857bfeb605a",
+ "reference": "5aae45f2ddd3d1a6e2a496dd5d1e7857bfeb605a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3"
+ },
+ "require-dev": {
+ "satooshi/php-coveralls": "dev-master"
+ },
+ "time": "2014-07-30 23:46:15",
+ "type": "library",
+ "installation-source": "dist",
+ "autoload": {
+ "psr-4": {
+ "Icewind\\Streams\\Tests\\": "tests/",
+ "Icewind\\Streams\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Robin Appelman",
+ "email": "icewind@owncloud.com"
+ }
+ ],
+ "description": "A set of generic stream wrappers"
+ },
+ {
+ "name": "icewind/smb",
+ "version": "dev-master",
+ "version_normalized": "9999999-dev",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/icewind1991/SMB.git",
+ "reference": "ededbfbaa3d7124ce8d4b6c119cd225fa342916d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/icewind1991/SMB/zipball/ededbfbaa3d7124ce8d4b6c119cd225fa342916d",
+ "reference": "ededbfbaa3d7124ce8d4b6c119cd225fa342916d",
+ "shasum": ""
+ },
+ "require": {
+ "icewind/streams": "0.2.x",
+ "php": ">=5.3"
+ },
+ "require-dev": {
+ "satooshi/php-coveralls": "dev-master"
+ },
+ "time": "2015-02-10 16:37:37",
+ "type": "library",
+ "installation-source": "source",
+ "autoload": {
+ "psr-4": {
+ "Icewind\\SMB\\": "src/",
+ "Icewind\\SMB\\Test\\": "tests/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Robin Appelman",
+ "email": "icewind@owncloud.com"
+ }
+ ],
+ "description": "php wrapper for smbclient and libsmbclient-php"
+ }
+]
diff --git a/apps/files_external/3rdparty/icewind/smb/.gitignore b/apps/files_external/3rdparty/icewind/smb/.gitignore
new file mode 100644
index 00000000000..3ce5adbbde5
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/.gitignore
@@ -0,0 +1,2 @@
+.idea
+vendor
diff --git a/apps/files_external/3rdparty/icewind/smb/.travis.yml b/apps/files_external/3rdparty/icewind/smb/.travis.yml
new file mode 100644
index 00000000000..c1ac3727d08
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/.travis.yml
@@ -0,0 +1,50 @@
+language: php
+php:
+ - 5.3
+ - 5.4
+ - 5.5
+
+env:
+ global:
+ - CURRENT_DIR=`pwd`
+
+before_install:
+ - pass=$(perl -e 'print crypt("test", "password")')
+ - sudo useradd -m -p $pass test
+ - sudo apt-get update -qq
+ - sudo apt-get install samba smbclient libsmbclient-dev libsmbclient
+ - wget -O /tmp/libsmbclient-php.zip https://github.com/eduardok/libsmbclient-php/archive/master.zip
+ - unzip /tmp/libsmbclient-php.zip -d /tmp
+ - cd /tmp/libsmbclient-php-master
+ - phpize && ./configure && make && sudo make install
+ - echo 'extension="libsmbclient.so"' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
+ - cd $CURRENT_DIR
+ - chmod go+w $HOME
+ - printf "%s\n%s\n" test test|sudo smbpasswd -s test
+ - sudo mkdir /home/test/test
+ - sudo chown test /home/test/test
+ - |
+ echo "[test]
+ comment = test
+ path = /home/test
+ guest ok = yes
+ writeable = yes
+ map archive = yes
+ map system = yes
+ map hidden = yes
+ create mask = 0777
+ inherit permissions = yes" | sudo tee -a /etc/samba/smb.conf
+ - sudo service smbd restart
+ - testparm -s
+
+install:
+ - composer install --dev --no-interaction
+
+script:
+ - mkdir -p build/logs
+ - cd tests
+ - phpunit --coverage-clover ../build/logs/clover.xml --configuration phpunit.xml
+
+after_script:
+ - cd $CURRENT_DIR
+ - php vendor/bin/coveralls -v
diff --git a/apps/files_external/3rdparty/icewind/smb/LICENSE.txt b/apps/files_external/3rdparty/icewind/smb/LICENSE.txt
new file mode 100644
index 00000000000..16e3a1004ec
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/LICENSE.txt
@@ -0,0 +1,19 @@
+Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/apps/files_external/3rdparty/icewind/smb/README.md b/apps/files_external/3rdparty/icewind/smb/README.md
new file mode 100644
index 00000000000..a0864717b09
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/README.md
@@ -0,0 +1,136 @@
+SMB
+===
+
+[![Coverage Status](https://img.shields.io/coveralls/icewind1991/SMB.svg)](https://coveralls.io/r/icewind1991/SMB?branch=master)
+[![Build Status](https://travis-ci.org/icewind1991/SMB.svg?branch=master)](https://travis-ci.org/icewind1991/SMB)
+[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/icewind1991/SMB/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/icewind1991/SMB/?branch=master)
+
+PHP wrapper for `smbclient` and [`libsmbclient-php`](https://github.com/eduardok/libsmbclient-php)
+
+- Reuses a single `smbclient` instance for multiple requests
+- Doesn't leak the password to the process list
+- Simple 1-on-1 mapping of SMB commands
+- A stream-based api to remove the need for temporary files
+- Support for using libsmbclient directly trough [`libsmbclient-php`](https://github.com/eduardok/libsmbclient-php)
+
+Examples
+----
+
+### Upload a file ###
+
+```php
+<?php
+use Icewind\SMB\Server;
+
+require('vendor/autoload.php');
+
+$fileToUpload = __FILE__;
+
+$server = new Server('localhost', 'test', 'test');
+$share = $server->getShare('test');
+$share->put($fileToUpload, 'example.txt');
+```
+
+### Download a file ###
+
+```php
+<?php
+use Icewind\SMB\Server;
+
+require('vendor/autoload.php');
+
+$target = __DIR__ . '/target.txt';
+
+$server = new Server('localhost', 'test', 'test');
+$share = $server->getShare('test');
+$share->get('example.txt', $target);
+```
+
+### List shares on the remote server ###
+
+```php
+<?php
+use Icewind\SMB\Server;
+
+require('vendor/autoload.php');
+
+$server = new Server('localhost', 'test', 'test');
+$shares = $server->listShares();
+
+foreach ($shares as $share) {
+ echo $share->getName() . "\n";
+}
+```
+
+### List the content of a folder ###
+
+```php
+<?php
+use Icewind\SMB\Server;
+
+require('vendor/autoload.php');
+
+$server = new Server('localhost', 'test', 'test');
+$share = $server->getShare('test');
+$content = $share->dir('test');
+
+foreach ($content as $info) {
+ echo $name->getName() . "\n";
+ echo "\tsize :" . $info->getSize() . "\n";
+}
+```
+
+### Using read streams
+
+```php
+<?php
+use Icewind\SMB\Server;
+
+require('vendor/autoload.php');
+
+$server = new Server('localhost', 'test', 'test');
+$share = $server->getShare('test');
+
+$fh = $share->read('test.txt');
+echo fread($fh, 4086);
+fclose($fh);
+```
+
+### Using write streams
+
+```php
+<?php
+use Icewind\SMB\Server;
+
+require('vendor/autoload.php');
+
+$server = new Server('localhost', 'test', 'test');
+$share = $server->getShare('test');
+
+$fh = $share->write('test.txt');
+fwrite($fh, 'bar');
+fclose($fh);
+```
+
+### Using libsmbclient-php ###
+
+Install [libsmbclient-php](https://github.com/eduardok/libsmbclient-php)
+
+```php
+<?php
+use Icewind\SMB\Server;
+use Icewind\SMB\NativeServer;
+
+require('vendor/autoload.php');
+
+$fileToUpload = __FILE__;
+
+if (Server::NativeAvailable()) {
+ $server = new NativeServer('localhost', 'test', 'test');
+} else {
+ echo 'libsmbclient-php not available, falling back to wrapping smbclient';
+ $server = new Server('localhost', 'test', 'test');
+}
+$share = $server->getShare('test');
+$share->put($fileToUpload, 'example.txt');
+```
diff --git a/apps/files_external/3rdparty/icewind/smb/composer.json b/apps/files_external/3rdparty/icewind/smb/composer.json
new file mode 100644
index 00000000000..92f4280d775
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/composer.json
@@ -0,0 +1,24 @@
+{
+ "name" : "icewind/smb",
+ "description" : "php wrapper for smbclient and libsmbclient-php",
+ "license" : "MIT",
+ "authors" : [
+ {
+ "name" : "Robin Appelman",
+ "email": "icewind@owncloud.com"
+ }
+ ],
+ "require" : {
+ "php": ">=5.3",
+ "icewind/streams": "0.2.x"
+ },
+ "require-dev": {
+ "satooshi/php-coveralls" : "dev-master"
+ },
+ "autoload" : {
+ "psr-4": {
+ "Icewind\\SMB\\": "src/",
+ "Icewind\\SMB\\Test\\": "tests/"
+ }
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Connection.php b/apps/files_external/3rdparty/icewind/smb/src/Connection.php
new file mode 100644
index 00000000000..6191b11ac8e
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Connection.php
@@ -0,0 +1,78 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB;
+
+use Icewind\SMB\Exception\AuthenticationException;
+use Icewind\SMB\Exception\ConnectionException;
+use Icewind\SMB\Exception\InvalidHostException;
+
+class Connection extends RawConnection {
+ const DELIMITER = 'smb:';
+
+ /**
+ * send input to smbclient
+ *
+ * @param string $input
+ */
+ public function write($input) {
+ parent::write($input . PHP_EOL);
+ }
+
+ /**
+ * get all unprocessed output from smbclient until the next prompt
+ *
+ * @throws ConnectionException
+ * @return string
+ */
+ public function read() {
+ if (!$this->isValid()) {
+ throw new ConnectionException();
+ }
+ $line = $this->readLine(); //first line is prompt
+ $this->checkConnectionError($line);
+
+ $output = array();
+ $line = $this->readLine();
+ $length = mb_strlen(self::DELIMITER);
+ while (mb_substr($line, 0, $length) !== self::DELIMITER) { //next prompt functions as delimiter
+ $output[] .= $line;
+ $line = $this->readLine();
+ }
+ return $output;
+ }
+
+ /**
+ * check if the first line holds a connection failure
+ *
+ * @param $line
+ * @throws AuthenticationException
+ * @throws InvalidHostException
+ */
+ private function checkConnectionError($line) {
+ $line = rtrim($line, ')');
+ if (substr($line, -23) === ErrorCodes::LogonFailure) {
+ throw new AuthenticationException();
+ }
+ if (substr($line, -26) === ErrorCodes::BadHostName) {
+ throw new InvalidHostException();
+ }
+ if (substr($line, -22) === ErrorCodes::Unsuccessful) {
+ throw new InvalidHostException();
+ }
+ if (substr($line, -28) === ErrorCodes::ConnectionRefused) {
+ throw new InvalidHostException();
+ }
+ }
+
+ public function close($terminate = true) {
+ if (is_resource($this->getInputStream())) {
+ $this->write('close' . PHP_EOL);
+ }
+ parent::close($terminate);
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/ErrorCodes.php b/apps/files_external/3rdparty/icewind/smb/src/ErrorCodes.php
new file mode 100644
index 00000000000..d9f2507cba9
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/ErrorCodes.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB;
+
+class ErrorCodes {
+ /**
+ * connection errors
+ */
+ const LogonFailure = 'NT_STATUS_LOGON_FAILURE';
+ const BadHostName = 'NT_STATUS_BAD_NETWORK_NAME';
+ const Unsuccessful = 'NT_STATUS_UNSUCCESSFUL';
+ const ConnectionRefused = 'NT_STATUS_CONNECTION_REFUSED';
+
+ const PathNotFound = 'NT_STATUS_OBJECT_PATH_NOT_FOUND';
+ const NoSuchFile = 'NT_STATUS_NO_SUCH_FILE';
+ const ObjectNotFound = 'NT_STATUS_OBJECT_NAME_NOT_FOUND';
+ const NameCollision = 'NT_STATUS_OBJECT_NAME_COLLISION';
+ const AccessDenied = 'NT_STATUS_ACCESS_DENIED';
+ const DirectoryNotEmpty = 'NT_STATUS_DIRECTORY_NOT_EMPTY';
+ const FileIsADirectory = 'NT_STATUS_FILE_IS_A_DIRECTORY';
+ const NotADirectory = 'NT_STATUS_NOT_A_DIRECTORY';
+ const SharingViolation = 'NT_STATUS_SHARING_VIOLATION';
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/AccessDeniedException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/AccessDeniedException.php
new file mode 100644
index 00000000000..4b7d22b3540
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/AccessDeniedException.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class AccessDeniedException extends ConnectException {}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/AlreadyExistsException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/AlreadyExistsException.php
new file mode 100644
index 00000000000..4636b9d1786
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/AlreadyExistsException.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class AlreadyExistsException extends InvalidRequestException {}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/AuthenticationException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/AuthenticationException.php
new file mode 100644
index 00000000000..ddf5d7e34dc
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/AuthenticationException.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class AuthenticationException extends ConnectException{}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/ConnectException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/ConnectException.php
new file mode 100644
index 00000000000..310d441bf5c
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/ConnectException.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class ConnectException extends Exception {}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/ConnectionException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/ConnectionException.php
new file mode 100644
index 00000000000..21033560fc0
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/ConnectionException.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class ConnectionException extends ConnectException {}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/ConnectionRefusedException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/ConnectionRefusedException.php
new file mode 100644
index 00000000000..ffebb4c8a51
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/ConnectionRefusedException.php
@@ -0,0 +1,11 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class ConnectionRefusedException extends ConnectException {
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/Exception.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/Exception.php
new file mode 100644
index 00000000000..3307ad57a24
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/Exception.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class Exception extends \Exception {}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/FileInUseException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/FileInUseException.php
new file mode 100644
index 00000000000..46460eb6936
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/FileInUseException.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class FileInUseException extends InvalidRequestException {}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/ForbiddenException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/ForbiddenException.php
new file mode 100644
index 00000000000..117d6a438ea
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/ForbiddenException.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class ForbiddenException extends InvalidRequestException {}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/HostDownException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/HostDownException.php
new file mode 100644
index 00000000000..9ae762b6108
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/HostDownException.php
@@ -0,0 +1,11 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class HostDownException extends ConnectException {
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidHostException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidHostException.php
new file mode 100644
index 00000000000..4b17f1a4de6
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidHostException.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class InvalidHostException extends ConnectException {}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidRequestException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidRequestException.php
new file mode 100644
index 00000000000..0dccd8b909e
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidRequestException.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class InvalidRequestException extends Exception {
+ /**
+ * @var string
+ */
+ protected $path;
+
+ /**
+ * @param string $path
+ * @param int $code
+ */
+ public function __construct($path, $code = 0) {
+ parent::__construct('Invalid request for ' . $path, $code);
+ $this->path = $path;
+ }
+
+ /**
+ * @return string
+ */
+ public function getPath() {
+ return $this->path;
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidTypeException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidTypeException.php
new file mode 100644
index 00000000000..63b79305ad4
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidTypeException.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class InvalidTypeException extends InvalidRequestException {}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/NoRouteToHostException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/NoRouteToHostException.php
new file mode 100644
index 00000000000..03daf36d610
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/NoRouteToHostException.php
@@ -0,0 +1,11 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class NoRouteToHostException extends ConnectException {
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/NotEmptyException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/NotEmptyException.php
new file mode 100644
index 00000000000..789a76bcb9e
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/NotEmptyException.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class NotEmptyException extends InvalidRequestException {}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/NotFoundException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/NotFoundException.php
new file mode 100644
index 00000000000..9ce97cd535b
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/NotFoundException.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class NotFoundException extends InvalidRequestException {}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/TimedOutException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/TimedOutException.php
new file mode 100644
index 00000000000..dd57c9b8ccc
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/TimedOutException.php
@@ -0,0 +1,11 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Exception;
+
+class TimedOutException extends ConnectException {
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/FileInfo.php b/apps/files_external/3rdparty/icewind/smb/src/FileInfo.php
new file mode 100644
index 00000000000..ef9121a8f57
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/FileInfo.php
@@ -0,0 +1,126 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB;
+
+class FileInfo implements IFileInfo {
+ /*
+ * Mappings of the DOS mode bits, as returned by smbc_getxattr() when the
+ * attribute name "system.dos_attr.mode" (or "system.dos_attr.*" or
+ * "system.*") is specified.
+ */
+ const MODE_READONLY = 0x01;
+ const MODE_HIDDEN = 0x02;
+ const MODE_SYSTEM = 0x04;
+ const MODE_VOLUME_ID = 0x08;
+ const MODE_DIRECTORY = 0x10;
+ const MODE_ARCHIVE = 0x20;
+ const MODE_NORMAL = 0x80;
+
+ /**
+ * @var string
+ */
+ protected $path;
+
+ /**
+ * @var string
+ */
+ protected $name;
+
+ /**
+ * @var int
+ */
+ protected $size;
+
+ /**
+ * @var int
+ */
+ protected $time;
+
+ /**
+ * @var int
+ */
+ protected $mode;
+
+ /**
+ * @param string $path
+ * @param string $name
+ * @param int $size
+ * @param int $time
+ * @param int $mode
+ */
+ public function __construct($path, $name, $size, $time, $mode) {
+ $this->path = $path;
+ $this->name = $name;
+ $this->size = $size;
+ $this->time = $time;
+ $this->mode = $mode;
+ }
+
+ /**
+ * @return string
+ */
+ public function getPath() {
+ return $this->path;
+ }
+
+ /**
+ * @return string
+ */
+ public function getName() {
+ return $this->name;
+ }
+
+ /**
+ * @return int
+ */
+ public function getSize() {
+ return $this->size;
+ }
+
+ /**
+ * @return int
+ */
+ public function getMTime() {
+ return $this->time;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isDirectory() {
+ return (bool)($this->mode & self::MODE_DIRECTORY);
+ }
+
+ /**
+ * @return bool
+ */
+ public function isReadOnly() {
+ return (bool)($this->mode & self::MODE_READONLY);
+ }
+
+ /**
+ * @return bool
+ */
+ public function isHidden() {
+ return (bool)($this->mode & self::MODE_HIDDEN);
+ }
+
+ /**
+ * @return bool
+ */
+ public function isSystem() {
+ return (bool)($this->mode & self::MODE_SYSTEM);
+ }
+
+ /**
+ * @return bool
+ */
+ public function isArchived() {
+ return (bool)($this->mode & self::MODE_ARCHIVE);
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/IFileInfo.php b/apps/files_external/3rdparty/icewind/smb/src/IFileInfo.php
new file mode 100644
index 00000000000..16ea8cfbd04
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/IFileInfo.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB;
+
+interface IFileInfo {
+ /**
+ * @return string
+ */
+ public function getPath();
+
+ /**
+ * @return string
+ */
+ public function getName();
+
+ /**
+ * @return int
+ */
+ public function getSize();
+
+ /**
+ * @return int
+ */
+ public function getMTime();
+
+ /**
+ * @return bool
+ */
+ public function isDirectory();
+
+ /**
+ * @return bool
+ */
+ public function isReadOnly();
+
+ /**
+ * @return bool
+ */
+ public function isHidden();
+
+ /**
+ * @return bool
+ */
+ public function isSystem();
+
+ /**
+ * @return bool
+ */
+ public function isArchived();
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/IShare.php b/apps/files_external/3rdparty/icewind/smb/src/IShare.php
new file mode 100644
index 00000000000..4851e9de053
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/IShare.php
@@ -0,0 +1,134 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB;
+
+interface IShare {
+ /**
+ * Get the name of the share
+ *
+ * @return string
+ */
+ public function getName();
+
+ /**
+ * Download a remote file
+ *
+ * @param string $source remove file
+ * @param string $target local file
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function get($source, $target);
+
+ /**
+ * Upload a local file
+ *
+ * @param string $source local file
+ * @param string $target remove file
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function put($source, $target);
+
+ /**
+ * Open a readable stream top a remote file
+ *
+ * @param string $source
+ * @return resource a read only stream with the contents of the remote file
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function read($source);
+
+ /**
+ * Open a writable stream to a remote file
+ *
+ * @param string $target
+ * @return resource a write only stream to upload a remote file
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function write($target);
+
+ /**
+ * Rename a remote file
+ *
+ * @param string $from
+ * @param string $to
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\AlreadyExistsException
+ */
+ public function rename($from, $to);
+
+ /**
+ * Delete a file on the share
+ *
+ * @param string $path
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function del($path);
+
+ /**
+ * List the content of a remote folder
+ *
+ * @param $path
+ * @return \Icewind\SMB\IFileInfo[]
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function dir($path);
+
+ /**
+ * @param string $path
+ * @return \Icewind\SMB\IFileInfo
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ */
+ public function stat($path);
+
+ /**
+ * Create a folder on the share
+ *
+ * @param string $path
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\AlreadyExistsException
+ */
+ public function mkdir($path);
+
+ /**
+ * Remove a folder on the share
+ *
+ * @param string $path
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function rmdir($path);
+
+ /**
+ * @param string $path
+ * @param int $mode a combination of FileInfo::MODE_READONLY, FileInfo::MODE_ARCHIVE, FileInfo::MODE_SYSTEM and FileInfo::MODE_HIDDEN, FileInfo::NORMAL
+ * @return mixed
+ */
+ public function setMode($path, $mode);
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/NativeFileInfo.php b/apps/files_external/3rdparty/icewind/smb/src/NativeFileInfo.php
new file mode 100644
index 00000000000..6ef5cf0c5b9
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/NativeFileInfo.php
@@ -0,0 +1,142 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB;
+
+class NativeFileInfo implements IFileInfo {
+ const MODE_FILE = 0100000;
+
+ /**
+ * @var string
+ */
+ protected $path;
+
+ /**
+ * @var string
+ */
+ protected $name;
+
+ /**
+ * @var \Icewind\SMB\NativeShare
+ */
+ protected $share;
+
+ /**
+ * @var array | null
+ */
+ protected $statCache;
+
+ /**
+ * @var int
+ */
+ protected $modeCache;
+
+ /**
+ * @param \Icewind\SMB\NativeShare $share
+ * @param string $path
+ * @param string $name
+ * @param array $stat
+ */
+ public function __construct($share, $path, $name, $stat = null) {
+ $this->share = $share;
+ $this->path = $path;
+ $this->name = $name;
+ $this->statCache = $stat;
+ }
+
+ /**
+ * @return string
+ */
+ public function getPath() {
+ return $this->path;
+ }
+
+ /**
+ * @return string
+ */
+ public function getName() {
+ return $this->name;
+ }
+
+ /**
+ * @return array
+ */
+ protected function stat() {
+ if (!$this->statCache) {
+ $this->statCache = $this->share->getStat($this->getPath());
+ }
+ return $this->statCache;
+ }
+
+ /**
+ * @return int
+ */
+ public function getSize() {
+ $stat = $this->stat();
+ return $stat['size'];
+ }
+
+ /**
+ * @return int
+ */
+ public function getMTime() {
+ $stat = $this->stat();
+ return $stat['mtime'];
+ }
+
+ /**
+ * @return bool
+ */
+ public function isDirectory() {
+ $stat = $this->stat();
+ return !($stat['mode'] & self::MODE_FILE);
+ }
+
+ /**
+ * @return int
+ */
+ protected function getMode() {
+ if (!$this->modeCache) {
+ $attribute = $this->share->getAttribute($this->path, 'system.dos_attr.mode');
+ // parse hex string
+ $this->modeCache = (int)hexdec(substr($attribute, 2));
+ }
+ return $this->modeCache;
+ }
+
+ /**
+ * @return bool
+ */
+ public function isReadOnly() {
+ $mode = $this->getMode();
+ return (bool)($mode & FileInfo::MODE_READONLY);
+ }
+
+ /**
+ * @return bool
+ */
+ public function isHidden() {
+ $mode = $this->getMode();
+ return (bool)($mode & FileInfo::MODE_HIDDEN);
+ }
+
+ /**
+ * @return bool
+ */
+ public function isSystem() {
+ $mode = $this->getMode();
+ return (bool)($mode & FileInfo::MODE_SYSTEM);
+ }
+
+ /**
+ * @return bool
+ */
+ public function isArchived() {
+ $mode = $this->getMode();
+ return (bool)($mode & FileInfo::MODE_ARCHIVE);
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/NativeServer.php b/apps/files_external/3rdparty/icewind/smb/src/NativeServer.php
new file mode 100644
index 00000000000..4628e3ec108
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/NativeServer.php
@@ -0,0 +1,60 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB;
+
+class NativeServer extends Server {
+ /**
+ * @var \Icewind\SMB\NativeState
+ */
+ protected $state;
+
+ /**
+ * @param string $host
+ * @param string $user
+ * @param string $password
+ */
+ public function __construct($host, $user, $password) {
+ parent::__construct($host, $user, $password);
+ $this->state = new NativeState();
+ }
+
+ protected function connect() {
+ $user = $this->getUser();
+ $workgroup = null;
+ if (strpos($user, '/')) {
+ list($workgroup, $user) = explode($user, '/');
+ }
+ $this->state->init($workgroup, $user, $this->getPassword());
+ }
+
+ /**
+ * @return \Icewind\SMB\IShare[]
+ * @throws \Icewind\SMB\Exception\AuthenticationException
+ * @throws \Icewind\SMB\Exception\InvalidHostException
+ */
+ public function listShares() {
+ $this->connect();
+ $shares = array();
+ $dh = $this->state->opendir('smb://' . $this->getHost());
+ while ($share = $this->state->readdir($dh)) {
+ if ($share['type'] === 'file share') {
+ $shares[] = $this->getShare($share['name']);
+ }
+ }
+ $this->state->closedir($dh);
+ return $shares;
+ }
+
+ /**
+ * @param string $name
+ * @return \Icewind\SMB\IShare
+ */
+ public function getShare($name) {
+ return new NativeShare($this, $name);
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/NativeShare.php b/apps/files_external/3rdparty/icewind/smb/src/NativeShare.php
new file mode 100644
index 00000000000..c84e9611667
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/NativeShare.php
@@ -0,0 +1,288 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB;
+
+class NativeShare implements IShare {
+ /**
+ * @var Server $server
+ */
+ private $server;
+
+ /**
+ * @var string $name
+ */
+ private $name;
+
+ /**
+ * @var \Icewind\SMB\NativeState $state
+ */
+ private $state;
+
+ /**
+ * @param Server $server
+ * @param string $name
+ */
+ public function __construct($server, $name) {
+ $this->server = $server;
+ $this->name = $name;
+ $this->state = new NativeState();
+ }
+
+ /**
+ * @throws \Icewind\SMB\Exception\ConnectionException
+ * @throws \Icewind\SMB\Exception\AuthenticationException
+ * @throws \Icewind\SMB\Exception\InvalidHostException
+ */
+ protected function connect() {
+ if ($this->state and $this->state instanceof NativeShare) {
+ return;
+ }
+
+ $user = $this->server->getUser();
+ if (strpos($user, '/')) {
+ list($workgroup, $user) = explode('/', $user);
+ } elseif (strpos($user, '\\')) {
+ list($workgroup, $user) = explode('\\', $user);
+ } else {
+ $workgroup = null;
+ }
+ $this->state->init($workgroup, $user, $this->server->getPassword());
+ }
+
+ /**
+ * Get the name of the share
+ *
+ * @return string
+ */
+ public function getName() {
+ return $this->name;
+ }
+
+ private function buildUrl($path) {
+ $url = sprintf('smb://%s/%s', $this->server->getHost(), $this->name);
+ if ($path) {
+ $path = trim($path, '/');
+ $url .= '/';
+ $url .= implode('/', array_map('rawurlencode', explode('/', $path)));
+ }
+ return $url;
+ }
+
+ /**
+ * List the content of a remote folder
+ *
+ * @param string $path
+ * @return \Icewind\SMB\IFileInfo[]
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function dir($path) {
+ $this->connect();
+ $files = array();
+
+ $dh = $this->state->opendir($this->buildUrl($path));
+ while ($file = $this->state->readdir($dh)) {
+ $name = $file['name'];
+ if ($name !== '.' and $name !== '..') {
+ $files [] = new NativeFileInfo($this, $path . '/' . $name, $name);
+ }
+ }
+
+ $this->state->closedir($dh);
+ return $files;
+ }
+
+ /**
+ * @param string $path
+ * @return \Icewind\SMB\IFileInfo[]
+ */
+ public function stat($path) {
+ return new NativeFileInfo($this, $path, basename($path), $this->getStat($path));
+ }
+
+ public function getStat($path) {
+ $this->connect();
+ return $this->state->stat($this->buildUrl($path));
+ }
+
+ /**
+ * Create a folder on the share
+ *
+ * @param string $path
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\AlreadyExistsException
+ */
+ public function mkdir($path) {
+ $this->connect();
+ return $this->state->mkdir($this->buildUrl($path));
+ }
+
+ /**
+ * Remove a folder on the share
+ *
+ * @param string $path
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function rmdir($path) {
+ $this->connect();
+ return $this->state->rmdir($this->buildUrl($path));
+ }
+
+ /**
+ * Delete a file on the share
+ *
+ * @param string $path
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function del($path) {
+ return $this->state->unlink($this->buildUrl($path));
+ }
+
+ /**
+ * Rename a remote file
+ *
+ * @param string $from
+ * @param string $to
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\AlreadyExistsException
+ */
+ public function rename($from, $to) {
+ $this->connect();
+ return $this->state->rename($this->buildUrl($from), $this->buildUrl($to));
+ }
+
+ /**
+ * Upload a local file
+ *
+ * @param string $source local file
+ * @param string $target remove file
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function put($source, $target) {
+ $this->connect();
+ $sourceHandle = fopen($source, 'rb');
+ $targetHandle = $this->state->create($this->buildUrl($target));
+
+ while ($data = fread($sourceHandle, 4096)) {
+ $this->state->write($targetHandle, $data);
+ }
+ $this->state->close($targetHandle);
+ return true;
+ }
+
+ /**
+ * Download a remote file
+ *
+ * @param string $source remove file
+ * @param string $target local file
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function get($source, $target) {
+ $this->connect();
+ $sourceHandle = $this->state->open($this->buildUrl($source), 'r');
+ $targetHandle = fopen($target, 'wb');
+
+ while ($data = $this->state->read($sourceHandle, 4096)) {
+ fwrite($targetHandle, $data);
+ }
+ $this->state->close($sourceHandle);
+ return true;
+ }
+
+ /**
+ * Open a readable stream top a remote file
+ *
+ * @param string $source
+ * @return resource a read only stream with the contents of the remote file
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function read($source) {
+ $this->connect();
+ $handle = $this->state->open($this->buildUrl($source), 'r');
+ return NativeStream::wrap($this->state, $handle, 'r');
+ }
+
+ /**
+ * Open a readable stream top a remote file
+ *
+ * @param string $source
+ * @return resource a read only stream with the contents of the remote file
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function write($source) {
+ $this->connect();
+ $handle = $this->state->create($this->buildUrl($source));
+ return NativeStream::wrap($this->state, $handle, 'w');
+ }
+
+ /**
+ * Get extended attributes for the path
+ *
+ * @param string $path
+ * @param string $attribute attribute to get the info
+ * @return string the attribute value
+ */
+ public function getAttribute($path, $attribute) {
+ $this->connect();
+
+ $result = $this->state->getxattr($this->buildUrl($path), $attribute);
+ return $result;
+ }
+
+ /**
+ * Get extended attributes for the path
+ *
+ * @param string $path
+ * @param string $attribute attribute to get the info
+ * @param mixed $value
+ * @return string the attribute value
+ */
+ public function setAttribute($path, $attribute, $value) {
+ $this->connect();
+
+ if ($attribute === 'system.dos_attr.mode' and is_int($value)) {
+ $value = '0x' . dechex($value);
+ }
+
+ return $this->state->setxattr($this->buildUrl($path), $attribute, $value);
+ }
+
+ /**
+ * @param string $path
+ * @param int $mode a combination of FileInfo::MODE_READONLY, FileInfo::MODE_ARCHIVE, FileInfo::MODE_SYSTEM and FileInfo::MODE_HIDDEN, FileInfo::NORMAL
+ * @return mixed
+ */
+ public function setMode($path, $mode) {
+ return $this->setAttribute($path, 'system.dos_attr.mode', $mode);
+ }
+
+ public function __destruct() {
+ unset($this->state);
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/NativeState.php b/apps/files_external/3rdparty/icewind/smb/src/NativeState.php
new file mode 100644
index 00000000000..e3e344d9e01
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/NativeState.php
@@ -0,0 +1,308 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB;
+
+use Icewind\SMB\Exception\AlreadyExistsException;
+use Icewind\SMB\Exception\ConnectionRefusedException;
+use Icewind\SMB\Exception\Exception;
+use Icewind\SMB\Exception\ForbiddenException;
+use Icewind\SMB\Exception\HostDownException;
+use Icewind\SMB\Exception\InvalidTypeException;
+use Icewind\SMB\Exception\NoRouteToHostException;
+use Icewind\SMB\Exception\NotEmptyException;
+use Icewind\SMB\Exception\NotFoundException;
+use Icewind\SMB\Exception\TimedOutException;
+
+/**
+ * Low level wrapper for libsmbclient-php for error handling
+ */
+class NativeState {
+ /**
+ * @var resource
+ */
+ protected $state;
+
+ protected $handlerSet = false;
+
+ protected $connected = false;
+
+ protected function handleError($path) {
+ $error = smbclient_state_errno($this->state);
+ switch ($error) {
+ // see error.h
+ case 0;
+ return;
+ case 1:
+ case 13:
+ throw new ForbiddenException($path, $error);
+ case 2:
+ throw new NotFoundException($path, $error);
+ case 17:
+ throw new AlreadyExistsException($path, $error);
+ case 20:
+ throw new InvalidTypeException($path, $error);
+ case 21:
+ throw new InvalidTypeException($path, $error);
+ case 39:
+ throw new NotEmptyException($path, $error);
+ case 110:
+ throw new TimedOutException($path, $error);
+ case 111:
+ throw new ConnectionRefusedException($path, $error);
+ case 112:
+ throw new HostDownException($path, $error);
+ case 113:
+ throw new NoRouteToHostException($path, $error);
+ default:
+ $message = 'Unknown error (' . $error . ')';
+ if ($path) {
+ $message .= ' for ' . $path;
+ }
+ throw new Exception($message, $error);
+ }
+ }
+
+ protected function testResult($result, $path) {
+ if ($result === false or $result === null) {
+ $this->handleError($path);
+ }
+ }
+
+ /**
+ * @param string $workGroup
+ * @param string $user
+ * @param string $password
+ * @return bool
+ */
+ public function init($workGroup, $user, $password) {
+ if ($this->connected) {
+ return true;
+ }
+ $this->state = smbclient_state_new();
+ $result = @smbclient_state_init($this->state, $workGroup, $user, $password);
+
+ $this->testResult($result, '');
+ $this->connected = true;
+ return $result;
+ }
+
+ /**
+ * @param string $uri
+ * @return resource
+ */
+ public function opendir($uri) {
+ $result = @smbclient_opendir($this->state, $uri);
+
+ $this->testResult($result, $uri);
+ return $result;
+ }
+
+ /**
+ * @param resource $dir
+ * @return array
+ */
+ public function readdir($dir) {
+ $result = @smbclient_readdir($this->state, $dir);
+
+ $this->testResult($result, $dir);
+ return $result;
+ }
+
+ /**
+ * @param $dir
+ * @return bool
+ */
+ public function closedir($dir) {
+ $result = smbclient_closedir($this->state, $dir);
+
+ $this->testResult($result, $dir);
+ return $result;
+ }
+
+ /**
+ * @param string $old
+ * @param string $new
+ * @return bool
+ */
+ public function rename($old, $new) {
+ $result = @smbclient_rename($this->state, $old, $this->state, $new);
+
+ $this->testResult($result, $new);
+ return $result;
+ }
+
+ /**
+ * @param string $uri
+ * @return bool
+ */
+ public function unlink($uri) {
+ $result = @smbclient_unlink($this->state, $uri);
+
+ $this->testResult($result, $uri);
+ return $result;
+ }
+
+ /**
+ * @param string $uri
+ * @param int $mask
+ * @return bool
+ */
+ public function mkdir($uri, $mask = 0777) {
+ $result = @smbclient_mkdir($this->state, $uri, $mask);
+
+ $this->testResult($result, $uri);
+ return $result;
+ }
+
+ /**
+ * @param string $uri
+ * @return bool
+ */
+ public function rmdir($uri) {
+ $result = @smbclient_rmdir($this->state, $uri);
+
+ $this->testResult($result, $uri);
+ return $result;
+ }
+
+ /**
+ * @param string $uri
+ * @return array
+ */
+ public function stat($uri) {
+ $result = @smbclient_stat($this->state, $uri);
+
+ $this->testResult($result, $uri);
+ return $result;
+ }
+
+ /**
+ * @param resource $file
+ * @return array
+ */
+ public function fstat($file) {
+ $result = @smbclient_fstat($this->state, $file);
+
+ $this->testResult($result, $file);
+ return $result;
+ }
+
+ /**
+ * @param string $uri
+ * @param string $mode
+ * @param int $mask
+ * @return resource
+ */
+ public function open($uri, $mode, $mask = 0666) {
+ $result = @smbclient_open($this->state, $uri, $mode, $mask);
+
+ $this->testResult($result, $uri);
+ return $result;
+ }
+
+ /**
+ * @param string $uri
+ * @param int $mask
+ * @return resource
+ */
+ public function create($uri, $mask = 0666) {
+ $result = @smbclient_creat($this->state, $uri, $mask);
+
+ $this->testResult($result, $uri);
+ return $result;
+ }
+
+ /**
+ * @param resource $file
+ * @param int $bytes
+ * @return string
+ */
+ public function read($file, $bytes) {
+ $result = @smbclient_read($this->state, $file, $bytes);
+
+ $this->testResult($result, $file);
+ return $result;
+ }
+
+ /**
+ * @param resource $file
+ * @param string $data
+ * @param int $length
+ * @return int
+ */
+ public function write($file, $data, $length = null) {
+ $result = @smbclient_write($this->state, $file, $data, $length);
+
+ $this->testResult($result, $file);
+ return $result;
+ }
+
+ /**
+ * @param resource $file
+ * @param int $offset
+ * @param int $whence SEEK_SET | SEEK_CUR | SEEK_END
+ * @return int | bool new file offset as measured from the start of the file on success, false on failure.
+ */
+ public function lseek($file, $offset, $whence = SEEK_SET) {
+ $result = @smbclient_lseek($this->state, $file, $offset, $whence);
+
+ $this->testResult($result, $file);
+ return $result;
+ }
+
+ /**
+ * @param resource $file
+ * @param int $size
+ * @return bool
+ */
+ public function ftruncate($file, $size) {
+ $result = @smbclient_ftruncate($this->state, $file, $size);
+
+ $this->testResult($result, $file);
+ return $result;
+ }
+
+ public function close($file) {
+ $result = @smbclient_close($this->state, $file);
+
+ $this->testResult($result, $file);
+ return $result;
+ }
+
+ /**
+ * @param string $uri
+ * @param string $key
+ * @return string
+ */
+ public function getxattr($uri, $key) {
+ $result = @smbclient_getxattr($this->state, $uri, $key);
+
+ $this->testResult($result, $uri);
+ return $result;
+ }
+
+ /**
+ * @param string $uri
+ * @param string $key
+ * @param string $value
+ * @param int $flags
+ * @return mixed
+ */
+ public function setxattr($uri, $key, $value, $flags = 0) {
+ $result = @smbclient_setxattr($this->state, $uri, $key, $value, $flags);
+
+ $this->testResult($result, $uri);
+ return $result;
+ }
+
+ public function __destruct() {
+ if ($this->connected) {
+ smbclient_state_free($this->state);
+ }
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/NativeStream.php b/apps/files_external/3rdparty/icewind/smb/src/NativeStream.php
new file mode 100644
index 00000000000..07bd2f1e797
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/NativeStream.php
@@ -0,0 +1,114 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB;
+
+use Icewind\SMB\Exception\InvalidRequestException;
+use Icewind\Streams\File;
+
+class NativeStream implements File {
+ /**
+ * @var resource
+ */
+ public $context;
+
+ /**
+ * @var \Icewind\SMB\NativeState
+ */
+ private $state;
+
+ /**
+ * @var resource
+ */
+ private $handle;
+
+ /**
+ * @var bool
+ */
+ private $eof = false;
+
+ /**
+ * Wrap a stream from libsmbclient-php into a regular php stream
+ *
+ * @param \Icewind\SMB\NativeState $state
+ * @param resource $smbStream
+ * @param string $mode
+ * @return resource
+ */
+ public static function wrap($state, $smbStream, $mode) {
+ stream_wrapper_register('nativesmb', '\Icewind\SMB\NativeStream');
+ $context = stream_context_create(array(
+ 'nativesmb' => array(
+ 'state' => $state,
+ 'handle' => $smbStream
+ )
+ ));
+ $fh = fopen('nativesmb://', $mode, false, $context);
+ stream_wrapper_unregister('nativesmb');
+ return $fh;
+ }
+
+ public function stream_close() {
+ return $this->state->close($this->handle);
+ }
+
+ public function stream_eof() {
+ return $this->eof;
+ }
+
+ public function stream_flush() {
+ }
+
+
+ public function stream_open($path, $mode, $options, &$opened_path) {
+ $context = stream_context_get_options($this->context);
+ $this->state = $context['nativesmb']['state'];
+ $this->handle = $context['nativesmb']['handle'];
+ return true;
+ }
+
+ public function stream_read($count) {
+ $result = $this->state->read($this->handle, $count);
+ if (strlen($result) < $count) {
+ $this->eof = true;
+ }
+ return $result;
+ }
+
+ public function stream_seek($offset, $whence = SEEK_SET) {
+ $this->eof = false;
+ try {
+ return $this->state->lseek($this->handle, $offset, $whence) !== false;
+ } catch (InvalidRequestException $e) {
+ return false;
+ }
+ }
+
+ public function stream_stat() {
+ return $this->state->fstat($this->handle);
+ }
+
+ public function stream_tell() {
+ return $this->state->lseek($this->handle, 0, SEEK_CUR);
+ }
+
+ public function stream_write($data) {
+ return $this->state->write($this->handle, $data);
+ }
+
+ public function stream_truncate($size) {
+ return $this->state->ftruncate($this->handle, $size);
+ }
+
+ public function stream_set_option($option, $arg1, $arg2) {
+ return false;
+ }
+
+ public function stream_lock($operation) {
+ return false;
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Parser.php b/apps/files_external/3rdparty/icewind/smb/src/Parser.php
new file mode 100644
index 00000000000..645678d9855
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Parser.php
@@ -0,0 +1,130 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB;
+
+use Icewind\SMB\Exception\AccessDeniedException;
+use Icewind\SMB\Exception\AlreadyExistsException;
+use Icewind\SMB\Exception\Exception;
+use Icewind\SMB\Exception\FileInUseException;
+use Icewind\SMB\Exception\InvalidTypeException;
+use Icewind\SMB\Exception\NotEmptyException;
+use Icewind\SMB\Exception\NotFoundException;
+
+class Parser {
+ /**
+ * @var string
+ */
+ protected $timeZone;
+
+ /**
+ * @param string $timeZone
+ */
+ public function __construct($timeZone) {
+ $this->timeZone = $timeZone;
+ }
+
+ public function checkForError($output, $path) {
+ if (count($output) === 0) {
+ return true;
+ } else {
+ if (strpos($output[0], 'does not exist')) {
+ throw new NotFoundException($path);
+ }
+ $parts = explode(' ', $output[0]);
+ $error = false;
+ foreach ($parts as $part) {
+ if (substr($part, 0, 9) === 'NT_STATUS') {
+ $error = $part;
+ }
+ }
+ switch ($error) {
+ case ErrorCodes::PathNotFound:
+ case ErrorCodes::ObjectNotFound:
+ case ErrorCodes::NoSuchFile:
+ throw new NotFoundException($path);
+ case ErrorCodes::NameCollision:
+ throw new AlreadyExistsException($path);
+ case ErrorCodes::AccessDenied:
+ throw new AccessDeniedException($path);
+ case ErrorCodes::DirectoryNotEmpty:
+ throw new NotEmptyException($path);
+ case ErrorCodes::FileIsADirectory:
+ case ErrorCodes::NotADirectory:
+ throw new InvalidTypeException($path);
+ case ErrorCodes::SharingViolation:
+ throw new FileInUseException($path);
+ default:
+ $message = 'Unknown error (' . $error . ')';
+ if ($path) {
+ $message .= ' for ' . $path;
+ }
+ throw new Exception($message);
+ }
+ }
+ }
+
+ public function parseMode($mode) {
+ $result = 0;
+ $modeStrings = array(
+ 'R' => FileInfo::MODE_READONLY,
+ 'H' => FileInfo::MODE_HIDDEN,
+ 'S' => FileInfo::MODE_SYSTEM,
+ 'D' => FileInfo::MODE_DIRECTORY,
+ 'A' => FileInfo::MODE_ARCHIVE,
+ 'N' => FileInfo::MODE_NORMAL
+ );
+ foreach ($modeStrings as $char => $val) {
+ if (strpos($mode, $char) !== false) {
+ $result |= $val;
+ }
+ }
+ return $result;
+ }
+
+ public function parseStat($output) {
+ $mtime = 0;
+ $mode = 0;
+ $size = 0;
+ foreach ($output as $line) {
+ list($name, $value) = explode(':', $line, 2);
+ $value = trim($value);
+ if ($name === 'write_time') {
+ $mtime = strtotime($value);
+ } else if ($name === 'attributes') {
+ $mode = hexdec(substr($value, 1, -1));
+ } else if ($name === 'stream') {
+ list(, $size,) = explode(' ', $value);
+ $size = intval($size);
+ }
+ }
+ return array(
+ 'mtime' => $mtime,
+ 'mode' => $mode,
+ 'size' => $size
+ );
+ }
+
+ public function parseDir($output, $basePath) {
+ //last line is used space
+ array_pop($output);
+ $regex = '/^\s*(.*?)\s\s\s\s+(?:([NDHARS]*)\s+)?([0-9]+)\s+(.*)$/';
+ //2 spaces, filename, optional type, size, date
+ $content = array();
+ foreach ($output as $line) {
+ if (preg_match($regex, $line, $matches)) {
+ list(, $name, $mode, $size, $time) = $matches;
+ if ($name !== '.' and $name !== '..') {
+ $mode = $this->parseMode($mode);
+ $time = strtotime($time . ' ' . $this->timeZone);
+ $content[] = new FileInfo($basePath . '/' . $name, $name, $size, $time, $mode);
+ }
+ }
+ }
+ return $content;
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/RawConnection.php b/apps/files_external/3rdparty/icewind/smb/src/RawConnection.php
new file mode 100644
index 00000000000..926ce3714cf
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/RawConnection.php
@@ -0,0 +1,165 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB;
+
+use Icewind\SMB\Exception\ConnectionException;
+
+class RawConnection {
+ /**
+ * @var string
+ */
+ private $command;
+
+ /**
+ * @var string[]
+ */
+ private $env;
+
+ /**
+ * @var resource[] $pipes
+ *
+ * $pipes[0] holds STDIN for smbclient
+ * $pipes[1] holds STDOUT for smbclient
+ */
+ private $pipes;
+
+ /**
+ * @var resource $process
+ */
+ private $process;
+
+ public function __construct($command, $env = array()) {
+ $this->command = $command;
+ $this->env = $env;
+ $this->connect();
+ }
+
+ private function connect() {
+ $descriptorSpec = array(
+ 0 => array('pipe', 'r'), // child reads from stdin
+ 1 => array('pipe', 'w'), // child writes to stdout
+ 2 => array('pipe', 'w'), // child writes to stderr
+ 3 => array('pipe', 'r'), // child reads from fd#3
+ 4 => array('pipe', 'r'), // child reads from fd#4
+ 5 => array('pipe', 'w') // child writes to fd#5
+ );
+ setlocale(LC_ALL, Server::LOCALE);
+ $env = array_merge($this->env, array(
+ 'CLI_FORCE_INTERACTIVE' => 'y', // Needed or the prompt isn't displayed!!
+ 'LC_ALL' => Server::LOCALE,
+ 'LANG' => Server::LOCALE,
+ 'COLUMNS' => 8192 // prevent smbclient from line-wrapping it's output
+ ));
+ $this->process = proc_open($this->command, $descriptorSpec, $this->pipes, '/', $env);
+ if (!$this->isValid()) {
+ throw new ConnectionException();
+ }
+ }
+
+ /**
+ * check if the connection is still active
+ *
+ * @return bool
+ */
+ public function isValid() {
+ if (is_resource($this->process)) {
+ $status = proc_get_status($this->process);
+ return $status['running'];
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ * send input to the process
+ *
+ * @param string $input
+ */
+ public function write($input) {
+ fwrite($this->getInputStream(), $input);
+ fflush($this->getInputStream());
+ }
+
+ /**
+ * read a line of output
+ *
+ * @return string
+ */
+ public function readLine() {
+ return stream_get_line($this->getOutputStream(), 4086, "\n");
+ }
+
+ /**
+ * get all output until the process closes
+ *
+ * @return array
+ */
+ public function readAll() {
+ $output = array();
+ while ($line = $this->readLine()) {
+ $output[] = $line;
+ }
+ return $output;
+ }
+
+ public function getInputStream() {
+ return $this->pipes[0];
+ }
+
+ public function getOutputStream() {
+ return $this->pipes[1];
+ }
+
+ public function getErrorStream() {
+ return $this->pipes[2];
+ }
+
+ public function getAuthStream() {
+ return $this->pipes[3];
+ }
+
+ public function getFileInputStream() {
+ return $this->pipes[4];
+ }
+
+ public function getFileOutputStream() {
+ return $this->pipes[5];
+ }
+
+ public function writeAuthentication($user, $password) {
+ $auth = ($password === false)
+ ? "username=$user"
+ : "username=$user\npassword=$password";
+
+ if (fwrite($this->getAuthStream(), $auth) === false) {
+ fclose($this->getAuthStream());
+ return false;
+ }
+ fclose($this->getAuthStream());
+ return true;
+ }
+
+ public function close($terminate = true) {
+ if (!is_resource($this->process)) {
+ return;
+ }
+ if ($terminate) {
+ proc_terminate($this->process);
+ }
+ proc_close($this->process);
+ }
+
+ public function reconnect() {
+ $this->close();
+ $this->connect();
+ }
+
+ public function __destruct() {
+ $this->close();
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Server.php b/apps/files_external/3rdparty/icewind/smb/src/Server.php
new file mode 100644
index 00000000000..f7227d4baef
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Server.php
@@ -0,0 +1,141 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB;
+
+use Icewind\SMB\Exception\AuthenticationException;
+use Icewind\SMB\Exception\InvalidHostException;
+
+class Server {
+ const CLIENT = 'smbclient';
+ const LOCALE = 'en_US.UTF-8';
+
+ /**
+ * @var string $host
+ */
+ protected $host;
+
+ /**
+ * @var string $user
+ */
+ protected $user;
+
+ /**
+ * @var string $password
+ */
+ protected $password;
+
+ /**
+ * Check if the smbclient php extension is available
+ *
+ * @return bool
+ */
+ public static function NativeAvailable() {
+ return function_exists('smbclient_state_new');
+ }
+
+ /**
+ * @param string $host
+ * @param string $user
+ * @param string $password
+ */
+ public function __construct($host, $user, $password) {
+ $this->host = $host;
+ $this->user = $user;
+ $this->password = $password;
+ }
+
+ /**
+ * @return string
+ */
+ public function getAuthString() {
+ return $this->user . '%' . $this->password;
+ }
+
+ /**
+ * @return string
+ */
+ public function getUser() {
+ return $this->user;
+ }
+
+ /**
+ * @return string
+ */
+ public function getPassword() {
+ return $this->password;
+ }
+
+ /**
+ * return string
+ */
+ public function getHost() {
+ return $this->host;
+ }
+
+ /**
+ * @return \Icewind\SMB\IShare[]
+ *
+ * @throws \Icewind\SMB\Exception\AuthenticationException
+ * @throws \Icewind\SMB\Exception\InvalidHostException
+ */
+ public function listShares() {
+ $command = Server::CLIENT . ' --authentication-file=/proc/self/fd/3' .
+ ' -gL ' . escapeshellarg($this->getHost());
+ $connection = new RawConnection($command);
+ $connection->writeAuthentication($this->getUser(), $this->getPassword());
+ $output = $connection->readAll();
+
+ $line = $output[0];
+
+ $line = rtrim($line, ')');
+ if (substr($line, -23) === ErrorCodes::LogonFailure) {
+ throw new AuthenticationException();
+ }
+ if (substr($line, -26) === ErrorCodes::BadHostName) {
+ throw new InvalidHostException();
+ }
+ if (substr($line, -22) === ErrorCodes::Unsuccessful) {
+ throw new InvalidHostException();
+ }
+ if (substr($line, -28) === ErrorCodes::ConnectionRefused) {
+ throw new InvalidHostException();
+ }
+
+ $shareNames = array();
+ foreach ($output as $line) {
+ if (strpos($line, '|')) {
+ list($type, $name, $description) = explode('|', $line);
+ if (strtolower($type) === 'disk') {
+ $shareNames[$name] = $description;
+ }
+ }
+ }
+
+ $shares = array();
+ foreach ($shareNames as $name => $description) {
+ $shares[] = $this->getShare($name);
+ }
+ return $shares;
+ }
+
+ /**
+ * @param string $name
+ * @return \Icewind\SMB\IShare
+ */
+ public function getShare($name) {
+ return new Share($this, $name);
+ }
+
+ /**
+ * @return string
+ */
+ public function getTimeZone() {
+ $command = 'net time zone -S ' . escapeshellarg($this->getHost());
+ return exec($command);
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/src/Share.php b/apps/files_external/3rdparty/icewind/smb/src/Share.php
new file mode 100644
index 00000000000..5c48b1702fa
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/src/Share.php
@@ -0,0 +1,394 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB;
+
+use Icewind\SMB\Exception\AccessDeniedException;
+use Icewind\SMB\Exception\AlreadyExistsException;
+use Icewind\SMB\Exception\ConnectionException;
+use Icewind\SMB\Exception\Exception;
+use Icewind\SMB\Exception\FileInUseException;
+use Icewind\SMB\Exception\InvalidTypeException;
+use Icewind\SMB\Exception\NotEmptyException;
+use Icewind\SMB\Exception\NotFoundException;
+use Icewind\Streams\CallbackWrapper;
+
+class Share implements IShare {
+ /**
+ * @var Server $server
+ */
+ private $server;
+
+ /**
+ * @var string $name
+ */
+ private $name;
+
+ /**
+ * @var Connection $connection
+ */
+ public $connection;
+
+ /**
+ * @var \Icewind\SMB\Parser
+ */
+ protected $parser;
+
+ private $serverTimezone;
+
+ /**
+ * @param Server $server
+ * @param string $name
+ */
+ public function __construct($server, $name) {
+ $this->server = $server;
+ $this->name = $name;
+ $this->parser = new Parser($this->server->getTimeZone());
+ }
+
+ /**
+ * @throws \Icewind\SMB\Exception\ConnectionException
+ * @throws \Icewind\SMB\Exception\AuthenticationException
+ * @throws \Icewind\SMB\Exception\InvalidHostException
+ */
+ protected function connect() {
+ if ($this->connection and $this->connection->isValid()) {
+ return;
+ }
+ $command = sprintf('%s --authentication-file=/proc/self/fd/3 //%s/%s',
+ Server::CLIENT,
+ $this->server->getHost(),
+ $this->name
+ );
+ $this->connection = new Connection($command);
+ $this->connection->writeAuthentication($this->server->getUser(), $this->server->getPassword());
+ if (!$this->connection->isValid()) {
+ throw new ConnectionException();
+ }
+ }
+
+ protected function reconnect() {
+ $this->connection->reconnect();
+ $this->connection->writeAuthentication($this->server->getUser(), $this->server->getPassword());
+ if (!$this->connection->isValid()) {
+ throw new ConnectionException();
+ }
+ }
+
+ /**
+ * Get the name of the share
+ *
+ * @return string
+ */
+ public function getName() {
+ return $this->name;
+ }
+
+ protected function simpleCommand($command, $path) {
+ $path = $this->escapePath($path);
+ $cmd = $command . ' ' . $path;
+ $output = $this->execute($cmd);
+ return $this->parseOutput($output, $path);
+ }
+
+ /**
+ * List the content of a remote folder
+ *
+ * @param $path
+ * @return \Icewind\SMB\IFileInfo[]
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function dir($path) {
+ $escapedPath = $this->escapePath($path);
+ $output = $this->execute('cd ' . $escapedPath);
+ //check output for errors
+ $this->parseOutput($output, $path);
+ $output = $this->execute('dir');
+ $this->execute('cd /');
+
+ return $this->parser->parseDir($output, $path);
+ }
+
+ /**
+ * @param string $path
+ * @return \Icewind\SMB\IFileInfo[]
+ */
+ public function stat($path) {
+ $escapedPath = $this->escapePath($path);
+ $output = $this->execute('allinfo ' . $escapedPath);
+ if (count($output) < 3) {
+ $this->parseOutput($output, $path);
+ }
+ $stat = $this->parser->parseStat($output);
+ return new FileInfo($path, basename($path), $stat['size'], $stat['mtime'], $stat['mode']);
+ }
+
+ /**
+ * Create a folder on the share
+ *
+ * @param string $path
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\AlreadyExistsException
+ */
+ public function mkdir($path) {
+ return $this->simpleCommand('mkdir', $path);
+ }
+
+ /**
+ * Remove a folder on the share
+ *
+ * @param string $path
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function rmdir($path) {
+ return $this->simpleCommand('rmdir', $path);
+ }
+
+ /**
+ * Delete a file on the share
+ *
+ * @param string $path
+ * @param bool $secondTry
+ * @return bool
+ * @throws InvalidTypeException
+ * @throws NotFoundException
+ * @throws \Exception
+ */
+ public function del($path, $secondTry = false) {
+ //del return a file not found error when trying to delete a folder
+ //we catch it so we can check if $path doesn't exist or is of invalid type
+ try {
+ return $this->simpleCommand('del', $path);
+ } catch (NotFoundException $e) {
+ //no need to do anything with the result, we just check if this throws the not found error
+ try {
+ $this->simpleCommand('ls', $path);
+ } catch (NotFoundException $e2) {
+ throw $e;
+ } catch (\Exception $e2) {
+ throw new InvalidTypeException($path);
+ }
+ throw $e;
+ } catch (FileInUseException $e) {
+ if ($secondTry) {
+ throw $e;
+ }
+ $this->reconnect();
+ return $this->del($path, true);
+ }
+ }
+
+ /**
+ * Rename a remote file
+ *
+ * @param string $from
+ * @param string $to
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\AlreadyExistsException
+ */
+ public function rename($from, $to) {
+ $path1 = $this->escapePath($from);
+ $path2 = $this->escapePath($to);
+ $cmd = 'rename ' . $path1 . ' ' . $path2;
+ $output = $this->execute($cmd);
+ return $this->parseOutput($output, $to);
+ }
+
+ /**
+ * Upload a local file
+ *
+ * @param string $source local file
+ * @param string $target remove file
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function put($source, $target) {
+ $path1 = $this->escapeLocalPath($source); //first path is local, needs different escaping
+ $path2 = $this->escapePath($target);
+ $output = $this->execute('put ' . $path1 . ' ' . $path2);
+ return $this->parseOutput($output, $target);
+ }
+
+ /**
+ * Download a remote file
+ *
+ * @param string $source remove file
+ * @param string $target local file
+ * @return bool
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function get($source, $target) {
+ $path1 = $this->escapePath($source);
+ $path2 = $this->escapeLocalPath($target); //second path is local, needs different escaping
+ $output = $this->execute('get ' . $path1 . ' ' . $path2);
+ return $this->parseOutput($output, $source);
+ }
+
+ /**
+ * Open a readable stream to a remote file
+ *
+ * @param string $source
+ * @return resource a read only stream with the contents of the remote file
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function read($source) {
+ $source = $this->escapePath($source);
+ // close the single quote, open a double quote where we put the single quote...
+ $source = str_replace('\'', '\'"\'"\'', $source);
+ // since returned stream is closed by the caller we need to create a new instance
+ // since we can't re-use the same file descriptor over multiple calls
+ $command = sprintf('%s --authentication-file=/proc/self/fd/3 //%s/%s -c \'get %s /proc/self/fd/5\'',
+ Server::CLIENT,
+ $this->server->getHost(),
+ $this->name,
+ $source
+ );
+ $connection = new Connection($command);
+ $connection->writeAuthentication($this->server->getUser(), $this->server->getPassword());
+ $fh = $connection->getFileOutputStream();
+ stream_context_set_option($fh, 'file', 'connection', $connection);
+ return $fh;
+ }
+
+ /**
+ * Open a writable stream to a remote file
+ *
+ * @param string $target
+ * @return resource a write only stream to upload a remote file
+ *
+ * @throws \Icewind\SMB\Exception\NotFoundException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function write($target) {
+ $target = $this->escapePath($target);
+ // close the single quote, open a double quote where we put the single quote...
+ $target = str_replace('\'', '\'"\'"\'', $target);
+ // since returned stream is closed by the caller we need to create a new instance
+ // since we can't re-use the same file descriptor over multiple calls
+ $command = sprintf('%s --authentication-file=/proc/self/fd/3 //%s/%s -c \'put /proc/self/fd/4 %s\'',
+ Server::CLIENT,
+ $this->server->getHost(),
+ $this->name,
+ $target
+ );
+ $connection = new RawConnection($command);
+ $connection->writeAuthentication($this->server->getUser(), $this->server->getPassword());
+ $fh = $connection->getFileInputStream();
+
+ // use a close callback to ensure the upload is finished before continuing
+ // this also serves as a way to keep the connection in scope
+ return CallbackWrapper::wrap($fh, null, null, function () use ($connection) {
+ $connection->close(false); // dont terminate, give the upload some time
+ });
+ }
+
+ /**
+ * @param string $path
+ * @param int $mode a combination of FileInfo::MODE_READONLY, FileInfo::MODE_ARCHIVE, FileInfo::MODE_SYSTEM and FileInfo::MODE_HIDDEN, FileInfo::NORMAL
+ * @return mixed
+ */
+ public function setMode($path, $mode) {
+ $modeString = '';
+ $modeMap = array(
+ FileInfo::MODE_READONLY => 'r',
+ FileInfo::MODE_HIDDEN => 'h',
+ FileInfo::MODE_ARCHIVE => 'a',
+ FileInfo::MODE_SYSTEM => 's'
+ );
+ foreach ($modeMap as $modeByte => $string) {
+ if ($mode & $modeByte) {
+ $modeString .= $string;
+ }
+ }
+ $path = $this->escapePath($path);
+
+ // first reset the mode to normal
+ $cmd = 'setmode ' . $path . ' -rsha';
+ $output = $this->execute($cmd);
+ $this->parseOutput($output, $path);
+
+ // then set the modes we want
+ $cmd = 'setmode ' . $path . ' ' . $modeString;
+ $output = $this->execute($cmd);
+ return $this->parseOutput($output, $path);
+ }
+
+ /**
+ * @param string $command
+ * @return array
+ */
+ protected function execute($command) {
+ $this->connect();
+ $this->connection->write($command . PHP_EOL);
+ $output = $this->connection->read();
+ return $output;
+ }
+
+ /**
+ * check output for errors
+ *
+ * @param string[] $lines
+ * @param string $path
+ *
+ * @throws NotFoundException
+ * @throws \Icewind\SMB\Exception\AlreadyExistsException
+ * @throws \Icewind\SMB\Exception\AccessDeniedException
+ * @throws \Icewind\SMB\Exception\NotEmptyException
+ * @throws \Icewind\SMB\Exception\InvalidTypeException
+ * @throws \Icewind\SMB\Exception\Exception
+ * @return bool
+ */
+ protected function parseOutput($lines, $path = '') {
+ $this->parser->checkForError($lines, $path);
+ }
+
+ /**
+ * @param string $string
+ * @return string
+ */
+ protected function escape($string) {
+ return escapeshellarg($string);
+ }
+
+ /**
+ * @param string $path
+ * @return string
+ */
+ protected function escapePath($path) {
+ $path = str_replace('/', '\\', $path);
+ $path = str_replace('"', '^"', $path);
+ return '"' . $path . '"';
+ }
+
+ /**
+ * @param string $path
+ * @return string
+ */
+ protected function escapeLocalPath($path) {
+ $path = str_replace('"', '\"', $path);
+ return '"' . $path . '"';
+ }
+
+ public function __destruct() {
+ unset($this->connection);
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/tests/AbstractShare.php b/apps/files_external/3rdparty/icewind/smb/tests/AbstractShare.php
new file mode 100644
index 00000000000..117fff1ca19
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/tests/AbstractShare.php
@@ -0,0 +1,534 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Test;
+
+use Icewind\SMB\FileInfo;
+
+abstract class AbstractShare extends \PHPUnit_Framework_TestCase {
+ /**
+ * @var \Icewind\SMB\Server $server
+ */
+ protected $server;
+
+ /**
+ * @var \Icewind\SMB\IShare $share
+ */
+ protected $share;
+
+ /**
+ * @var string $root
+ */
+ protected $root;
+
+ protected $config;
+
+ public function tearDown() {
+ try {
+ if ($this->share) {
+ $this->cleanDir($this->root);
+ }
+ unset($this->share);
+ } catch (\Exception $e) {
+ unset($this->share);
+ throw $e;
+ }
+ }
+
+ public function nameProvider() {
+ // / ? < > \ : * | " are illegal characters in path on windows
+ return array(
+ array('simple'),
+ array('with spaces_and-underscores'),
+ array("single'quote'"),
+ array('日本語'),
+ array('url %2F +encode'),
+ array('a somewhat longer filename than the other with more charaters as the all the other filenames'),
+ array('$as#d€££Ö€ßœĚęĘĞĜΣΥΦΩΫ')
+ );
+ }
+
+ public function fileDataProvider() {
+ return array(
+ array('Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua'),
+ array('Mixed language, 日本語 が わからか and Various _/* characters \\|” €')
+ );
+ }
+
+ public function nameAndDataProvider() {
+ $names = $this->nameProvider();
+ $data = $this->fileDataProvider();
+ $result = array();
+ foreach ($names as $name) {
+ foreach ($data as $text) {
+ $result[] = array($name[0], $text[0]);
+ }
+ }
+ return $result;
+ }
+
+ public function cleanDir($dir) {
+ $content = $this->share->dir($dir);
+ foreach ($content as $metadata) {
+ if ($metadata->isDirectory()) {
+ $this->cleanDir($metadata->getPath());
+ } else {
+ $this->share->del($metadata->getPath());
+ }
+ }
+ $this->share->rmdir($dir);
+ }
+
+ private function getTextFile($text = '') {
+ if (!$text) {
+ $text = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua';
+ }
+ $file = tempnam('/tmp', 'smb_test_');
+ file_put_contents($file, $text);
+ return $file;
+ }
+
+ public function testListShares() {
+ $shares = $this->server->listShares();
+ foreach ($shares as $share) {
+ if ($share->getName() === $this->config->share) {
+ return;
+ }
+ }
+ $this->fail('Share "' . $this->config->share . '" not found');
+ }
+
+ public function testRootStartsEmpty() {
+ $this->assertEquals(array(), $this->share->dir($this->root));
+ }
+
+ /**
+ * @dataProvider nameProvider
+ */
+ public function testMkdir($name) {
+ $this->share->mkdir($this->root . '/' . $name);
+ $dirs = $this->share->dir($this->root);
+ $this->assertCount(1, $dirs);
+ $this->assertEquals($name, $dirs[0]->getName());
+ $this->assertTrue($dirs[0]->isDirectory());
+ }
+
+ /**
+ * @dataProvider nameProvider
+ */
+ public function testRenameDirectory($name) {
+ $this->share->mkdir($this->root . '/' . $name);
+ $this->share->rename($this->root . '/' . $name, $this->root . '/' . $name . '_rename');
+ $dirs = $this->share->dir($this->root);
+ $this->assertEquals(1, count($dirs));
+ $this->assertEquals($name . '_rename', $dirs[0]->getName());
+ }
+
+ /**
+ * @dataProvider nameProvider
+ */
+ public function testRmdir($name) {
+ $this->share->mkdir($this->root . '/' . $name);
+ $this->share->rmdir($this->root . '/' . $name);
+ $this->assertCount(0, $this->share->dir($this->root));
+ }
+
+ /**
+ * @dataProvider nameAndDataProvider
+ */
+ public function testPut($name, $text) {
+ $tmpFile = $this->getTextFile($text);
+ $size = filesize($tmpFile);
+
+ $this->share->put($tmpFile, $this->root . '/' . $name);
+ unlink($tmpFile);
+
+ $files = $this->share->dir($this->root);
+ $this->assertCount(1, $files);
+ $this->assertEquals($name, $files[0]->getName());
+ $this->assertEquals($size, $files[0]->getSize());
+ $this->assertFalse($files[0]->isDirectory());
+ }
+
+ /**
+ * @dataProvider nameProvider
+ */
+ public function testRenameFile($name) {
+ $tmpFile = $this->getTextFile();
+
+ $this->share->put($tmpFile, $this->root . '/' . $name);
+ unlink($tmpFile);
+
+ $this->share->rename($this->root . '/' . $name, $this->root . '/' . $name . '_renamed');
+
+ $files = $this->share->dir($this->root);
+ $this->assertEquals(1, count($files));
+ $this->assertEquals($name . '_renamed', $files[0]->getName());
+ }
+
+ /**
+ * @dataProvider nameAndDataProvider
+ */
+ public function testGet($name, $text) {
+ $tmpFile = $this->getTextFile($text);
+
+ $this->share->put($tmpFile, $this->root . '/' . $name);
+ unlink($tmpFile);
+
+ $targetFile = tempnam('/tmp', 'smb_test_');
+ $this->share->get($this->root . '/' . $name, $targetFile);
+
+ $this->assertEquals($text, file_get_contents($targetFile));
+ unlink($targetFile);
+ }
+
+ /**
+ * @dataProvider nameProvider
+ */
+ public function testDel($name) {
+ $tmpFile = $this->getTextFile();
+
+ $this->share->put($tmpFile, $this->root . '/' . $name);
+ unlink($tmpFile);
+
+ $this->share->del($this->root . '/' . $name);
+ $this->assertCount(0, $this->share->dir($this->root));
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\NotFoundException
+ */
+ public function testCreateFolderInNonExistingFolder() {
+ $this->share->mkdir($this->root . '/foo/bar');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\NotFoundException
+ */
+ public function testRemoveFolderInNonExistingFolder() {
+ $this->share->rmdir($this->root . '/foo/bar');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\NotFoundException
+ */
+ public function testRemoveNonExistingFolder() {
+ $this->share->rmdir($this->root . '/foo');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\AlreadyExistsException
+ */
+ public function testCreateExistingFolder() {
+ $this->share->mkdir($this->root . '/bar');
+ $this->share->mkdir($this->root . '/bar');
+ $this->share->rmdir($this->root . '/bar');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function testCreateFileExistingFolder() {
+ $this->share->mkdir($this->root . '/bar');
+ $this->share->put($this->getTextFile(), $this->root . '/bar');
+ $this->share->rmdir($this->root . '/bar');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\NotFoundException
+ */
+ public function testCreateFileInNonExistingFolder() {
+ $this->share->put($this->getTextFile(), $this->root . '/foo/bar');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\NotFoundException
+ */
+ public function testTestRemoveNonExistingFile() {
+ $this->share->del($this->root . '/foo');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\NotFoundException
+ */
+ public function testDownloadNonExistingFile() {
+ $this->share->get($this->root . '/foo', '/dev/null');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function testDownloadFolder() {
+ $this->share->mkdir($this->root . '/foobar');
+ $this->share->get($this->root . '/foobar', '/dev/null');
+ $this->share->rmdir($this->root . '/foobar');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function testDelFolder() {
+ $this->share->mkdir($this->root . '/foobar');
+ $this->share->del($this->root . '/foobar');
+ $this->share->rmdir($this->root . '/foobar');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\InvalidTypeException
+ */
+ public function testRmdirFile() {
+ $this->share->put($this->getTextFile(), $this->root . '/foobar');
+ $this->share->rmdir($this->root . '/foobar');
+ $this->share->del($this->root . '/foobar');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\NotEmptyException
+ */
+ public function testRmdirNotEmpty() {
+ $this->share->mkdir($this->root . '/foobar');
+ $this->share->put($this->getTextFile(), $this->root . '/foobar/asd');
+ $this->share->rmdir($this->root . '/foobar');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\NotFoundException
+ */
+ public function testDirNonExisting() {
+ $this->share->dir('/foobar/asd');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\NotFoundException
+ */
+ public function testRmDirNonExisting() {
+ $this->share->rmdir('/foobar/asd');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\NotFoundException
+ */
+ public function testRenameNonExisting() {
+ $this->share->rename('/foobar/asd', '/foobar/bar');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\NotFoundException
+ */
+ public function testRenameTargetNonExisting() {
+ $txt = $this->getTextFile();
+ $this->share->put($txt, $this->root . '/foo.txt');
+ unlink($txt);
+ $this->share->rename($this->root . '/foo.txt', $this->root . '/bar/foo.txt');
+ }
+
+ public function testModifiedDate() {
+ $now = time();
+ $this->share->put($this->getTextFile(), $this->root . '/foo.txt');
+ $dir = $this->share->dir($this->root);
+ $mtime = $dir[0]->getMTime();
+ $this->assertTrue(abs($now - $mtime) <= 1, 'Modified time differs by ' . abs($now - $mtime) . ' seconds');
+ $this->share->del($this->root . '/foo.txt');
+ }
+
+ /**
+ * @dataProvider nameAndDataProvider
+ */
+ public function testReadStream($name, $text) {
+ $sourceFile = $this->getTextFile($text);
+ $this->share->put($sourceFile, $this->root . '/' . $name);
+ $fh = $this->share->read($this->root . '/' . $name);
+ $content = stream_get_contents($fh);
+ fclose($fh);
+ $this->share->del($this->root . '/' . $name);
+
+ $this->assertEquals(file_get_contents($sourceFile), $content);
+ }
+
+ /**
+ * @dataProvider nameAndDataProvider
+ */
+ public function testWriteStream($name, $text) {
+ $fh = $this->share->write($this->root . '/' . $name);
+ fwrite($fh, $text);
+ fclose($fh);
+
+ $tmpFile1 = tempnam('/tmp', 'smb_test_');
+ $this->share->get($this->root . '/' . $name, $tmpFile1);
+ $this->assertEquals($text, file_get_contents($tmpFile1));
+ $this->share->del($this->root . '/' . $name);
+ unlink($tmpFile1);
+ }
+
+ public function testDir() {
+ $txtFile = $this->getTextFile();
+
+ $this->share->mkdir($this->root . '/dir');
+ $this->share->put($txtFile, $this->root . '/file.txt');
+ unlink($txtFile);
+
+ $dir = $this->share->dir($this->root);
+ if ($dir[0]->getName() === 'dir') {
+ $dirEntry = $dir[0];
+ } else {
+ $dirEntry = $dir[1];
+ }
+ $this->assertTrue($dirEntry->isDirectory());
+ $this->assertFalse($dirEntry->isReadOnly());
+ $this->assertFalse($dirEntry->isReadOnly());
+
+ if ($dir[0]->getName() === 'file.txt') {
+ $fileEntry = $dir[0];
+ } else {
+ $fileEntry = $dir[1];
+ }
+ $this->assertFalse($fileEntry->isDirectory());
+ $this->assertFalse($fileEntry->isReadOnly());
+ $this->assertFalse($fileEntry->isReadOnly());
+ }
+
+ /**
+ * @dataProvider nameProvider
+ */
+ public function testStat($name) {
+ $txtFile = $this->getTextFile();
+ $size = filesize($txtFile);
+
+ $this->share->put($txtFile, $this->root . '/' . $name);
+ unlink($txtFile);
+
+ $info = $this->share->stat($this->root . '/' . $name);
+ $this->assertEquals($size, $info->getSize());
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\NotFoundException
+ */
+ public function testStatNonExisting() {
+ $this->share->stat($this->root . '/fo.txt');
+ }
+
+ /**
+ * note setting archive and system bit is not supported
+ *
+ * @dataProvider nameProvider
+ */
+ public function testSetMode($name) {
+ $txtFile = $this->getTextFile();
+
+ $this->share->put($txtFile, $this->root . '/' . $name);
+
+ $this->share->setMode($this->root . '/' . $name, FileInfo::MODE_NORMAL);
+ $info = $this->share->stat($this->root . '/' . $name);
+ $this->assertFalse($info->isReadOnly());
+ $this->assertFalse($info->isArchived());
+ $this->assertFalse($info->isSystem());
+ $this->assertFalse($info->isHidden());
+
+ $this->share->setMode($this->root . '/' . $name, FileInfo::MODE_READONLY);
+ $info = $this->share->stat($this->root . '/' . $name);
+ $this->assertTrue($info->isReadOnly());
+ $this->assertFalse($info->isArchived());
+ $this->assertFalse($info->isSystem());
+ $this->assertFalse($info->isHidden());
+
+ $this->share->setMode($this->root . '/' . $name, FileInfo::MODE_ARCHIVE);
+ $info = $this->share->stat($this->root . '/' . $name);
+ $this->assertFalse($info->isReadOnly());
+ $this->assertTrue($info->isArchived());
+ $this->assertFalse($info->isSystem());
+ $this->assertFalse($info->isHidden());
+
+ $this->share->setMode($this->root . '/' . $name, FileInfo::MODE_READONLY | FileInfo::MODE_ARCHIVE);
+ $info = $this->share->stat($this->root . '/' . $name);
+ $this->assertTrue($info->isReadOnly());
+ $this->assertTrue($info->isArchived());
+ $this->assertFalse($info->isSystem());
+ $this->assertFalse($info->isHidden());
+
+ $this->share->setMode($this->root . '/' . $name, FileInfo::MODE_HIDDEN);
+ $info = $this->share->stat($this->root . '/' . $name);
+ $this->assertFalse($info->isReadOnly());
+ $this->assertFalse($info->isArchived());
+ $this->assertFalse($info->isSystem());
+ $this->assertTrue($info->isHidden());
+
+ $this->share->setMode($this->root . '/' . $name, FileInfo::MODE_SYSTEM);
+ $info = $this->share->stat($this->root . '/' . $name);
+ $this->assertFalse($info->isReadOnly());
+ $this->assertFalse($info->isArchived());
+ $this->assertTrue($info->isSystem());
+ $this->assertFalse($info->isHidden());
+
+ $this->share->setMode($this->root . '/' . $name, FileInfo::MODE_NORMAL);
+ $info = $this->share->stat($this->root . '/' . $name);
+ $this->assertFalse($info->isReadOnly());
+ $this->assertFalse($info->isArchived());
+ $this->assertFalse($info->isSystem());
+ $this->assertFalse($info->isHidden());
+ }
+
+ public function pathProvider() {
+ // / ? < > \ : * | " are illegal characters in path on windows
+ return array(
+ array('dir/sub/foo.txt'),
+ array('bar.txt'),
+ array("single'quote'/sub/foo.txt"),
+ array('日本語/url %2F +encode/asd.txt'),
+ array(
+ 'a somewhat longer folder than the other with more charaters as the all the other filenames/' .
+ 'followed by a somewhat long file name after that.txt'
+ )
+ );
+ }
+
+ /**
+ * @dataProvider pathProvider
+ */
+ public function testSubDirs($path) {
+ $dirs = explode('/', $path);
+ $name = array_pop($dirs);
+ $fullPath = '';
+ foreach ($dirs as $dir) {
+ $fullPath .= '/' . $dir;
+ $this->share->mkdir($this->root . $fullPath);
+ }
+ $txtFile = $this->getTextFile();
+ $size = filesize($txtFile);
+ $this->share->put($txtFile, $this->root . $fullPath . '/' . $name);
+ unlink($txtFile);
+ $info = $this->share->stat($this->root . $fullPath . '/' . $name);
+ $this->assertEquals($size, $info->getSize());
+ $this->assertFalse($info->isHidden());
+ }
+
+ public function testDelAfterStat() {
+ $name = 'foo.txt';
+ $txtFile = $this->getTextFile();
+
+ $this->share->put($txtFile, $this->root . '/' . $name);
+ unlink($txtFile);
+
+ $this->share->stat($this->root . '/' . $name);
+ $this->share->del($this->root . '/foo.txt');
+ }
+
+ /**
+ * @param $name
+ * @dataProvider nameProvider
+ */
+ public function testDirPaths($name) {
+ $txtFile = $this->getTextFile();
+ $this->share->mkdir($this->root . '/' . $name);
+ $this->share->put($txtFile, $this->root . '/' . $name . '/' . $name);
+ unlink($txtFile);
+
+ $content = $this->share->dir($this->root . '/' . $name);
+ $this->assertCount(1, $content);
+ $this->assertEquals($name, $content[0]->getName());
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/tests/NativeShare.php b/apps/files_external/3rdparty/icewind/smb/tests/NativeShare.php
new file mode 100644
index 00000000000..d8e10235c12
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/tests/NativeShare.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Test;
+
+use Icewind\SMB\NativeServer;
+
+class NativeShare extends AbstractShare {
+ public function setUp() {
+ if (!function_exists('smbclient_state_new')) {
+ $this->markTestSkipped('libsmbclient php extension not installed');
+ }
+ $this->config = json_decode(file_get_contents(__DIR__ . '/config.json'));
+ $this->server = new NativeServer($this->config->host, $this->config->user, $this->config->password);
+ $this->share = $this->server->getShare($this->config->share);
+ if ($this->config->root) {
+ $this->root = '/' . $this->config->root . '/' . uniqid();
+ } else {
+ $this->root = '/' . uniqid();
+ }
+ $this->share->mkdir($this->root);
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/tests/NativeStream.php b/apps/files_external/3rdparty/icewind/smb/tests/NativeStream.php
new file mode 100644
index 00000000000..2d7b62fedeb
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/tests/NativeStream.php
@@ -0,0 +1,143 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Test;
+
+use Icewind\SMB\NativeServer;
+
+class NativeStream extends \PHPUnit_Framework_TestCase {
+ /**
+ * @var \Icewind\SMB\Server $server
+ */
+ protected $server;
+
+ /**
+ * @var \Icewind\SMB\NativeShare $share
+ */
+ protected $share;
+
+ /**
+ * @var string $root
+ */
+ protected $root;
+
+ protected $config;
+
+ public function setUp() {
+ if (!function_exists('smbclient_state_new')) {
+ $this->markTestSkipped('libsmbclient php extension not installed');
+ }
+ $this->config = json_decode(file_get_contents(__DIR__ . '/config.json'));
+ $this->server = new NativeServer($this->config->host, $this->config->user, $this->config->password);
+ $this->share = $this->server->getShare($this->config->share);
+ if ($this->config->root) {
+ $this->root = '/' . $this->config->root . '/' . uniqid();
+ } else {
+ $this->root = '/' . uniqid();
+ }
+ $this->share->mkdir($this->root);
+ }
+
+ private function getTextFile() {
+ $text = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua';
+ $file = tempnam('/tmp', 'smb_test_');
+ file_put_contents($file, $text);
+ return $file;
+ }
+
+ public function testSeekTell() {
+ $sourceFile = $this->getTextFile();
+ $this->share->put($sourceFile, $this->root . '/foobar');
+ $fh = $this->share->read($this->root . '/foobar');
+ $content = fread($fh, 3);
+ $this->assertEquals('Lor', $content);
+
+ fseek($fh, -2, SEEK_CUR);
+
+ $content = fread($fh, 3);
+ $this->assertEquals('ore', $content);
+
+ fseek($fh, 3, SEEK_SET);
+
+ $content = fread($fh, 3);
+ $this->assertEquals('em ', $content);
+
+ fseek($fh, -3, SEEK_END);
+
+ $content = fread($fh, 3);
+ $this->assertEquals('qua', $content);
+
+ fseek($fh, -3, SEEK_END);
+ $this->assertEquals(120, ftell($fh));
+ }
+
+ public function testStat() {
+ $sourceFile = $this->getTextFile();
+ $this->share->put($sourceFile, $this->root . '/foobar');
+ $fh = $this->share->read($this->root . '/foobar');
+ $stat = fstat($fh);
+ $this->assertEquals(filesize($sourceFile), $stat['size']);
+ unlink($sourceFile);
+ }
+
+ public function testTruncate() {
+ if (version_compare(phpversion(), '5.4.0', '<')) {
+ $this->markTestSkipped('php <5.4 doesn\'t support truncate for stream wrappers');
+ }
+ $fh = $this->share->write($this->root . '/foobar');
+ fwrite($fh, 'foobar');
+ ftruncate($fh, 3);
+ fclose($fh);
+
+ $fh = $this->share->read($this->root . '/foobar');
+ $this->assertEquals('foo', stream_get_contents($fh));
+ }
+
+ public function testEOF() {
+ if (version_compare(phpversion(), '5.4.0', '<')) {
+ $this->markTestSkipped('php <5.4 doesn\'t support truncate for stream wrappers');
+ }
+ $fh = $this->share->write($this->root . '/foobar');
+ fwrite($fh, 'foobar');
+ fclose($fh);
+
+ $fh = $this->share->read($this->root . '/foobar');
+ fread($fh, 3);
+ $this->assertFalse(feof($fh));
+ fread($fh, 5);
+ $this->assertTrue(feof($fh));
+ }
+
+ public function testLockUnsupported() {
+ $fh = $this->share->write($this->root . '/foobar');
+ $this->assertFalse(flock($fh, LOCK_SH));
+ }
+
+ public function testSetOptionUnsupported() {
+ $fh = $this->share->write($this->root . '/foobar');
+ $this->assertFalse(stream_set_blocking($fh, false));
+ }
+
+ public function tearDown() {
+ if ($this->share) {
+ $this->cleanDir($this->root);
+ }
+ unset($this->share);
+ }
+
+ public function cleanDir($dir) {
+ $content = $this->share->dir($dir);
+ foreach ($content as $metadata) {
+ if ($metadata->isDirectory()) {
+ $this->cleanDir($metadata->getPath());
+ } else {
+ $this->share->del($metadata->getPath());
+ }
+ }
+ $this->share->rmdir($dir);
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/tests/Parser.php b/apps/files_external/3rdparty/icewind/smb/tests/Parser.php
new file mode 100644
index 00000000000..0dd06d6af33
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/tests/Parser.php
@@ -0,0 +1,87 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Test;
+
+
+use Icewind\SMB\FileInfo;
+
+class Parser extends \PHPUnit_Framework_TestCase {
+ public function modeProvider() {
+ return array(
+ array('D', FileInfo::MODE_DIRECTORY),
+ array('A', FileInfo::MODE_ARCHIVE),
+ array('S', FileInfo::MODE_SYSTEM),
+ array('H', FileInfo::MODE_HIDDEN),
+ array('R', FileInfo::MODE_READONLY),
+ array('N', FileInfo::MODE_NORMAL),
+ array('RA', FileInfo::MODE_READONLY | FileInfo::MODE_ARCHIVE),
+ array('RAH', FileInfo::MODE_READONLY | FileInfo::MODE_ARCHIVE | FileInfo::MODE_HIDDEN)
+ );
+ }
+
+ /**
+ * @dataProvider modeProvider
+ */
+ public function testParseMode($string, $mode) {
+ $parser = new \Icewind\SMB\Parser('UTC');
+ $this->assertEquals($mode, $parser->parseMode($string), 'Failed parsing ' . $string);
+ }
+
+ public function statProvider() {
+ return array(
+ array(
+ array(
+ 'altname: test.txt',
+ 'create_time: Sat Oct 12 07:05:58 PM 2013 CEST',
+ 'access_time: Tue Oct 15 02:58:48 PM 2013 CEST',
+ 'write_time: Sat Oct 12 07:05:58 PM 2013 CEST',
+ 'change_time: Sat Oct 12 07:05:58 PM 2013 CEST',
+ 'attributes: (80)',
+ 'stream: [::$DATA], 29634 bytes'
+ ),
+ array(
+ 'mtime' => strtotime('12 Oct 2013 19:05:58 CEST'),
+ 'mode' => FileInfo::MODE_NORMAL,
+ 'size' => 29634
+ ))
+ );
+ }
+
+ /**
+ * @dataProvider statProvider
+ */
+ public function testStat($output, $stat) {
+ $parser = new \Icewind\SMB\Parser('UTC');
+ $this->assertEquals($stat, $parser->parseStat($output));
+ }
+
+ public function dirProvider() {
+ return array(
+ array(
+ array(
+ ' . D 0 Tue Aug 26 19:11:56 2014',
+ ' .. DR 0 Sun Oct 28 15:24:02 2012',
+ ' c.pdf N 29634 Sat Oct 12 19:05:58 2013',
+ '',
+ ' 62536 blocks of size 8388608. 57113 blocks available'
+ ),
+ array(
+ new FileInfo('/c.pdf', 'c.pdf', 29634, strtotime('12 Oct 2013 19:05:58 CEST'), FileInfo::MODE_NORMAL)
+ )
+ )
+ );
+ }
+
+ /**
+ * @dataProvider dirProvider
+ */
+ public function testDir($output, $dir) {
+ $parser = new \Icewind\SMB\Parser('CEST');
+ $this->assertEquals($dir, $parser->parseDir($output, ''));
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/tests/Server.php b/apps/files_external/3rdparty/icewind/smb/tests/Server.php
new file mode 100644
index 00000000000..9f62886654f
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/tests/Server.php
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Test;
+
+class Server extends \PHPUnit_Framework_TestCase {
+ /**
+ * @var \Icewind\SMB\Server $server
+ */
+ private $server;
+
+ private $config;
+
+ public function setUp() {
+ $this->config = json_decode(file_get_contents(__DIR__ . '/config.json'));
+ $this->server = new \Icewind\SMB\Server($this->config->host, $this->config->user, $this->config->password);
+ }
+
+ public function testListShares() {
+ $shares = $this->server->listShares();
+ foreach ($shares as $share) {
+ if ($share->getName() === $this->config->share) {
+ return;
+ }
+ }
+ $this->fail('Share "' . $this->config->share . '" not found');
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\AuthenticationException
+ */
+ public function testWrongUserName() {
+ $this->markTestSkipped('This fails for no reason on travis');
+ $server = new \Icewind\SMB\Server($this->config->host, uniqid(), uniqid());
+ $server->listShares();
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\AuthenticationException
+ */
+ public function testWrongPassword() {
+ $server = new \Icewind\SMB\Server($this->config->host, $this->config->user, uniqid());
+ $server->listShares();
+ }
+
+ /**
+ * @expectedException \Icewind\SMB\Exception\InvalidHostException
+ */
+ public function testWrongHost() {
+ $server = new \Icewind\SMB\Server(uniqid(), $this->config->user, $this->config->password);
+ $server->listShares();
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/tests/Share.php b/apps/files_external/3rdparty/icewind/smb/tests/Share.php
new file mode 100644
index 00000000000..a629914d748
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/tests/Share.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\SMB\Test;
+
+use Icewind\SMB\Server as NormalServer;
+
+class Share extends AbstractShare {
+ public function setUp() {
+ $this->config = json_decode(file_get_contents(__DIR__ . '/config.json'));
+ $this->server = new NormalServer($this->config->host, $this->config->user, $this->config->password);
+ $this->share = $this->server->getShare($this->config->share);
+ if ($this->config->root) {
+ $this->root = '/' . $this->config->root . '/' . uniqid();
+ } else {
+ $this->root = '/' . uniqid();
+ }
+ $this->share->mkdir($this->root);
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/tests/bootstrap.php b/apps/files_external/3rdparty/icewind/smb/tests/bootstrap.php
new file mode 100644
index 00000000000..dc2e34b183e
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/tests/bootstrap.php
@@ -0,0 +1,9 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+date_default_timezone_set('UTC');
+require_once __DIR__.'/../vendor/autoload.php';
diff --git a/apps/files_external/3rdparty/icewind/smb/tests/config.json b/apps/files_external/3rdparty/icewind/smb/tests/config.json
new file mode 100644
index 00000000000..0ecd7e3715d
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/tests/config.json
@@ -0,0 +1,7 @@
+{
+ "host": "localhost",
+ "user": "test",
+ "password": "test",
+ "share": "test",
+ "root": "test"
+}
diff --git a/apps/files_external/3rdparty/icewind/smb/tests/phpunit.xml b/apps/files_external/3rdparty/icewind/smb/tests/phpunit.xml
new file mode 100644
index 00000000000..3ab244dd34f
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/smb/tests/phpunit.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<phpunit bootstrap="bootstrap.php">
+ <testsuite name='SMB'>
+ <directory suffix='.php'>./</directory>
+ </testsuite>
+</phpunit>
diff --git a/apps/files_external/3rdparty/icewind/streams/.gitignore b/apps/files_external/3rdparty/icewind/streams/.gitignore
new file mode 100644
index 00000000000..4f389129e2d
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/.gitignore
@@ -0,0 +1,3 @@
+.idea
+vendor
+composer.lock
diff --git a/apps/files_external/3rdparty/icewind/streams/.travis.yml b/apps/files_external/3rdparty/icewind/streams/.travis.yml
new file mode 100644
index 00000000000..dfa52767dda
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/.travis.yml
@@ -0,0 +1,26 @@
+language: php
+php:
+ - 5.3
+ - 5.4
+ - 5.5
+ - hhvm
+
+matrix:
+ allow_failures:
+ - php: hhvm # due to facebook/hhvm#3321
+
+env:
+ global:
+ - CURRENT_DIR=`pwd`
+
+install:
+ - composer install --dev --no-interaction
+
+script:
+ - mkdir -p build/logs
+ - cd tests
+ - phpunit --coverage-clover ../build/logs/clover.xml --configuration phpunit.xml
+
+after_script:
+ - cd $CURRENT_DIR
+ - php vendor/bin/coveralls -v
diff --git a/apps/files_external/3rdparty/icewind/streams/README.md b/apps/files_external/3rdparty/icewind/streams/README.md
new file mode 100644
index 00000000000..54f6d19a560
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/README.md
@@ -0,0 +1,52 @@
+#Streams#
+
+[![Build Status](https://travis-ci.org/icewind1991/Streams.svg?branch=master)](https://travis-ci.org/icewind1991/Streams)
+[![Coverage Status](https://img.shields.io/coveralls/icewind1991/Streams.svg)](https://coveralls.io/r/icewind1991/Streams?branch=master)
+
+Generic stream wrappers for php.
+
+##CallBackWrapper##
+
+A `CallBackWrapper` can be used to register callbacks on read, write and closing of the stream,
+it wraps an existing stream and can thus be used for any stream in php
+
+The callbacks are passed in the stream context along with the source stream
+and can be any valid [php callable](http://php.net/manual/en/language.types.callable.php)
+
+###Example###
+```php
+<?php
+
+use \Icewind\Streams\CallBackWrapper;
+
+require('vendor/autoload.php');
+
+// get an existing stream to wrap
+$source = fopen('php://temp', 'r+');
+
+// register the callbacks
+$stream = CallbackWrapper::wrap($source,
+ // read callback
+ function ($count) {
+ echo "read " . $count . "bytes\n";
+ },
+ // write callback
+ function ($data) {
+ echo "wrote '" . $data . "'\n";
+ },
+ // close callback
+ function () {
+ echo "stream closed\n";
+ });
+
+fwrite($stream, 'some dummy data');
+
+rewind($stream);
+fread($stream, 5);
+
+fclose($stream);
+```
+
+Note: due to php's internal stream buffering the `$count` passed to the read callback
+will be equal to php's internal buffer size (8192 on default) an not the number of bytes
+requested by `fopen()`
diff --git a/apps/files_external/3rdparty/icewind/streams/composer.json b/apps/files_external/3rdparty/icewind/streams/composer.json
new file mode 100644
index 00000000000..86d3c834258
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/composer.json
@@ -0,0 +1,23 @@
+{
+ "name" : "icewind/streams",
+ "description" : "A set of generic stream wrappers",
+ "license" : "MIT",
+ "authors" : [
+ {
+ "name" : "Robin Appelman",
+ "email": "icewind@owncloud.com"
+ }
+ ],
+ "require" : {
+ "php": ">=5.3"
+ },
+ "require-dev" : {
+ "satooshi/php-coveralls": "dev-master"
+ },
+ "autoload" : {
+ "psr-4": {
+ "Icewind\\Streams\\Tests\\": "tests/",
+ "Icewind\\Streams\\": "src/"
+ }
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/streams/src/CallbackWrapper.php b/apps/files_external/3rdparty/icewind/streams/src/CallbackWrapper.php
new file mode 100644
index 00000000000..fd99aa6ebe8
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/src/CallbackWrapper.php
@@ -0,0 +1,110 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\Streams;
+
+/**
+ * Wrapper that provides callbacks for write, read and close
+ *
+ * The following options should be passed in the context when opening the stream
+ * [
+ * 'callback' => [
+ * 'source' => resource
+ * 'read' => function($count){} (optional)
+ * 'write' => function($data){} (optional)
+ * 'close' => function(){} (optional)
+ * ]
+ * ]
+ *
+ * All callbacks are called after the operation is executed on the source stream
+ */
+class CallbackWrapper extends Wrapper {
+ /**
+ * @var callable
+ */
+ protected $readCallback;
+
+ /**
+ * @var callable
+ */
+ protected $writeCallback;
+
+ /**
+ * @var callable
+ */
+ protected $closeCallback;
+
+ /**
+ * Wraps a stream with the provided callbacks
+ *
+ * @param resource $source
+ * @param callable $read (optional)
+ * @param callable $write (optional)
+ * @param callable $close (optional)
+ * @return resource
+ *
+ * @throws \BadMethodCallException
+ */
+ public static function wrap($source, $read = null, $write = null, $close = null) {
+ $context = stream_context_create(array(
+ 'callback' => array(
+ 'source' => $source,
+ 'read' => $read,
+ 'write' => $write,
+ 'close' => $close
+ )
+ ));
+ stream_wrapper_register('callback', '\Icewind\Streams\CallbackWrapper');
+ try {
+ $wrapped = fopen('callback://', 'r+', false, $context);
+ } catch (\BadMethodCallException $e) {
+ stream_wrapper_unregister('callback');
+ throw $e;
+ }
+ stream_wrapper_unregister('callback');
+ return $wrapped;
+ }
+
+ public function stream_open($path, $mode, $options, &$opened_path) {
+ $context = $this->loadContext('callback');
+
+ if (isset($context['read']) and is_callable($context['read'])) {
+ $this->readCallback = $context['read'];
+ }
+ if (isset($context['write']) and is_callable($context['write'])) {
+ $this->writeCallback = $context['write'];
+ }
+ if (isset($context['close']) and is_callable($context['close'])) {
+ $this->closeCallback = $context['close'];
+ }
+ return true;
+ }
+
+ public function stream_read($count) {
+ $result = parent::stream_read($count);
+ if ($this->readCallback) {
+ call_user_func($this->readCallback, $count);
+ }
+ return $result;
+ }
+
+ public function stream_write($data) {
+ $result = parent::stream_write($data);
+ if ($this->writeCallback) {
+ call_user_func($this->writeCallback, $data);
+ }
+ return $result;
+ }
+
+ public function stream_close() {
+ $result = parent::stream_close();
+ if ($this->closeCallback) {
+ call_user_func($this->closeCallback);
+ }
+ return $result;
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/streams/src/Directory.php b/apps/files_external/3rdparty/icewind/streams/src/Directory.php
new file mode 100644
index 00000000000..c80a878386b
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/src/Directory.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\Streams;
+
+/**
+ * Interface for stream wrappers that implements a directory
+ */
+interface Directory {
+ /**
+ * @param string $path
+ * @param array $options
+ * @return bool
+ */
+ public function dir_opendir($path, $options);
+
+ /**
+ * @return string
+ */
+ public function dir_readdir();
+
+ /**
+ * @return bool
+ */
+ public function dir_closedir();
+
+ /**
+ * @return bool
+ */
+ public function dir_rewinddir();
+}
diff --git a/apps/files_external/3rdparty/icewind/streams/src/File.php b/apps/files_external/3rdparty/icewind/streams/src/File.php
new file mode 100644
index 00000000000..6202ef4a4b4
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/src/File.php
@@ -0,0 +1,86 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\Streams;
+
+/**
+ * Interface for stream wrappers that implements a file
+ */
+interface File {
+ /**
+ * @param string $path
+ * @param string $mode
+ * @param int $options
+ * @param string &$opened_path
+ * @return bool
+ */
+ public function stream_open($path, $mode, $options, &$opened_path);
+
+ /**
+ * @param string $offset
+ * @param int $whence
+ * @return bool
+ */
+ public function stream_seek($offset, $whence = SEEK_SET);
+
+ /**
+ * @return int
+ */
+ public function stream_tell();
+
+ /**
+ * @param int $count
+ * @return string
+ */
+ public function stream_read($count);
+
+ /**
+ * @param string $data
+ * @return int
+ */
+ public function stream_write($data);
+
+ /**
+ * @param int $option
+ * @param int $arg1
+ * @param int $arg2
+ * @return bool
+ */
+ public function stream_set_option($option, $arg1, $arg2);
+
+ /**
+ * @param int $size
+ * @return bool
+ */
+ public function stream_truncate($size);
+
+ /**
+ * @return array
+ */
+ public function stream_stat();
+
+ /**
+ * @param int $operation
+ * @return bool
+ */
+ public function stream_lock($operation);
+
+ /**
+ * @return bool
+ */
+ public function stream_flush();
+
+ /**
+ * @return bool
+ */
+ public function stream_eof();
+
+ /**
+ * @return bool
+ */
+ public function stream_close();
+}
diff --git a/apps/files_external/3rdparty/icewind/streams/src/IteratorDirectory.php b/apps/files_external/3rdparty/icewind/streams/src/IteratorDirectory.php
new file mode 100644
index 00000000000..c4eac5d4ed3
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/src/IteratorDirectory.php
@@ -0,0 +1,123 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\Streams;
+
+/**
+ * Create a directory handle from an iterator or array
+ *
+ * The following options should be passed in the context when opening the stream
+ * [
+ * 'dir' => [
+ * 'array' => string[]
+ * 'iterator' => \Iterator
+ * ]
+ * ]
+ *
+ * Either 'array' or 'iterator' need to be set, if both are set, 'iterator' takes preference
+ */
+class IteratorDirectory implements Directory {
+ /**
+ * @var resource
+ */
+ public $context;
+
+ /**
+ * @var \Iterator
+ */
+ protected $iterator;
+
+ /**
+ * Load the source from the stream context and return the context options
+ *
+ * @param string $name
+ * @return array
+ * @throws \Exception
+ */
+ protected function loadContext($name) {
+ $context = stream_context_get_options($this->context);
+ if (isset($context[$name])) {
+ $context = $context[$name];
+ } else {
+ throw new \BadMethodCallException('Invalid context, "' . $name . '" options not set');
+ }
+ if (isset($context['iterator']) and $context['iterator'] instanceof \Iterator) {
+ $this->iterator = $context['iterator'];
+ } else if (isset($context['array']) and is_array($context['array'])) {
+ $this->iterator = new \ArrayIterator($context['array']);
+ } else {
+ throw new \BadMethodCallException('Invalid context, iterator or array not set');
+ }
+ return $context;
+ }
+
+ /**
+ * @param string $path
+ * @param array $options
+ * @return bool
+ */
+ public function dir_opendir($path, $options) {
+ $this->loadContext('dir');
+ return true;
+ }
+
+ /**
+ * @return string
+ */
+ public function dir_readdir() {
+ if ($this->iterator->valid()) {
+ $result = $this->iterator->current();
+ $this->iterator->next();
+ return $result;
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ * @return bool
+ */
+ public function dir_closedir() {
+ return true;
+ }
+
+ /**
+ * @return bool
+ */
+ public function dir_rewinddir() {
+ $this->iterator->rewind();
+ return true;
+ }
+
+ /**
+ * Creates a directory handle from the provided array or iterator
+ *
+ * @param \Iterator | array $source
+ * @return resource
+ *
+ * @throws \BadMethodCallException
+ */
+ public static function wrap($source) {
+ if ($source instanceof \Iterator) {
+ $context = stream_context_create(array(
+ 'dir' => array(
+ 'iterator' => $source)
+ ));
+ } else if (is_array($source)) {
+ $context = stream_context_create(array(
+ 'dir' => array(
+ 'array' => $source)
+ ));
+ } else {
+ throw new \BadMethodCallException('$source should be an Iterator or array');
+ }
+ stream_wrapper_register('iterator', '\Icewind\Streams\IteratorDirectory');
+ $wrapped = opendir('iterator://', $context);
+ stream_wrapper_unregister('iterator');
+ return $wrapped;
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/streams/src/NullWrapper.php b/apps/files_external/3rdparty/icewind/streams/src/NullWrapper.php
new file mode 100644
index 00000000000..8cbaaa756d3
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/src/NullWrapper.php
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\Streams;
+
+/**
+ * Stream wrapper that does nothing, used for tests
+ */
+class NullWrapper extends Wrapper {
+ /**
+ * Wraps a stream with the provided callbacks
+ *
+ * @param resource $source
+ * @return resource
+ *
+ * @throws \BadMethodCallException
+ */
+ public static function wrap($source) {
+ $context = stream_context_create(array(
+ 'null' => array(
+ 'source' => $source)
+ ));
+ stream_wrapper_register('null', '\Icewind\Streams\NullWrapper');
+ try {
+ $wrapped = fopen('null://', 'r+', false, $context);
+ } catch (\BadMethodCallException $e) {
+ stream_wrapper_unregister('null');
+ throw $e;
+ }
+ stream_wrapper_unregister('null');
+ return $wrapped;
+ }
+
+ public function stream_open($path, $mode, $options, &$opened_path) {
+ $this->loadContext('null');
+ return true;
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/streams/src/Wrapper.php b/apps/files_external/3rdparty/icewind/streams/src/Wrapper.php
new file mode 100644
index 00000000000..2e3a6e6cd88
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/src/Wrapper.php
@@ -0,0 +1,110 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\Streams;
+
+/**
+ * Base class for stream wrappers, wraps an existing stream
+ *
+ * This wrapper itself doesn't implement any functionality but is just a base class for other wrappers to extend
+ */
+abstract class Wrapper implements File {
+ /**
+ * @var resource
+ */
+ public $context;
+
+ /**
+ * The wrapped stream
+ *
+ * @var resource
+ */
+ protected $source;
+
+ /**
+ * Load the source from the stream context and return the context options
+ *
+ * @param string $name
+ * @return array
+ * @throws \Exception
+ */
+ protected function loadContext($name) {
+ $context = stream_context_get_options($this->context);
+ if (isset($context[$name])) {
+ $context = $context[$name];
+ } else {
+ throw new \BadMethodCallException('Invalid context, "callable" options not set');
+ }
+ if (isset($context['source']) and is_resource($context['source'])) {
+ $this->setSourceStream($context['source']);
+ } else {
+ throw new \BadMethodCallException('Invalid context, source not set');
+ }
+ return $context;
+ }
+
+ /**
+ * @param resource $source
+ */
+ protected function setSourceStream($source) {
+ $this->source = $source;
+ }
+
+ public function stream_seek($offset, $whence = SEEK_SET) {
+ $result = fseek($this->source, $offset, $whence);
+ return $result == 0 ? true : false;
+ }
+
+ public function stream_tell() {
+ return ftell($this->source);
+ }
+
+ public function stream_read($count) {
+ return fread($this->source, $count);
+ }
+
+ public function stream_write($data) {
+ return fwrite($this->source, $data);
+ }
+
+ public function stream_set_option($option, $arg1, $arg2) {
+ switch ($option) {
+ case STREAM_OPTION_BLOCKING:
+ stream_set_blocking($this->source, $arg1);
+ break;
+ case STREAM_OPTION_READ_TIMEOUT:
+ stream_set_timeout($this->source, $arg1, $arg2);
+ break;
+ case STREAM_OPTION_WRITE_BUFFER:
+ stream_set_write_buffer($this->source, $arg1);
+ }
+ }
+
+ public function stream_truncate($size) {
+ return ftruncate($this->source, $size);
+ }
+
+ public function stream_stat() {
+ return fstat($this->source);
+ }
+
+ public function stream_lock($mode) {
+ return flock($this->source, $mode);
+ }
+
+ public function stream_flush() {
+ return fflush($this->source);
+ }
+
+ public function stream_eof() {
+ return feof($this->source);
+ }
+
+ public function stream_close() {
+ return fclose($this->source);
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/streams/tests/CallbackWrapper.php b/apps/files_external/3rdparty/icewind/streams/tests/CallbackWrapper.php
new file mode 100644
index 00000000000..229b629dcd9
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/tests/CallbackWrapper.php
@@ -0,0 +1,72 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\Streams\Tests;
+
+class CallbackWrapper extends Wrapper {
+
+ /**
+ * @param resource $source
+ * @param callable $read
+ * @param callable $write
+ * @param callable $close
+ * @return resource
+ */
+ protected function wrapSource($source, $read = null, $write = null, $close = null) {
+ return \Icewind\Streams\CallbackWrapper::wrap($source, $read, $write, $close);
+ }
+
+ /**
+ * @expectedException \BadMethodCallException
+ */
+ public function testWrapInvalidSource() {
+ $this->wrapSource('foo');
+ }
+
+ public function testReadCallback() {
+ $called = false;
+ $callBack = function () use (&$called) {
+ $called = true;
+ };
+
+ $source = fopen('php://temp', 'r+');
+ fwrite($source, 'foobar');
+ rewind($source);
+
+ $wrapped = $this->wrapSource($source, $callBack);
+ $this->assertEquals('foo', fread($wrapped, 3));
+ $this->assertTrue($called);
+ }
+
+ public function testWriteCallback() {
+ $lastData = '';
+ $callBack = function ($data) use (&$lastData) {
+ $lastData = $data;
+ };
+
+ $source = fopen('php://temp', 'r+');
+
+ $wrapped = $this->wrapSource($source, null, $callBack);
+ fwrite($wrapped, 'foobar');
+ $this->assertEquals('foobar', $lastData);
+ }
+
+ public function testCloseCallback() {
+ $called = false;
+ $callBack = function () use (&$called) {
+ $called = true;
+ };
+
+ $source = fopen('php://temp', 'r+');
+ fwrite($source, 'foobar');
+ rewind($source);
+
+ $wrapped = $this->wrapSource($source, null, null, $callBack);
+ fclose($wrapped);
+ $this->assertTrue($called);
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/streams/tests/IteratorDirectory.php b/apps/files_external/3rdparty/icewind/streams/tests/IteratorDirectory.php
new file mode 100644
index 00000000000..0d990468368
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/tests/IteratorDirectory.php
@@ -0,0 +1,130 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\Streams\Tests;
+
+class IteratorDirectory extends \PHPUnit_Framework_TestCase {
+
+ /**
+ * @param \Iterator | array $source
+ * @return resource
+ */
+ protected function wrapSource($source) {
+ return \Icewind\Streams\IteratorDirectory::wrap($source);
+ }
+
+ /**
+ * @expectedException \BadMethodCallException
+ */
+ public function testNoContext() {
+ $context = stream_context_create(array());
+ stream_wrapper_register('iterator', '\Icewind\Streams\IteratorDirectory');
+ try {
+ opendir('iterator://', $context);
+ stream_wrapper_unregister('iterator');
+ } catch (\Exception $e) {
+ stream_wrapper_unregister('iterator');
+ throw $e;
+ }
+ }
+
+ /**
+ * @expectedException \BadMethodCallException
+ */
+ public function testInvalidSource() {
+ $context = stream_context_create(array(
+ 'dir' => array(
+ 'array' => 2
+ )
+ ));
+ stream_wrapper_register('iterator', '\Icewind\Streams\IteratorDirectory');
+ try {
+ opendir('iterator://', $context);
+ stream_wrapper_unregister('iterator');
+ } catch (\Exception $e) {
+ stream_wrapper_unregister('iterator');
+ throw $e;
+ }
+ }
+
+ /**
+ * @expectedException \BadMethodCallException
+ */
+ public function testWrapInvalidSource() {
+ $this->wrapSource(2);
+ }
+
+ public function fileListProvider() {
+ $longList = array_fill(0, 500, 'foo');
+ return array(
+ array(
+ array(
+ 'foo',
+ 'bar',
+ 'qwerty'
+ )
+ ),
+ array(
+ array(
+ 'with spaces',
+ 'under_scores',
+ '日本語',
+ 'character %$_',
+ '.',
+ '0',
+ 'double "quotes"',
+ "single 'quotes'"
+ )
+ ),
+ array(
+ array(
+ 'single item'
+ )
+ ),
+ array(
+ $longList
+ ),
+ array(
+ array()
+ )
+ );
+ }
+
+ protected function basicTest($fileList, $dh) {
+ $result = array();
+
+ while (($file = readdir($dh)) !== false) {
+ $result[] = $file;
+ }
+
+ $this->assertEquals($fileList, $result);
+
+ rewinddir($dh);
+ if (count($fileList)) {
+ $this->assertEquals($fileList[0], readdir($dh));
+ } else {
+ $this->assertFalse(readdir($dh));
+ }
+ }
+
+ /**
+ * @dataProvider fileListProvider
+ */
+ public function testBasicIterator($fileList) {
+ $iterator = new \ArrayIterator($fileList);
+ $dh = $this->wrapSource($iterator);
+ $this->basicTest($fileList, $dh);
+ }
+
+ /**
+ * @dataProvider fileListProvider
+ */
+ public function testBasicArray($fileList) {
+ $dh = $this->wrapSource($fileList);
+ $this->basicTest($fileList, $dh);
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/streams/tests/NullWrapper.php b/apps/files_external/3rdparty/icewind/streams/tests/NullWrapper.php
new file mode 100644
index 00000000000..ba42b4dfea1
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/tests/NullWrapper.php
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\Streams\Tests;
+
+class NullWrapper extends Wrapper {
+
+ /**
+ * @param resource $source
+ * @return resource
+ */
+ protected function wrapSource($source) {
+ return \Icewind\Streams\NullWrapper::wrap($source);
+ }
+
+ /**
+ * @expectedException \BadMethodCallException
+ */
+ public function testNoContext() {
+ stream_wrapper_register('null', '\Icewind\Streams\NullWrapper');
+ $context = stream_context_create(array());
+ try {
+ fopen('null://', 'r+', false, $context);
+ stream_wrapper_unregister('null');
+ } catch (\Exception $e) {
+ stream_wrapper_unregister('null');
+ throw $e;
+ }
+ }
+
+ /**
+ * @expectedException \BadMethodCallException
+ */
+ public function testNoSource() {
+ stream_wrapper_register('null', '\Icewind\Streams\NullWrapper');
+ $context = stream_context_create(array(
+ 'null' => array(
+ 'source' => 'bar'
+ )
+ ));
+ try {
+ fopen('null://', 'r+', false, $context);
+ } catch (\Exception $e) {
+ stream_wrapper_unregister('null');
+ throw $e;
+ }
+ }
+
+ /**
+ * @expectedException \BadMethodCallException
+ */
+ public function testWrapInvalidSource() {
+ $this->wrapSource('foo');
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/streams/tests/Wrapper.php b/apps/files_external/3rdparty/icewind/streams/tests/Wrapper.php
new file mode 100644
index 00000000000..6bb644dd611
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/tests/Wrapper.php
@@ -0,0 +1,105 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+namespace Icewind\Streams\Tests;
+
+abstract class Wrapper extends \PHPUnit_Framework_TestCase {
+ /**
+ * @param resource $source
+ * @return resource
+ */
+ abstract protected function wrapSource($source);
+
+ public function testRead() {
+ $source = fopen('php://temp', 'r+');
+ fwrite($source, 'foobar');
+ rewind($source);
+
+ $wrapped = $this->wrapSource($source);
+ $this->assertEquals('foo', fread($wrapped, 3));
+ $this->assertEquals('bar', fread($wrapped, 3));
+ $this->assertEquals('', fread($wrapped, 3));
+ }
+
+ public function testWrite() {
+ $source = fopen('php://temp', 'r+');
+ rewind($source);
+
+ $wrapped = $this->wrapSource($source);
+
+ $this->assertEquals(6, fwrite($wrapped, 'foobar'));
+ rewind($source);
+ $this->assertEquals('foobar', stream_get_contents($source));
+ }
+
+ public function testClose() {
+ $source = fopen('php://temp', 'r+');
+ rewind($source);
+
+ $wrapped = $this->wrapSource($source);
+
+ fclose($wrapped);
+ $this->assertFalse(is_resource($source));
+ }
+
+ public function testSeekTell() {
+ $source = fopen('php://temp', 'r+');
+ fwrite($source, 'foobar');
+ rewind($source);
+
+ $wrapped = $this->wrapSource($source);
+
+ $this->assertEquals(0, ftell($wrapped));
+
+ fseek($wrapped, 2);
+ $this->assertEquals(2, ftell($source));
+ $this->assertEquals(2, ftell($wrapped));
+
+ fseek($wrapped, 2, SEEK_CUR);
+ $this->assertEquals(4, ftell($source));
+ $this->assertEquals(4, ftell($wrapped));
+
+ fseek($wrapped, -1, SEEK_END);
+ $this->assertEquals(5, ftell($source));
+ $this->assertEquals(5, ftell($wrapped));
+ }
+
+ public function testStat() {
+ $source = fopen(__FILE__, 'r+');
+ $wrapped = $this->wrapSource($source);
+ $this->assertEquals(stat(__FILE__), fstat($wrapped));
+ }
+
+ public function testTruncate() {
+ if (version_compare(phpversion(), '5.4.0', '<')) {
+ $this->markTestSkipped('php <5.4 doesn\'t support truncate for stream wrappers');
+ }
+ $source = fopen('php://temp', 'r+');
+ fwrite($source, 'foobar');
+ rewind($source);
+ $wrapped = $this->wrapSource($source);
+
+ ftruncate($wrapped, 2);
+ $this->assertEquals('fo', fread($wrapped, 10));
+ }
+
+ public function testLock() {
+ $source = tmpfile();
+ $wrapped = $this->wrapSource($source);
+ if (!flock($wrapped, LOCK_EX)) {
+ $this->fail('Unable to acquire lock');
+ }
+ }
+
+ public function testStreamOptions() {
+ $source = fopen('php://temp', 'r+');
+ $wrapped = $this->wrapSource($source);
+ stream_set_blocking($wrapped, 0);
+ stream_set_timeout($wrapped, 1, 0);
+ stream_set_write_buffer($wrapped, 0);
+ }
+}
diff --git a/apps/files_external/3rdparty/icewind/streams/tests/bootstrap.php b/apps/files_external/3rdparty/icewind/streams/tests/bootstrap.php
new file mode 100644
index 00000000000..2c17fd57feb
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/tests/bootstrap.php
@@ -0,0 +1,9 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Licensed under the MIT license:
+ * http://opensource.org/licenses/MIT
+ */
+
+date_default_timezone_set('UTC');
+require_once __DIR__ . '/../vendor/autoload.php';
diff --git a/apps/files_external/3rdparty/icewind/streams/tests/phpunit.xml b/apps/files_external/3rdparty/icewind/streams/tests/phpunit.xml
new file mode 100644
index 00000000000..e3d96352c43
--- /dev/null
+++ b/apps/files_external/3rdparty/icewind/streams/tests/phpunit.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<phpunit bootstrap="bootstrap.php">
+ <testsuite name='Stream'>
+ <directory suffix='.php'>./</directory>
+ </testsuite>
+</phpunit>
diff --git a/apps/files_external/3rdparty/smb4php/smb.php b/apps/files_external/3rdparty/smb4php/smb.php
deleted file mode 100644
index e325506fa14..00000000000
--- a/apps/files_external/3rdparty/smb4php/smb.php
+++ /dev/null
@@ -1,516 +0,0 @@
-<?php
-###################################################################
-# smb.php
-# This class implements a SMB stream wrapper based on 'smbclient'
-#
-# Date: lun oct 22 10:35:35 CEST 2007
-#
-# Homepage: http://www.phpclasses.org/smb4php
-#
-# Copyright (c) 2007 Victor M. Varela <vmvarela@gmail.com>
-# Copyright (c) 2012 Frank Karlitschek <frank@owncloud.org>
-# Copyright (c) 2014 Robin McCorkell <rmccorkell@karoshi.org.uk>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# 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 General Public License for more details.
-#
-# On the official website http://www.phpclasses.org/smb4php the
-# license is listed as LGPL so we assume that this is
-# dual-licensed GPL/LGPL
-###################################################################
-
-define ('SMB4PHP_VERSION', '0.8');
-
-###################################################################
-# CONFIGURATION SECTION - Change for your needs
-###################################################################
-
-define ('SMB4PHP_SMBCLIENT', 'smbclient');
-define ('SMB4PHP_SMBOPTIONS', 'TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192');
-define ('SMB4PHP_AUTHMODE', 'arg'); # set to 'env' to use USER enviroment variable
-
-###################################################################
-# SMB - commands that does not need an instance
-###################################################################
-
-$GLOBALS['__smb_cache'] = array ('stat' => array (), 'dir' => array ());
-
-class smb {
-
- private static $regexp = array (
- '^added interface ip=(.*) bcast=(.*) nmask=(.*)$' => 'skip',
- 'Anonymous login successful' => 'skip',
- '^Domain=\[(.*)\] OS=\[(.*)\] Server=\[(.*)\]$' => 'skip',
- '^\tSharename[ ]+Type[ ]+Comment$' => 'shares',
- '^\t---------[ ]+----[ ]+-------$' => 'skip',
- '^\tServer [ ]+Comment$' => 'servers',
- '^\t---------[ ]+-------$' => 'skip',
- '^\tWorkgroup[ ]+Master$' => 'workg',
- '^\t(.*)[ ]+(Disk|IPC)[ ]+IPC.*$' => 'skip',
- '^\tIPC\\\$(.*)[ ]+IPC' => 'skip',
- '^\t(.*)[ ]+(Disk)[ ]+(.*)$' => 'share',
- '^\t(.*)[ ]+(Printer)[ ]+(.*)$' => 'skip',
- '([0-9]+) blocks of size ([0-9]+)\. ([0-9]+) blocks available' => 'skip',
- 'Got a positive name query response from ' => 'skip',
- '^(session setup failed): (.*)$' => 'error',
- '^(.*): ERRSRV - ERRbadpw' => 'error',
- '^Error returning browse list: (.*)$' => 'error',
- '^tree connect failed: (.*)$' => 'error',
- '^(Connection to .* failed)(.*)$' => 'error-connect',
- '^NT_STATUS_(.*) ' => 'error',
- '^NT_STATUS_(.*)\$' => 'error',
- 'ERRDOS - ERRbadpath \((.*).\)' => 'error',
- 'cd (.*): (.*)$' => 'error',
- '^cd (.*): NT_STATUS_(.*)' => 'error',
- '^\t(.*)$' => 'srvorwg',
- '^([0-9]+)[ ]+([0-9]+)[ ]+(.*)$' => 'skip',
- '^Job ([0-9]+) cancelled' => 'skip',
- '^[ ]+(.*)[ ]+([0-9]+)[ ]+(Mon|Tue|Wed|Thu|Fri|Sat|Sun)[ ](Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[ ]+([0-9]+)[ ]+([0-9]{2}:[0-9]{2}:[0-9]{2})[ ]([0-9]{4})$' => 'files',
- '^message start: ERRSRV - (ERRmsgoff)' => 'error'
- );
-
- function getRegexp() {
- return self::$regexp;
- }
-
- function parse_url ($url) {
- $pu = parse_url (trim($url));
- foreach (array ('domain', 'user', 'pass', 'host', 'port', 'path') as $i) {
- if (! isset($pu[$i])) {
- $pu[$i] = '';
- }
- }
- if (count ($userdomain = explode (';', urldecode ($pu['user']))) > 1) {
- @list ($pu['domain'], $pu['user']) = $userdomain;
- }
- $path = preg_replace (array ('/^\//', '/\/$/'), '', urldecode ($pu['path']));
- list ($pu['share'], $pu['path']) = (preg_match ('/^([^\/]+)\/(.*)/', $path, $regs))
- ? array ($regs[1], preg_replace ('/\//', '\\', $regs[2]))
- : array ($path, '');
- $pu['type'] = $pu['path'] ? 'path' : ($pu['share'] ? 'share' : ($pu['host'] ? 'host' : '**error**'));
- if (! ($pu['port'] = intval(@$pu['port']))) {
- $pu['port'] = 139;
- }
-
- // decode user and password
- $pu['user'] = urldecode($pu['user']);
- $pu['pass'] = urldecode($pu['pass']);
- return $pu;
- }
-
-
- function look ($purl) {
- return smb::client ('-L ' . escapeshellarg ($purl['host']), $purl);
- }
-
-
- function execute ($command, $purl, $regexp = NULL) {
- return smb::client ('-d 0 '
- . escapeshellarg ('//' . $purl['host'] . '/' . $purl['share'])
- . ' -c ' . escapeshellarg ($command), $purl, $regexp
- );
- }
-
- function client ($params, $purl, $regexp = NULL) {
-
- if ($regexp === NULL) $regexp = smb::$regexp;
-
- if (SMB4PHP_AUTHMODE == 'env') {
- putenv("USER={$purl['user']}%{$purl['pass']}");
- $auth = '';
- } else {
- $auth = ($purl['user'] <> '' ? (' -U ' . escapeshellarg ($purl['user'] . '%' . $purl['pass'])) : '');
- }
- if ($purl['domain'] <> '') {
- $auth .= ' -W ' . escapeshellarg ($purl['domain']);
- }
- $port = ($purl['port'] <> 139 ? ' -p ' . escapeshellarg ($purl['port']) : '');
- $options = '-O ' . escapeshellarg(SMB4PHP_SMBOPTIONS);
-
- // this put env is necessary to read the output of smbclient correctly
- $old_locale = getenv('LC_ALL');
- putenv('LC_ALL=en_US.UTF-8');
- $output = popen ('TZ=UTC '.SMB4PHP_SMBCLIENT." -N {$auth} {$options} {$port} {$options} {$params} 2>/dev/null", 'r');
- $gotInfo = false;
- $info = array ();
- $info['info']= array ();
- $mode = '';
- while ($line = fgets ($output, 4096)) {
- list ($tag, $regs, $i) = array ('skip', array (), array ());
- reset ($regexp);
- foreach ($regexp as $r => $t) if (preg_match ('/'.$r.'/', $line, $regs)) {
- $tag = $t;
- break;
- }
- switch ($tag) {
- case 'skip': continue;
- case 'shares': $mode = 'shares'; break;
- case 'servers': $mode = 'servers'; break;
- case 'workg': $mode = 'workgroups'; break;
- case 'share':
- list($name, $type) = array (
- trim(substr($line, 1, 15)),
- trim(strtolower(substr($line, 17, 10)))
- );
- $i = ($type <> 'disk' && preg_match('/^(.*) Disk/', $line, $regs))
- ? array(trim($regs[1]), 'disk')
- : array($name, 'disk');
- break;
- case 'srvorwg':
- list ($name, $master) = array (
- strtolower(trim(substr($line,1,21))),
- strtolower(trim(substr($line, 22)))
- );
- $i = ($mode == 'servers') ? array ($name, "server") : array ($name, "workgroup", $master);
- break;
- case 'files':
- list ($attr, $name) = preg_match ("/^(.*)[ ]+([D|A|H|N|S|R]+)$/", trim ($regs[1]), $regs2)
- ? array (trim ($regs2[2]), trim ($regs2[1]))
- : array ('', trim ($regs[1]));
- list ($his, $im) = array (
- explode(':', $regs[6]), 1 + strpos("JanFebMarAprMayJunJulAugSepOctNovDec", $regs[4]) / 3);
- $i = ($name <> '.' && $name <> '..')
- ? array (
- $name,
- (strpos($attr,'D') === FALSE) ? 'file' : 'folder',
- 'attr' => $attr,
- 'size' => intval($regs[2]),
- 'time' => mktime ($his[0], $his[1], $his[2], $im, $regs[5], $regs[7])
- )
- : array();
- break;
- case 'error':
- if(substr($regs[0],0,22)=='NT_STATUS_NO_SUCH_FILE'){
- return false;
- }elseif(substr($regs[0],0,31)=='NT_STATUS_OBJECT_NAME_COLLISION'){
- return false;
- }elseif(substr($regs[0],0,31)=='NT_STATUS_OBJECT_PATH_NOT_FOUND'){
- return false;
- }elseif(substr($regs[0],0,31)=='NT_STATUS_OBJECT_NAME_NOT_FOUND'){
- return false;
- }elseif(substr($regs[0],0,29)=='NT_STATUS_FILE_IS_A_DIRECTORY'){
- return false;
- }
- trigger_error($regs[0].' params('.$params.')', E_USER_ERROR);
- case 'error-connect':
- // connection error can happen after obtaining share list if
- // NetBIOS is disabled/blocked on the target server,
- // in which case we keep the info and continue
- if (!$gotInfo) {
- return false;
- }
- }
- if ($i) switch ($i[1]) {
- case 'file':
- case 'folder': $info['info'][$i[0]] = $i;
- case 'disk':
- case 'server':
- case 'workgroup': $info[$i[1]][] = $i[0];
- $gotInfo = true;
- }
- }
- pclose($output);
-
-
- // restore previous locale
- if ($old_locale===false) {
- putenv('LC_ALL');
- } else {
- putenv('LC_ALL='.$old_locale);
- }
-
- return $info;
- }
-
-
- # stats
-
- function url_stat ($url, $flags = STREAM_URL_STAT_LINK) {
- if ($s = smb::getstatcache($url)) {
- return $s;
- }
- list ($stat, $pu) = array (false, smb::parse_url ($url));
- switch ($pu['type']) {
- case 'host':
- if ($o = smb::look ($pu))
- $stat = stat ("/tmp");
- else
- trigger_error ("url_stat(): list failed for host '{$pu['host']}'", E_USER_WARNING);
- break;
- case 'share':
- if (smb::execute("ls", $pu))
- $stat = stat ("/tmp");
- else
- trigger_error ("url_stat(): disk resource '{$pu['share']}' not found in '{$pu['host']}'", E_USER_WARNING);
- break;
- case 'path':
- if ($o = smb::execute ('dir "'.$pu['path'].'"', $pu)) {
- $p = explode('\\', $pu['path']);
- $name = $p[count($p)-1];
- if (isset ($o['info'][$name])) {
- $stat = smb::addstatcache ($url, $o['info'][$name]);
- } else {
- trigger_error ("url_stat(): path '{$pu['path']}' not found", E_USER_WARNING);
- }
- } else {
- return false;
-// trigger_error ("url_stat(): dir failed for path '{$pu['path']}'", E_USER_WARNING);
- }
- break;
- default: trigger_error ('error in URL', E_USER_ERROR);
- }
- return $stat;
- }
-
- function addstatcache ($url, $info) {
- $url = str_replace('//', '/', $url);
- $url = rtrim($url, '/');
- global $__smb_cache;
- $is_file = (strpos ($info['attr'],'D') === FALSE);
- $s = ($is_file) ? stat ('/etc/passwd') : stat ('/tmp');
- $s[7] = $s['size'] = $info['size'];
- $s[8] = $s[9] = $s[10] = $s['atime'] = $s['mtime'] = $s['ctime'] = $info['time'];
- return $__smb_cache['stat'][$url] = $s;
- }
-
- function getstatcache ($url) {
- $url = str_replace('//', '/', $url);
- $url = rtrim($url, '/');
- global $__smb_cache;
- return isset ($__smb_cache['stat'][$url]) ? $__smb_cache['stat'][$url] : FALSE;
- }
-
- function clearstatcache ($url='') {
- $url = str_replace('//', '/', $url);
- $url = rtrim($url, '/');
- global $__smb_cache;
- if ($url == '') $__smb_cache['stat'] = array (); else unset ($__smb_cache['stat'][$url]);
- }
-
-
- # commands
-
- function unlink ($url) {
- $pu = smb::parse_url($url);
- if ($pu['type'] <> 'path') trigger_error('unlink(): error in URL', E_USER_ERROR);
- smb::clearstatcache ($url);
- smb_stream_wrapper::cleardircache (dirname($url));
- return smb::execute ('del "'.$pu['path'].'"', $pu);
- }
-
- function rename ($url_from, $url_to) {
- $replace = false;
- list ($from, $to) = array (smb::parse_url($url_from), smb::parse_url($url_to));
- if ($from['host'] <> $to['host'] ||
- $from['share'] <> $to['share'] ||
- $from['user'] <> $to['user'] ||
- $from['pass'] <> $to['pass'] ||
- $from['domain'] <> $to['domain']) {
- trigger_error('rename(): FROM & TO must be in same server-share-user-pass-domain', E_USER_ERROR);
- }
- if ($from['type'] <> 'path' || $to['type'] <> 'path') {
- trigger_error('rename(): error in URL', E_USER_ERROR);
- }
- smb::clearstatcache ($url_from);
- $cmd = '';
- // check if target file exists
- if (smb::url_stat($url_to)) {
- // delete target file first
- $cmd = 'del "' . $to['path'] . '"; ';
- $replace = true;
- }
- $cmd .= 'rename "' . $from['path'] . '" "' . $to['path'] . '"';
- $result = smb::execute($cmd, $to);
- if ($replace) {
- // clear again, else the cache will return the info
- // from the old file
- smb::clearstatcache ($url_to);
- }
- return $result !== false;
- }
-
- function mkdir ($url, $mode, $options) {
- $pu = smb::parse_url($url);
- if ($pu['type'] <> 'path') trigger_error('mkdir(): error in URL', E_USER_ERROR);
- return smb::execute ('mkdir "'.$pu['path'].'"', $pu)!==false;
- }
-
- function rmdir ($url) {
- $pu = smb::parse_url($url);
- if ($pu['type'] <> 'path') trigger_error('rmdir(): error in URL', E_USER_ERROR);
- smb::clearstatcache ($url);
- smb_stream_wrapper::cleardircache (dirname($url));
- return smb::execute ('rmdir "'.$pu['path'].'"', $pu)!==false;
- }
-
-}
-
-###################################################################
-# SMB_STREAM_WRAPPER - class to be registered for smb:// URLs
-###################################################################
-
-class smb_stream_wrapper extends smb {
-
- # variables
-
- private $stream, $url, $parsed_url = array (), $mode, $tmpfile;
- private $need_flush = FALSE;
- private $dir = array (), $dir_index = -1;
-
-
- # directories
-
- function dir_opendir ($url, $options) {
- if ($d = $this->getdircache ($url)) {
- $this->dir = $d;
- $this->dir_index = 0;
- return TRUE;
- }
- $pu = smb::parse_url ($url);
- switch ($pu['type']) {
- case 'host':
- if ($o = smb::look ($pu)) {
- $this->dir = $o['disk'];
- $this->dir_index = 0;
- } else {
- trigger_error ("dir_opendir(): list failed for host '{$pu['host']}'", E_USER_WARNING);
- return false;
- }
- break;
- case 'share':
- case 'path':
- if (is_array($o = smb::execute ('dir "'.$pu['path'].'\*"', $pu))) {
- $this->dir = array_keys($o['info']);
- $this->dir_index = 0;
- $this->adddircache ($url, $this->dir);
- if(substr($url,-1,1)=='/'){
- $url=substr($url,0,-1);
- }
- foreach ($o['info'] as $name => $info) {
- smb::addstatcache($url . '/' . $name, $info);
- }
- } else {
- trigger_error ("dir_opendir(): dir failed for path '".$pu['path']."'", E_USER_WARNING);
- return false;
- }
- break;
- default:
- trigger_error ('dir_opendir(): error in URL', E_USER_ERROR);
- return false;
- }
- return TRUE;
- }
-
- function dir_readdir () {
- return ($this->dir_index < count($this->dir)) ? $this->dir[$this->dir_index++] : FALSE;
- }
-
- function dir_rewinddir () { $this->dir_index = 0; }
-
- function dir_closedir () { $this->dir = array(); $this->dir_index = -1; return TRUE; }
-
-
- # cache
-
- function adddircache ($url, $content) {
- $url = str_replace('//', '/', $url);
- $url = rtrim($url, '/');
- global $__smb_cache;
- return $__smb_cache['dir'][$url] = $content;
- }
-
- function getdircache ($url) {
- $url = str_replace('//', '/', $url);
- $url = rtrim($url, '/');
- global $__smb_cache;
- return isset ($__smb_cache['dir'][$url]) ? $__smb_cache['dir'][$url] : FALSE;
- }
-
- function cleardircache ($url='') {
- $url = str_replace('//', '/', $url);
- $url = rtrim($url, '/');
- global $__smb_cache;
- if ($url == ''){
- $__smb_cache['dir'] = array ();
- }else{
- unset ($__smb_cache['dir'][$url]);
- }
- }
-
-
- # streams
-
- function stream_open ($url, $mode, $options, $opened_path) {
- $this->url = $url;
- $this->mode = $mode;
- $this->parsed_url = $pu = smb::parse_url($url);
- if ($pu['type'] <> 'path') trigger_error('stream_open(): error in URL', E_USER_ERROR);
- switch ($mode) {
- case 'r':
- case 'r+':
- case 'rb':
- case 'a':
- case 'a+': $this->tmpfile = tempnam('/tmp', 'smb.down.');
- $result = smb::execute ('get "'.$pu['path'].'" "'.$this->tmpfile.'"', $pu);
- if($result === false){
- return $result;
- }
- break;
- case 'w':
- case 'w+':
- case 'wb':
- case 'x':
- case 'x+': $this->cleardircache();
- $this->tmpfile = tempnam('/tmp', 'smb.up.');
- $this->need_flush=true;
- }
- $this->stream = fopen ($this->tmpfile, $mode);
- return TRUE;
- }
-
- function stream_close () { return fclose($this->stream); }
-
- function stream_read ($count) { return fread($this->stream, $count); }
-
- function stream_write ($data) { $this->need_flush = TRUE; return fwrite($this->stream, $data); }
-
- function stream_eof () { return feof($this->stream); }
-
- function stream_tell () { return ftell($this->stream); }
-
- // PATCH: the wrapper must return true when fseek succeeded by returning 0.
- function stream_seek ($offset, $whence=null) { return fseek($this->stream, $offset, $whence) === 0; }
-
- function stream_flush () {
- if ($this->mode <> 'r' && $this->need_flush) {
- smb::clearstatcache ($this->url);
- smb::execute ('put "'.$this->tmpfile.'" "'.$this->parsed_url['path'].'"', $this->parsed_url);
- $this->need_flush = FALSE;
- }
- }
-
- function stream_stat () { return smb::url_stat ($this->url); }
-
- function __destruct () {
- if ($this->tmpfile <> '') {
- if ($this->need_flush) $this->stream_flush ();
- unlink ($this->tmpfile);
-
- }
- }
-
-}
-
-###################################################################
-# Register 'smb' protocol !
-###################################################################
-
-stream_wrapper_register('smb', 'smb_stream_wrapper')
- or die ('Failed to register protocol');
diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php
index 70f6b0159a6..e74ce3594c1 100644
--- a/apps/files_external/appinfo/app.php
+++ b/apps/files_external/appinfo/app.php
@@ -22,6 +22,8 @@ OC::$CLASSPATH['OC\Files\Storage\SFTP_Key'] = 'files_external/lib/sftp_key.php';
OC::$CLASSPATH['OC_Mount_Config'] = 'files_external/lib/config.php';
OC::$CLASSPATH['OCA\Files\External\Api'] = 'files_external/lib/api.php';
+require_once __DIR__ . '/../3rdparty/autoload.php';
+
OCP\App::registerAdmin('files_external', 'settings');
if (OCP\Config::getAppValue('files_external', 'allow_user_mounting', 'yes') == 'yes') {
OCP\App::registerPersonal('files_external', 'personal');
diff --git a/apps/files_external/l10n/cs_CZ.js b/apps/files_external/l10n/cs_CZ.js
index 52e9217a601..b89623a1673 100644
--- a/apps/files_external/l10n/cs_CZ.js
+++ b/apps/files_external/l10n/cs_CZ.js
@@ -53,6 +53,8 @@ OC.L10N.register(
"All users. Type to select user or group." : "Všichni uživatelé. Začněte psát pro výběr uživatelů a skupin.",
"(group)" : "(skupina)",
"Saved" : "Uloženo",
+ "Generate keys" : "Vytvořit klíče",
+ "Error generating key pair" : "Chyba při vytváření párů klíče",
"<b>Note:</b> " : "<b>Poznámka:</b>",
"and" : "a",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> cURL podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.",
diff --git a/apps/files_external/l10n/cs_CZ.json b/apps/files_external/l10n/cs_CZ.json
index 6b7ea9460a7..ceade182add 100644
--- a/apps/files_external/l10n/cs_CZ.json
+++ b/apps/files_external/l10n/cs_CZ.json
@@ -51,6 +51,8 @@
"All users. Type to select user or group." : "Všichni uživatelé. Začněte psát pro výběr uživatelů a skupin.",
"(group)" : "(skupina)",
"Saved" : "Uloženo",
+ "Generate keys" : "Vytvořit klíče",
+ "Error generating key pair" : "Chyba při vytváření párů klíče",
"<b>Note:</b> " : "<b>Poznámka:</b>",
"and" : "a",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> cURL podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.",
diff --git a/apps/files_external/l10n/gl.js b/apps/files_external/l10n/gl.js
index 7d1687f8385..b2a4770a389 100644
--- a/apps/files_external/l10n/gl.js
+++ b/apps/files_external/l10n/gl.js
@@ -50,7 +50,7 @@ OC.L10N.register(
"Error configuring Google Drive storage" : "Produciuse un erro ao configurar o almacenamento en Google Drive",
"Personal" : "Persoal",
"System" : "Sistema",
- "All users. Type to select user or group." : "Todos os usuarios. Escriba para selecionar usuario ou grupo.",
+ "All users. Type to select user or group." : "Todos os usuarios. Escriba para seleccionar usuario ou grupo.",
"(group)" : "(grupo)",
"Saved" : "Gardado",
"Generate keys" : "Xerar chaves",
diff --git a/apps/files_external/l10n/gl.json b/apps/files_external/l10n/gl.json
index f8356aaac31..08d1c457168 100644
--- a/apps/files_external/l10n/gl.json
+++ b/apps/files_external/l10n/gl.json
@@ -48,7 +48,7 @@
"Error configuring Google Drive storage" : "Produciuse un erro ao configurar o almacenamento en Google Drive",
"Personal" : "Persoal",
"System" : "Sistema",
- "All users. Type to select user or group." : "Todos os usuarios. Escriba para selecionar usuario ou grupo.",
+ "All users. Type to select user or group." : "Todos os usuarios. Escriba para seleccionar usuario ou grupo.",
"(group)" : "(grupo)",
"Saved" : "Gardado",
"Generate keys" : "Xerar chaves",
diff --git a/apps/files_external/l10n/ja.js b/apps/files_external/l10n/ja.js
index 492b0fb7336..17990d68e08 100644
--- a/apps/files_external/l10n/ja.js
+++ b/apps/files_external/l10n/ja.js
@@ -53,6 +53,8 @@ OC.L10N.register(
"All users. Type to select user or group." : "すべてのユーザー。ユーザー、グループを追加",
"(group)" : "(グループ)",
"Saved" : "保存されました",
+ "Generate keys" : "キーを生成",
+ "Error generating key pair" : "キーペアの生成エラー",
"<b>Note:</b> " : "<b>注意:</b> ",
"and" : "と",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> PHPにcURLのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。",
diff --git a/apps/files_external/l10n/ja.json b/apps/files_external/l10n/ja.json
index 5ef73a75c77..af817743f27 100644
--- a/apps/files_external/l10n/ja.json
+++ b/apps/files_external/l10n/ja.json
@@ -51,6 +51,8 @@
"All users. Type to select user or group." : "すべてのユーザー。ユーザー、グループを追加",
"(group)" : "(グループ)",
"Saved" : "保存されました",
+ "Generate keys" : "キーを生成",
+ "Error generating key pair" : "キーペアの生成エラー",
"<b>Note:</b> " : "<b>注意:</b> ",
"and" : "と",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>注意:</b> PHPにcURLのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。",
diff --git a/apps/files_external/lib/sftp.php b/apps/files_external/lib/sftp.php
index 2a762ad068f..c021f778feb 100644
--- a/apps/files_external/lib/sftp.php
+++ b/apps/files_external/lib/sftp.php
@@ -25,16 +25,8 @@ class SFTP extends \OC\Files\Storage\Common {
private static $tempFiles = array();
public function __construct($params) {
- // The sftp:// scheme has to be manually registered via inclusion of
- // the 'Net/SFTP/Stream.php' file which registers the Net_SFTP_Stream
- // stream wrapper as a side effect.
- // A slightly better way to register the stream wrapper is available
- // since phpseclib 0.3.7 in the form of a static call to
- // Net_SFTP_Stream::register() which will trigger autoloading if
- // necessary.
- // TODO: Call Net_SFTP_Stream::register() instead when phpseclib is
- // updated to 0.3.7 or higher.
- require_once 'Net/SFTP/Stream.php';
+ // Register sftp://
+ \Net_SFTP_Stream::register();
$this->host = $params['host'];
$proto = strpos($this->host, '://');
diff --git a/apps/files_external/lib/smb.php b/apps/files_external/lib/smb.php
index 3f0b0f45bfb..c554eaf19ee 100644
--- a/apps/files_external/lib/smb.php
+++ b/apps/files_external/lib/smb.php
@@ -8,139 +8,273 @@
namespace OC\Files\Storage;
-require_once __DIR__ . '/../3rdparty/smb4php/smb.php';
+use Icewind\SMB\Exception\Exception;
+use Icewind\SMB\Exception\NotFoundException;
+use Icewind\SMB\NativeServer;
+use Icewind\SMB\Server;
+use Icewind\Streams\CallbackWrapper;
+use Icewind\Streams\IteratorDirectory;
+use OC\Files\Filesystem;
-class SMB extends \OC\Files\Storage\StreamWrapper{
- private $password;
- private $user;
- private $host;
- private $root;
- private $share;
+class SMB extends Common {
+ /**
+ * @var \Icewind\SMB\Server
+ */
+ protected $server;
+
+ /**
+ * @var \Icewind\SMB\Share
+ */
+ protected $share;
+
+ /**
+ * @var \Icewind\SMB\FileInfo[]
+ */
+ protected $statCache = array();
public function __construct($params) {
if (isset($params['host']) && isset($params['user']) && isset($params['password']) && isset($params['share'])) {
- $this->host=$params['host'];
- $this->user=$params['user'];
- $this->password=$params['password'];
- $this->share=$params['share'];
- $this->root=isset($params['root'])?$params['root']:'/';
- if ( ! $this->root || $this->root[0]!='/') {
- $this->root='/'.$this->root;
- }
- if (substr($this->root, -1, 1)!='/') {
- $this->root.='/';
+ if (Server::NativeAvailable()) {
+ $this->server = new NativeServer($params['host'], $params['user'], $params['password']);
+ } else {
+ $this->server = new Server($params['host'], $params['user'], $params['password']);
}
- if ( ! $this->share || $this->share[0]!='/') {
- $this->share='/'.$this->share;
+ $this->share = $this->server->getShare(trim($params['share'], '/'));
+
+ $this->root = isset($params['root']) ? $params['root'] : '/';
+ if (!$this->root || $this->root[0] != '/') {
+ $this->root = '/' . $this->root;
}
- if (substr($this->share, -1, 1)=='/') {
- $this->share = substr($this->share, 0, -1);
+ if (substr($this->root, -1, 1) != '/') {
+ $this->root .= '/';
}
} else {
throw new \Exception('Invalid configuration');
}
}
- public function getId(){
- return 'smb::' . $this->user . '@' . $this->host . '/' . $this->share . '/' . $this->root;
+ /**
+ * @return string
+ */
+ public function getId() {
+ return 'smb::' . $this->server->getUser() . '@' . $this->server->getHost() . '/' . $this->share->getName() . '/' . $this->root;
}
- public function constructUrl($path) {
- if (substr($path, -1)=='/') {
- $path = substr($path, 0, -1);
- }
- if (substr($path, 0, 1)=='/') {
- $path = substr($path, 1);
+ /**
+ * @param string $path
+ * @return string
+ */
+ protected function buildPath($path) {
+ return Filesystem::normalizePath($this->root . '/' . $path);
+ }
+
+ /**
+ * @param string $path
+ * @return \Icewind\SMB\IFileInfo
+ */
+ protected function getFileInfo($path) {
+ $path = $this->buildPath($path);
+ if (!isset($this->statCache[$path])) {
+ $this->statCache[$path] = $this->share->stat($path);
}
- // remove trailing dots which some versions of samba don't seem to like
- $path = rtrim($path, '.');
- $path = urlencode($path);
- $user = urlencode($this->user);
- $pass = urlencode($this->password);
- return 'smb://'.$user.':'.$pass.'@'.$this->host.$this->share.$this->root.$path;
+ return $this->statCache[$path];
}
- public function stat($path) {
- if ( ! $path and $this->root=='/') {//mtime doesn't work for shares
- $stat=stat($this->constructUrl($path));
- if (empty($stat)) {
- return false;
- }
- $mtime=$this->shareMTime();
- $stat['mtime']=$mtime;
- return $stat;
- } else {
- $stat = stat($this->constructUrl($path));
+ /**
+ * @param string $path
+ * @return \Icewind\SMB\IFileInfo[]
+ */
+ protected function getFolderContents($path) {
+ $path = $this->buildPath($path);
+ $files = $this->share->dir($path);
+ foreach ($files as $file) {
+ $this->statCache[$path . '/' . $file->getName()] = $file;
+ }
+ return $files;
+ }
- // smb4php can return an empty array if the connection could not be established
- if (empty($stat)) {
- return false;
- }
+ /**
+ * @param \Icewind\SMB\IFileInfo $info
+ * @return array
+ */
+ protected function formatInfo($info) {
+ return array(
+ 'size' => $info->getSize(),
+ 'mtime' => $info->getMTime()
+ );
+ }
- return $stat;
- }
+ /**
+ * @param string $path
+ * @return array
+ */
+ public function stat($path) {
+ return $this->formatInfo($this->getFileInfo($path));
}
/**
- * Unlinks file or directory
* @param string $path
+ * @return bool
*/
public function unlink($path) {
- if ($this->is_dir($path)) {
- $this->rmdir($path);
- }
- else {
- $url = $this->constructUrl($path);
- unlink($url);
- clearstatcache(false, $url);
+ try {
+ if ($this->is_dir($path)) {
+ return $this->rmdir($path);
+ } else {
+ $path = $this->buildPath($path);
+ unset($this->statCache[$path]);
+ $this->share->del($path);
+ return true;
+ }
+ } catch (NotFoundException $e) {
+ return false;
}
- // smb4php still returns false even on success so
- // check here whether file was really deleted
- return !file_exists($path);
}
/**
* check if a file or folder has been updated since $time
+ *
* @param string $path
* @param int $time
* @return bool
*/
- public function hasUpdated($path,$time) {
- if(!$path and $this->root=='/') {
+ public function hasUpdated($path, $time) {
+ if (!$path and $this->root == '/') {
// mtime doesn't work for shares, but giving the nature of the backend,
// doing a full update is still just fast enough
return true;
} else {
- $actualTime=$this->filemtime($path);
- return $actualTime>$time;
+ $actualTime = $this->filemtime($path);
+ return $actualTime > $time;
}
}
/**
- * get the best guess for the modification time of the share
+ * @param string $path
+ * @param string $mode
+ * @return resource
*/
- private function shareMTime() {
- $dh=$this->opendir('');
- $lastCtime=0;
- if(is_resource($dh)) {
- while (($file = readdir($dh)) !== false) {
- if ($file!='.' and $file!='..') {
- $ctime=$this->filemtime($file);
- if ($ctime>$lastCtime) {
- $lastCtime=$ctime;
+ public function fopen($path, $mode) {
+ $fullPath = $this->buildPath($path);
+ try {
+ switch ($mode) {
+ case 'r':
+ case 'rb':
+ if (!$this->file_exists($path)) {
+ return false;
+ }
+ return $this->share->read($fullPath);
+ case 'w':
+ case 'wb':
+ return $this->share->write($fullPath);
+ case 'a':
+ case 'ab':
+ case 'r+':
+ case 'w+':
+ case 'wb+':
+ case 'a+':
+ case 'x':
+ case 'x+':
+ case 'c':
+ case 'c+':
+ //emulate these
+ if (strrpos($path, '.') !== false) {
+ $ext = substr($path, strrpos($path, '.'));
+ } else {
+ $ext = '';
}
+ if ($this->file_exists($path)) {
+ if (!$this->isUpdatable($path)) {
+ return false;
+ }
+ $tmpFile = $this->getCachedFile($path);
+ } else {
+ if (!$this->isCreatable(dirname($path))) {
+ return false;
+ }
+ $tmpFile = \OCP\Files::tmpFile($ext);
+ }
+ $source = fopen($tmpFile, $mode);
+ $share = $this->share;
+ return CallBackWrapper::wrap($source, null, null, function () use ($tmpFile, $fullPath, $share) {
+ $share->put($tmpFile, $fullPath);
+ unlink($tmpFile);
+ });
+ }
+ return false;
+ } catch (NotFoundException $e) {
+ return false;
+ }
+ }
+
+ public function rmdir($path) {
+ try {
+ $this->statCache = array();
+ $content = $this->share->dir($this->buildPath($path));
+ foreach ($content as $file) {
+ if ($file->isDirectory()) {
+ $this->rmdir($path . '/' . $file->getName());
+ } else {
+ $this->share->del($file->getPath());
}
}
+ $this->share->rmdir($this->buildPath($path));
+ return true;
+ } catch (NotFoundException $e) {
+ return false;
+ }
+ }
+
+ public function touch($path, $time = null) {
+ if (!$this->file_exists($path)) {
+ $fh = $this->share->write($this->buildPath($path));
+ fclose($fh);
+ return true;
+ }
+ return false;
+ }
+
+ public function opendir($path) {
+ $files = $this->getFolderContents($path);
+ $names = array_map(function ($info) {
+ /** @var \Icewind\SMB\IFileInfo $info */
+ return $info->getName();
+ }, $files);
+ return IteratorDirectory::wrap($names);
+ }
+
+ public function filetype($path) {
+ try {
+ return $this->getFileInfo($path)->isDirectory() ? 'dir' : 'file';
+ } catch (NotFoundException $e) {
+ return false;
+ }
+ }
+
+ public function mkdir($path) {
+ $path = $this->buildPath($path);
+ try {
+ $this->share->mkdir($path);
+ return true;
+ } catch (Exception $e) {
+ return false;
+ }
+ }
+
+ public function file_exists($path) {
+ try {
+ $this->getFileInfo($path);
+ return true;
+ } catch (NotFoundException $e) {
+ return false;
}
- return $lastCtime;
}
/**
* check if smbclient is installed
*/
public static function checkDependencies() {
- $smbClientExists = (bool) \OC_Helper::findBinaryPath('smbclient');
+ $smbClientExists = (bool)\OC_Helper::findBinaryPath('smbclient');
return $smbClientExists ? true : array('smbclient');
}
-
}
diff --git a/apps/files_external/lib/smb_oc.php b/apps/files_external/lib/smb_oc.php
index a7c93d97fd1..245d1ed79b3 100644
--- a/apps/files_external/lib/smb_oc.php
+++ b/apps/files_external/lib/smb_oc.php
@@ -8,9 +8,12 @@
namespace OC\Files\Storage;
-require_once __DIR__ . '/../3rdparty/smb4php/smb.php';
-class SMB_OC extends \OC\Files\Storage\SMB {
+use Icewind\SMB\Exception\AccessDeniedException;
+use Icewind\SMB\Exception\Exception;
+use Icewind\SMB\Server;
+
+class SMB_OC extends SMB {
private $username_as_share;
/**
@@ -19,18 +22,18 @@ class SMB_OC extends \OC\Files\Storage\SMB {
*/
public function __construct($params) {
if (isset($params['host']) && \OC::$server->getSession()->exists('smb-credentials')) {
- $host=$params['host'];
+ $host = $params['host'];
$this->username_as_share = ($params['username_as_share'] === 'true');
$params_auth = json_decode(\OC::$server->getCrypto()->decrypt(\OC::$server->getSession()->get('smb-credentials')), true);
$user = \OC::$server->getSession()->get('loginname');
$password = $params_auth['password'];
- $root=isset($params['root'])?$params['root']:'/';
+ $root = isset($params['root']) ? $params['root'] : '/';
$share = '';
if ($this->username_as_share) {
- $share = '/'.$user;
+ $share = '/' . $user;
} elseif (isset($params['share'])) {
$share = $params['share'];
} else {
@@ -84,33 +87,15 @@ class SMB_OC extends \OC\Files\Storage\SMB {
}
return false;
} else {
- $smb = new \smb();
- $pu = $smb->parse_url($this->constructUrl(''));
-
- // Attempt to connect anonymously
- $pu['user'] = '';
- $pu['pass'] = '';
-
- // Share cannot be checked if dynamic
- if ($this->username_as_share) {
- if ($smb->look($pu)) {
- return true;
- } else {
- return false;
- }
- }
- if (!$pu['share']) {
- return false;
- }
-
- // The following error messages are expected due to anonymous login
- $regexp = array(
- '(NT_STATUS_ACCESS_DENIED)' => 'skip'
- ) + $smb->getRegexp();
+ $server = new Server($this->server->getHost(), '', '');
- if ($smb->client("-d 0 " . escapeshellarg('//' . $pu['host'] . '/' . $pu['share']) . " -c exit", $pu, $regexp)) {
+ try {
+ $server->listShares();
return true;
- } else {
+ } catch (AccessDeniedException $e) {
+ // expected due to anonymous login
+ return true;
+ } catch (Exception $e) {
return false;
}
}
diff --git a/apps/files_external/tests/backends/ftp.php b/apps/files_external/tests/backends/ftp.php
index 842b7f43fa8..d62759889b1 100644
--- a/apps/files_external/tests/backends/ftp.php
+++ b/apps/files_external/tests/backends/ftp.php
@@ -15,12 +15,12 @@ class FTP extends Storage {
parent::setUp();
$id = $this->getUniqueID();
- $this->config = include('files_external/tests/config.php');
- if ( ! is_array($this->config) or ! isset($this->config['ftp']) or ! $this->config['ftp']['run']) {
+ $this->config = include('files_external/tests/config.ftp.php');
+ if ( ! is_array($this->config) or ! $this->config['run']) {
$this->markTestSkipped('FTP backend not configured');
}
- $this->config['ftp']['root'] .= '/' . $id; //make sure we have an new empty folder to work in
- $this->instance = new \OC\Files\Storage\FTP($this->config['ftp']);
+ $this->config['root'] .= '/' . $id; //make sure we have an new empty folder to work in
+ $this->instance = new \OC\Files\Storage\FTP($this->config);
$this->instance->mkdir('/');
}
diff --git a/apps/files_external/tests/backends/smb.php b/apps/files_external/tests/backends/smb.php
index 9e5ab2b331f..4b1150c6a25 100644
--- a/apps/files_external/tests/backends/smb.php
+++ b/apps/files_external/tests/backends/smb.php
@@ -10,24 +10,25 @@ namespace Test\Files\Storage;
class SMB extends Storage {
- private $config;
-
protected function setUp() {
parent::setUp();
$id = $this->getUniqueID();
- $this->config = include('files_external/tests/config.php');
- if (!is_array($this->config) or !isset($this->config['smb']) or !$this->config['smb']['run']) {
+ $config = include('files_external/tests/config.smb.php');
+ if (!is_array($config) or !$config['run']) {
$this->markTestSkipped('Samba backend not configured');
}
- $this->config['smb']['root'] .= $id; //make sure we have an new empty folder to work in
- $this->instance = new \OC\Files\Storage\SMB($this->config['smb']);
+ if (substr($config['root'], -1, 1) != '/') {
+ $config['root'] .= '/';
+ }
+ $config['root'] .= $id; //make sure we have an new empty folder to work in
+ $this->instance = new \OC\Files\Storage\SMB($config);
$this->instance->mkdir('/');
}
protected function tearDown() {
if ($this->instance) {
- \OCP\Files::rmdirr($this->instance->constructUrl(''));
+ $this->instance->rmdir('');
}
parent::tearDown();
diff --git a/apps/files_external/tests/backends/webdav.php b/apps/files_external/tests/backends/webdav.php
index c390612810d..c454c8e4a9d 100644
--- a/apps/files_external/tests/backends/webdav.php
+++ b/apps/files_external/tests/backends/webdav.php
@@ -10,8 +10,6 @@ namespace Test\Files\Storage;
class DAV extends Storage {
- private $config;
-
protected function setUp() {
parent::setUp();
diff --git a/apps/files_external/tests/env/start-ftp-morrisjobke.sh b/apps/files_external/tests/env/start-ftp-morrisjobke.sh
new file mode 100755
index 00000000000..3831e788e5e
--- /dev/null
+++ b/apps/files_external/tests/env/start-ftp-morrisjobke.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+#
+# ownCloud
+#
+# This script start a docker container to test the files_external tests
+# against. It will also change the files_external config to use the docker
+# container as testing environment. This is reverted in the stop step.W
+#
+# Set environment variable DEBUG to print config file
+#
+# @author Morris Jobke
+# @copyright 2015 Morris Jobke <hey@morrisjobke.de>
+#
+
+if ! command -v docker >/dev/null 2>&1; then
+ echo "No docker executable found - skipped docker setup"
+ exit 0;
+fi
+
+echo "Docker executable found - setup docker"
+
+echo "Fetch recent morrisjobke/docker-proftpd docker image"
+docker pull morrisjobke/docker-proftpd
+
+# retrieve current folder to place the config in the parent folder
+thisFolder=`echo $0 | replace "env/start-ftp-morrisjobke.sh" ""`
+
+if [ -z "$thisFolder" ]; then
+ thisFolder="."
+fi;
+
+user=test
+password=12345
+
+container=`docker run -d -e USERNAME=$user -e PASSWORD=$password morrisjobke/docker-proftpd`
+
+host=`docker inspect $container | grep IPAddress | cut -d '"' -f 4`
+
+cat > $thisFolder/config.ftp.php <<DELIM
+<?php
+
+return array(
+ 'run'=>true,
+ 'host'=>'$host',
+ 'user'=>'$user',
+ 'password'=>'$password',
+ 'root'=>'',
+);
+
+DELIM
+
+echo "ftp container: $container"
+
+# put container IDs into a file to drop them after the test run (keep in mind that multiple tests run in parallel on the same host)
+echo $container >> $thisFolder/dockerContainerMorrisJobke.$EXECUTOR_NUMBER.ftp
+
+if [ -n "$DEBUG" ]; then
+ cat $thisFolder/config.ftp.php
+ cat $thisFolder/dockerContainerMorrisJobke.$EXECUTOR_NUMBER.ftp
+fi
+
+# TODO find a way to determine the successful initialization inside the docker container
+echo "Waiting 5 seconds for ftp initialization ... "
+sleep 5
+
diff --git a/apps/files_external/tests/env/start-smb-silvershell.sh b/apps/files_external/tests/env/start-smb-silvershell.sh
new file mode 100755
index 00000000000..f72ad3f9e23
--- /dev/null
+++ b/apps/files_external/tests/env/start-smb-silvershell.sh
@@ -0,0 +1,63 @@
+#!/bin/bash
+#
+# ownCloud
+#
+# This script start a docker container to test the files_external tests
+# against. It will also change the files_external config to use the docker
+# container as testing environment. This is reverted in the stop step.W
+#
+# Set environment variable DEBUG to print config file
+#
+# @author Morris Jobke
+# @copyright 2015 Morris Jobke <hey@morrisjobke.de>
+#
+
+if ! command -v docker >/dev/null 2>&1; then
+ echo "No docker executable found - skipped docker setup"
+ exit 0;
+fi
+
+echo "Docker executable found - setup docker"
+
+echo "Fetch recent silvershell/samba docker image"
+docker pull silvershell/samba
+
+# retrieve current folder to place the config in the parent folder
+thisFolder=`echo $0 | replace "env/start-smb-silvershell.sh" ""`
+
+if [ -z "$thisFolder" ]; then
+ thisFolder="."
+fi;
+
+container=`docker run -d -e SMB_USER=test -e SMB_PWD=test silvershell/samba`
+
+host=`docker inspect $container | grep IPAddress | cut -d '"' -f 4`
+
+cat > $thisFolder/config.smb.php <<DELIM
+<?php
+
+return array(
+ 'run'=>true,
+ 'host'=>'$host',
+ 'user'=>'test',
+ 'password'=>'test',
+ 'root'=>'',
+ 'share'=>'public',
+);
+
+DELIM
+
+echo "samba container: $container"
+
+# put container IDs into a file to drop them after the test run (keep in mind that multiple tests run in parallel on the same host)
+echo $container >> $thisFolder/dockerContainerSilvershell.$EXECUTOR_NUMBER.smb
+
+if [ -n "$DEBUG" ]; then
+ cat $thisFolder/config.smb.php
+ cat $thisFolder/dockerContainerSilvershell.$EXECUTOR_NUMBER.smb
+fi
+
+# TODO find a way to determine the successful initialization inside the docker container
+echo "Waiting 5 seconds for smbd initialization ... "
+sleep 5
+
diff --git a/apps/files_external/tests/env/start-webdav-ownCloud.sh b/apps/files_external/tests/env/start-webdav-ownCloud.sh
index c7267cff341..58b87e8f05d 100755
--- a/apps/files_external/tests/env/start-webdav-ownCloud.sh
+++ b/apps/files_external/tests/env/start-webdav-ownCloud.sh
@@ -28,6 +28,10 @@ docker pull morrisjobke/owncloud
# retrieve current folder to place the config in the parent folder
thisFolder=`echo $0 | replace "env/start-webdav-ownCloud.sh" ""`
+if [ -z "$thisFolder" ]; then
+ thisFolder="."
+fi;
+
if [ -n "$RUN_DOCKER_MYSQL" ]; then
echo "Fetch recent mysql docker image"
docker pull mysql
@@ -78,5 +82,6 @@ if [ -n "$databaseContainer" ]; then
fi
if [ -n "$DEBUG" ]; then
- echo $thisFolder/config.webdav.php
+ cat $thisFolder/config.webdav.php
+ cat $thisFolder/dockerContainerOwnCloud.$EXECUTOR_NUMBER.webdav
fi
diff --git a/apps/files_external/tests/env/stop-ftp-morrisjobke.sh b/apps/files_external/tests/env/stop-ftp-morrisjobke.sh
new file mode 100755
index 00000000000..d8c6cc4f307
--- /dev/null
+++ b/apps/files_external/tests/env/stop-ftp-morrisjobke.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+#
+# ownCloud
+#
+# This script stops the docker container the files_external tests were run
+# against. It will also revert the config changes done in start step.
+#
+# @author Morris Jobke
+# @copyright 2015 Morris Jobke <hey@morrisjobke.de>
+#
+
+if ! command -v docker >/dev/null 2>&1; then
+ echo "No docker executable found - skipped docker stop"
+ exit 0;
+fi
+
+echo "Docker executable found - stop and remove docker containers"
+
+# retrieve current folder to remove the config from the parent folder
+thisFolder=`echo $0 | replace "env/stop-ftp-morrisjobke.sh" ""`
+
+if [ -z "$thisFolder" ]; then
+ thisFolder="."
+fi;
+
+# stopping and removing docker containers
+for container in `cat $thisFolder/dockerContainerMorrisJobke.$EXECUTOR_NUMBER.ftp`; do
+ echo "Stopping and removing docker container $container"
+ # kills running container and removes it
+ docker rm -f $container
+done;
+
+# cleanup
+rm $thisFolder/config.ftp.php
+rm $thisFolder/dockerContainerMorrisJobke.$EXECUTOR_NUMBER.ftp
+
diff --git a/apps/files_external/tests/env/stop-smb-silvershell.sh b/apps/files_external/tests/env/stop-smb-silvershell.sh
new file mode 100755
index 00000000000..6ae28d15506
--- /dev/null
+++ b/apps/files_external/tests/env/stop-smb-silvershell.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+#
+# ownCloud
+#
+# This script stops the docker container the files_external tests were run
+# against. It will also revert the config changes done in start step.
+#
+# @author Morris Jobke
+# @copyright 2015 Morris Jobke <hey@morrisjobke.de>
+#
+
+if ! command -v docker >/dev/null 2>&1; then
+ echo "No docker executable found - skipped docker stop"
+ exit 0;
+fi
+
+echo "Docker executable found - stop and remove docker containers"
+
+# retrieve current folder to remove the config from the parent folder
+thisFolder=`echo $0 | replace "env/stop-smb-silvershell.sh" ""`
+
+if [ -z "$thisFolder" ]; then
+ thisFolder="."
+fi;
+
+# stopping and removing docker containers
+for container in `cat $thisFolder/dockerContainerSilvershell.$EXECUTOR_NUMBER.smb`; do
+ echo "Stopping and removing docker container $container"
+ # kills running container and removes it
+ docker rm -f $container
+done;
+
+# cleanup
+rm $thisFolder/config.smb.php
+rm $thisFolder/dockerContainerSilvershell.$EXECUTOR_NUMBER.smb
+
diff --git a/apps/files_external/tests/env/stop-webdav-ownCloud.sh b/apps/files_external/tests/env/stop-webdav-ownCloud.sh
index 2f06eadcf7c..9d75c2bbd03 100755
--- a/apps/files_external/tests/env/stop-webdav-ownCloud.sh
+++ b/apps/files_external/tests/env/stop-webdav-ownCloud.sh
@@ -19,14 +19,9 @@ echo "Docker executable found - stop and remove docker containers"
# retrieve current folder to remove the config from the parent folder
thisFolder=`echo $0 | replace "env/stop-webdav-ownCloud.sh" ""`
-echo "DEBUG"
-
-netstat -tlpen
-
-echo "CONFIG:"
-
-cat $thisFolder/config.webdav.php
-cat $thisFolder/dockerContainerOwnCloud.$EXECUTOR_NUMBER.webdav
+if [ -z "$thisFolder" ]; then
+ thisFolder="."
+fi;
# stopping and removing docker containers
for container in `cat $thisFolder/dockerContainerOwnCloud.$EXECUTOR_NUMBER.webdav`; do
diff --git a/apps/files_external/tests/smbfunctions.php b/apps/files_external/tests/smbfunctions.php
deleted file mode 100644
index cf9f7cb20fe..00000000000
--- a/apps/files_external/tests/smbfunctions.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-/**
- * Copyright (c) 2013 Vincent Petry <pvince81@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-namespace Test\Files\Storage;
-
-class SMBFunctions extends \Test\TestCase {
-
- protected function setUp() {
- parent::setUp();
-
- // dummy config
- $this->config = array(
- 'run'=>false,
- 'user'=>'test',
- 'password'=>'testpassword',
- 'host'=>'smbhost',
- 'share'=>'/sharename',
- 'root'=>'/rootdir/',
- );
-
- $this->instance = new \OC\Files\Storage\SMB($this->config);
- }
-
- public function testGetId() {
- $this->assertEquals('smb::test@smbhost//sharename//rootdir/', $this->instance->getId());
- }
-
- public function testConstructUrl() {
- $this->assertEquals("smb://test:testpassword@smbhost/sharename/rootdir/abc", $this->instance->constructUrl('/abc'));
- $this->assertEquals("smb://test:testpassword@smbhost/sharename/rootdir/abc", $this->instance->constructUrl('/abc/'));
- $this->assertEquals("smb://test:testpassword@smbhost/sharename/rootdir/abc%2F", $this->instance->constructUrl('/abc/.'));
- $this->assertEquals("smb://test:testpassword@smbhost/sharename/rootdir/abc%2Fdef", $this->instance->constructUrl('/abc/def'));
- }
-}
diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php
index 837ceacbab3..8989f8cef2a 100644
--- a/apps/files_sharing/appinfo/app.php
+++ b/apps/files_sharing/appinfo/app.php
@@ -28,7 +28,10 @@ OCP\Util::addScript('files_sharing', 'external');
OC_FileProxy::register(new OCA\Files\Share\Proxy());
\OC::$server->getActivityManager()->registerExtension(function() {
- return new \OCA\Files_Sharing\Activity();
+ return new \OCA\Files_Sharing\Activity(
+ \OC::$server->query('L10NFactory'),
+ \OC::$server->getURLGenerator()
+ );
});
$config = \OC::$server->getConfig();
diff --git a/apps/files_sharing/l10n/gl.js b/apps/files_sharing/l10n/gl.js
index 36967ee11dd..ada524f78cd 100644
--- a/apps/files_sharing/l10n/gl.js
+++ b/apps/files_sharing/l10n/gl.js
@@ -2,10 +2,10 @@ OC.L10N.register(
"files_sharing",
{
"Server to server sharing is not enabled on this server" : "Neste servidor non está activada a compartición de servidor a servidor",
- "The mountpoint name contains invalid characters." : "O nome do punto de montaxe contén caracteres inválidos.",
+ "The mountpoint name contains invalid characters." : "O nome do punto de montaxe contén caracteres incorrectos",
"Invalid or untrusted SSL certificate" : "Certificado SSL incorrecto ou non fiábel",
- "Could not authenticate to remote share, password might be wrong" : "Non se puido autenticar na compartición remota, o contrasinal podería ser erróneo",
- "Storage not valid" : "Almacenamento non válido",
+ "Could not authenticate to remote share, password might be wrong" : "Non foi pisíbel autenticar na compartición remota, o contrasinal podería ser erróneo",
+ "Storage not valid" : "Almacenamento incorrecto",
"Couldn't add remote share" : "Non foi posíbel engadir a compartición remota",
"Shared with you" : "Compartido con vostede",
"Shared with others" : "Compartido con outros",
@@ -50,7 +50,7 @@ OC.L10N.register(
"Download %s" : "Descargar %s",
"Direct link" : "Ligazón directa",
"Federated Cloud Sharing" : "Compartición de nube federada",
- "Allow users on this server to send shares to other servers" : "Permitir aos ususarios de este servidor enviar comparticións a outros servidores",
- "Allow users on this server to receive shares from other servers" : "Permitir aos usuarios de este servidor recibir comparticións de outros servidores"
+ "Allow users on this server to send shares to other servers" : "Permitir aos usuarios deste servidor enviar comparticións a outros servidores",
+ "Allow users on this server to receive shares from other servers" : "Permitir aos usuarios deste servidor recibir comparticións de outros servidores"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/gl.json b/apps/files_sharing/l10n/gl.json
index 81d97bfdcec..59355f44acf 100644
--- a/apps/files_sharing/l10n/gl.json
+++ b/apps/files_sharing/l10n/gl.json
@@ -1,9 +1,9 @@
{ "translations": {
"Server to server sharing is not enabled on this server" : "Neste servidor non está activada a compartición de servidor a servidor",
- "The mountpoint name contains invalid characters." : "O nome do punto de montaxe contén caracteres inválidos.",
+ "The mountpoint name contains invalid characters." : "O nome do punto de montaxe contén caracteres incorrectos",
"Invalid or untrusted SSL certificate" : "Certificado SSL incorrecto ou non fiábel",
- "Could not authenticate to remote share, password might be wrong" : "Non se puido autenticar na compartición remota, o contrasinal podería ser erróneo",
- "Storage not valid" : "Almacenamento non válido",
+ "Could not authenticate to remote share, password might be wrong" : "Non foi pisíbel autenticar na compartición remota, o contrasinal podería ser erróneo",
+ "Storage not valid" : "Almacenamento incorrecto",
"Couldn't add remote share" : "Non foi posíbel engadir a compartición remota",
"Shared with you" : "Compartido con vostede",
"Shared with others" : "Compartido con outros",
@@ -48,7 +48,7 @@
"Download %s" : "Descargar %s",
"Direct link" : "Ligazón directa",
"Federated Cloud Sharing" : "Compartición de nube federada",
- "Allow users on this server to send shares to other servers" : "Permitir aos ususarios de este servidor enviar comparticións a outros servidores",
- "Allow users on this server to receive shares from other servers" : "Permitir aos usuarios de este servidor recibir comparticións de outros servidores"
+ "Allow users on this server to send shares to other servers" : "Permitir aos usuarios deste servidor enviar comparticións a outros servidores",
+ "Allow users on this server to receive shares from other servers" : "Permitir aos usuarios deste servidor recibir comparticións de outros servidores"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/ja.js b/apps/files_sharing/l10n/ja.js
index 8608d02f617..ad9481917c7 100644
--- a/apps/files_sharing/l10n/ja.js
+++ b/apps/files_sharing/l10n/ja.js
@@ -4,6 +4,7 @@ OC.L10N.register(
"Server to server sharing is not enabled on this server" : "このサーバーでは、サーバー間の共有が有効ではありません",
"The mountpoint name contains invalid characters." : "マウントポイント名 に不正な文字列が含まれています。",
"Invalid or untrusted SSL certificate" : "無効または信頼できないSSL証明書",
+ "Could not authenticate to remote share, password might be wrong" : "リモート共有が認証できませんでした,パスワードが間違っているかもしれません",
"Storage not valid" : "ストレージが無効です",
"Couldn't add remote share" : "リモート共有を追加できませんでした",
"Shared with you" : "他ユーザーがあなたと共有中",
@@ -27,6 +28,9 @@ OC.L10N.register(
"A file or folder was shared from <strong>another server</strong>" : "ファイルまたはフォルダーが<strong>他のサーバー</strong>から共有されたとき",
"A public shared file or folder was <strong>downloaded</strong>" : "公開共有ファイルまたはフォルダーが<strong>ダウンロードされた</strong>とき",
"You received a new remote share from %s" : "%sからリモート共有のリクエストは\n届きました。",
+ "%1$s accepted remote share %2$s" : "%1$s は %2$s のリモート共有を承認しました。",
+ "%1$s declined remote share %2$s" : "%1$s は %2$s のリモート共有を拒否しました。",
+ "%1$s unshared %2$s from you" : "%1$s は あなたと%2$s の共有を止めました。",
"Public shared folder %1$s was downloaded" : "公開共有フォルダ %1$s がダウンロードされました",
"Public shared file %1$s was downloaded" : "公開共有ファイル %1$s がダウンロードされました",
"This share is password-protected" : "この共有はパスワードで保護されています",
diff --git a/apps/files_sharing/l10n/ja.json b/apps/files_sharing/l10n/ja.json
index 017596b2172..44f376b4899 100644
--- a/apps/files_sharing/l10n/ja.json
+++ b/apps/files_sharing/l10n/ja.json
@@ -2,6 +2,7 @@
"Server to server sharing is not enabled on this server" : "このサーバーでは、サーバー間の共有が有効ではありません",
"The mountpoint name contains invalid characters." : "マウントポイント名 に不正な文字列が含まれています。",
"Invalid or untrusted SSL certificate" : "無効または信頼できないSSL証明書",
+ "Could not authenticate to remote share, password might be wrong" : "リモート共有が認証できませんでした,パスワードが間違っているかもしれません",
"Storage not valid" : "ストレージが無効です",
"Couldn't add remote share" : "リモート共有を追加できませんでした",
"Shared with you" : "他ユーザーがあなたと共有中",
@@ -25,6 +26,9 @@
"A file or folder was shared from <strong>another server</strong>" : "ファイルまたはフォルダーが<strong>他のサーバー</strong>から共有されたとき",
"A public shared file or folder was <strong>downloaded</strong>" : "公開共有ファイルまたはフォルダーが<strong>ダウンロードされた</strong>とき",
"You received a new remote share from %s" : "%sからリモート共有のリクエストは\n届きました。",
+ "%1$s accepted remote share %2$s" : "%1$s は %2$s のリモート共有を承認しました。",
+ "%1$s declined remote share %2$s" : "%1$s は %2$s のリモート共有を拒否しました。",
+ "%1$s unshared %2$s from you" : "%1$s は あなたと%2$s の共有を止めました。",
"Public shared folder %1$s was downloaded" : "公開共有フォルダ %1$s がダウンロードされました",
"Public shared file %1$s was downloaded" : "公開共有ファイル %1$s がダウンロードされました",
"This share is password-protected" : "この共有はパスワードで保護されています",
diff --git a/apps/files_sharing/lib/activity.php b/apps/files_sharing/lib/activity.php
index bfac91fd71a..0cd874d69f0 100644
--- a/apps/files_sharing/lib/activity.php
+++ b/apps/files_sharing/lib/activity.php
@@ -1,37 +1,70 @@
<?php
/**
- * ownCloud - publish activities
+ * ownCloud - Sharing Activity Extension
*
* @copyright (c) 2014, ownCloud Inc.
*
* @author Bjoern Schiessle <schiessle@owncloud.com>
+ * @author Joas Schilling <nickvergessen@owncloud.com>
*
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library 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 library. If not, see <http://www.gnu.org/licenses/>.
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
*/
namespace OCA\Files_Sharing;
-class Activity implements \OCP\Activity\IExtension {
+use OC\L10N\Factory;
+use OCP\Activity\IExtension;
+use OCP\IURLGenerator;
- const TYPE_REMOTE_SHARE = 'remote_share';
+class Activity implements IExtension {
+ /**
+ * Filter with all sharing related activities
+ */
+ const FILTER_SHARES = 'shares';
+
+ /**
+ * Activity types known to this extension
+ */
const TYPE_PUBLIC_LINKS = 'public_links';
- const SUBJECT_REMOTE_SHARE_RECEIVED = 'remote_share_received';
+ const TYPE_REMOTE_SHARE = 'remote_share';
+ const TYPE_SHARED = 'shared';
+
+ /**
+ * Subject keys for translation of the subjections
+ */
+ const SUBJECT_PUBLIC_SHARED_FILE_DOWNLOADED = 'public_shared_file_downloaded';
+ const SUBJECT_PUBLIC_SHARED_FOLDER_DOWNLOADED = 'public_shared_folder_downloaded';
+
const SUBJECT_REMOTE_SHARE_ACCEPTED = 'remote_share_accepted';
const SUBJECT_REMOTE_SHARE_DECLINED = 'remote_share_declined';
+ const SUBJECT_REMOTE_SHARE_RECEIVED = 'remote_share_received';
const SUBJECT_REMOTE_SHARE_UNSHARED = 'remote_share_unshared';
- const SUBJECT_PUBLIC_SHARED_FILE_DOWNLOADED = 'public_shared_file_downloaded';
- const SUBJECT_PUBLIC_SHARED_FOLDER_DOWNLOADED = 'public_shared_folder_downloaded';
+
+ const SUBJECT_SHARED_GROUP_SELF = 'shared_group_self';
+ const SUBJECT_SHARED_LINK_SELF = 'shared_link_self';
+ const SUBJECT_SHARED_USER_SELF = 'shared_user_self';
+ const SUBJECT_SHARED_WITH_BY = 'shared_with_by';
+
+ /** @var Factory */
+ protected $languageFactory;
+
+ /** @var IURLGenerator */
+ protected $URLGenerator;
+
+ /**
+ * @param Factory $languageFactory
+ * @param IURLGenerator $URLGenerator
+ */
+ public function __construct(Factory $languageFactory, IURLGenerator $URLGenerator) {
+ $this->languageFactory = $languageFactory;
+ $this->URLGenerator = $URLGenerator;
+ }
+
+ protected function getL10N($languageCode = null) {
+ return $this->languageFactory->get('files_sharing', $languageCode);
+ }
/**
* The extension can return an array of additional notification types.
@@ -41,45 +74,52 @@ class Activity implements \OCP\Activity\IExtension {
* @return array|false
*/
public function getNotificationTypes($languageCode) {
- $l = \OC::$server->getL10N('files_sharing', $languageCode);
+ $l = $this->getL10N($languageCode);
+
return array(
- self::TYPE_REMOTE_SHARE => $l->t('A file or folder was shared from <strong>another server</strong>'),
- self::TYPE_PUBLIC_LINKS => $l->t('A public shared file or folder was <strong>downloaded</strong>'),
+ self::TYPE_SHARED => (string) $l->t('A file or folder has been <strong>shared</strong>'),
+ self::TYPE_REMOTE_SHARE => (string) $l->t('A file or folder was shared from <strong>another server</strong>'),
+ self::TYPE_PUBLIC_LINKS => (string) $l->t('A public shared file or folder was <strong>downloaded</strong>'),
);
}
/**
- * The extension can filter the types based on the filter if required.
- * In case no filter is to be applied false is to be returned unchanged.
+ * For a given method additional types to be displayed in the settings can be returned.
+ * In case no additional types are to be added false is to be returned.
*
- * @param array $types
- * @param string $filter
+ * @param string $method
* @return array|false
*/
- public function filterNotificationTypes($types, $filter) {
- return $types;
+ public function getDefaultTypes($method) {
+ $defaultTypes = [
+ self::TYPE_SHARED,
+ self::TYPE_REMOTE_SHARE,
+ ];
+
+ if ($method === 'stream') {
+ $defaultTypes[] = self::TYPE_PUBLIC_LINKS;
+ }
+
+ return $defaultTypes;
}
/**
- * For a given method additional types to be displayed in the settings can be returned.
- * In case no additional types are to be added false is to be returned.
+ * A string naming the css class for the icon to be used can be returned.
+ * If no icon is known for the given type false is to be returned.
*
- * @param string $method
- * @return array|false
+ * @param string $type
+ * @return string|false
*/
- public function getDefaultTypes($method) {
- switch ($method) {
- case 'email':
- $result = array(self::TYPE_REMOTE_SHARE);
- break;
- case 'stream':
- $result = array(self::TYPE_REMOTE_SHARE, self::TYPE_PUBLIC_LINKS);
- break;
- default:
- $result = false;
+ public function getTypeIcon($type) {
+ switch ($type) {
+ case self::TYPE_SHARED:
+ case self::TYPE_REMOTE_SHARE:
+ return 'icon-share';
+ case self::TYPE_PUBLIC_LINKS:
+ return 'icon-download';
}
- return $result;
+ return false;
}
/**
@@ -95,23 +135,33 @@ class Activity implements \OCP\Activity\IExtension {
* @return string|false
*/
public function translate($app, $text, $params, $stripPath, $highlightParams, $languageCode) {
-
- $l = \OC::$server->getL10N('files_sharing', $languageCode);
+ $l = $this->getL10N($languageCode);
if ($app === 'files_sharing') {
switch ($text) {
case self::SUBJECT_REMOTE_SHARE_RECEIVED:
- return $l->t('You received a new remote share from %s', $params)->__toString();
+ return (string) $l->t('You received a new remote share from %s', $params);
case self::SUBJECT_REMOTE_SHARE_ACCEPTED:
- return $l->t('%1$s accepted remote share %2$s', $params)->__toString();
+ return (string) $l->t('%1$s accepted remote share %2$s', $params);
case self::SUBJECT_REMOTE_SHARE_DECLINED:
- return $l->t('%1$s declined remote share %2$s', $params)->__toString();
+ return (string) $l->t('%1$s declined remote share %2$s', $params);
case self::SUBJECT_REMOTE_SHARE_UNSHARED:
- return $l->t('%1$s unshared %2$s from you', $params)->__toString();
+ return (string) $l->t('%1$s unshared %2$s from you', $params);
case self::SUBJECT_PUBLIC_SHARED_FOLDER_DOWNLOADED:
- return $l->t('Public shared folder %1$s was downloaded', $params)->__toString();
+ return (string) $l->t('Public shared folder %1$s was downloaded', $params);
case self::SUBJECT_PUBLIC_SHARED_FILE_DOWNLOADED:
- return $l->t('Public shared file %1$s was downloaded', $params)->__toString();
+ return (string) $l->t('Public shared file %1$s was downloaded', $params);
+ }
+ } else if ($app === 'files') {
+ switch ($text) {
+ case self::SUBJECT_SHARED_USER_SELF:
+ return (string) $l->t('You shared %1$s with %2$s', $params);
+ case self::SUBJECT_SHARED_GROUP_SELF:
+ return (string) $l->t('You shared %1$s with group %2$s', $params);
+ case self::SUBJECT_SHARED_WITH_BY:
+ return (string) $l->t('%2$s shared %1$s with you', $params);
+ case self::SUBJECT_SHARED_LINK_SELF:
+ return (string) $l->t('You shared %1$s via link', $params);
}
}
@@ -149,24 +199,19 @@ class Activity implements \OCP\Activity\IExtension {
0 => 'file',
);
}
- }
-
- return false;
- }
+ } else if ($app === 'files') {
+ switch ($text) {
+ case self::SUBJECT_SHARED_LINK_SELF:
+ case self::SUBJECT_SHARED_USER_SELF:
+ case self::SUBJECT_SHARED_WITH_BY:
+ return [0 => 'file', 1 => 'username'];
- /**
- * A string naming the css class for the icon to be used can be returned.
- * If no icon is known for the given type false is to be returned.
- *
- * @param string $type
- * @return string|false
- */
- public function getTypeIcon($type) {
- switch ($type) {
- case self::TYPE_REMOTE_SHARE:
- return 'icon-share';
- case self::TYPE_PUBLIC_LINKS:
- return 'icon-download';
+ case self::SUBJECT_SHARED_GROUP_SELF:
+ return [
+ 0 => 'file',
+ //1 => 'group', Group does not exist yet
+ ];
+ }
}
return false;
@@ -191,7 +236,17 @@ class Activity implements \OCP\Activity\IExtension {
* @return array|false
*/
public function getNavigation() {
- return false;
+ $l = $this->getL10N();
+ return [
+ 'apps' => [],
+ 'top' => [
+ self::FILTER_SHARES => [
+ 'id' => self::FILTER_SHARES,
+ 'name' => (string) $l->t('Shares'),
+ 'url' => $this->URLGenerator->linkToRoute('activity.Activities.showList', ['filter' => self::FILTER_SHARES]),
+ ],
+ ],
+ ];
}
/**
@@ -201,6 +256,22 @@ class Activity implements \OCP\Activity\IExtension {
* @return boolean
*/
public function isFilterValid($filterValue) {
+ return $filterValue === self::FILTER_SHARES;
+ }
+
+ /**
+ * The extension can filter the types based on the filter if required.
+ * In case no filter is to be applied false is to be returned unchanged.
+ *
+ * @param array $types
+ * @param string $filter
+ * @return array|false
+ */
+ public function filterNotificationTypes($types, $filter) {
+ switch ($filter) {
+ case self::FILTER_SHARES:
+ return array_intersect([self::TYPE_SHARED, self::TYPE_REMOTE_SHARE], $types);
+ }
return false;
}
@@ -214,8 +285,11 @@ class Activity implements \OCP\Activity\IExtension {
* @return array|false
*/
public function getQueryForFilter($filter) {
- if ($filter === 'shares') {
- return array('`app` = ? and `type` = ?', array('files_sharing', self::TYPE_REMOTE_SHARE));
+ if ($filter === self::FILTER_SHARES) {
+ return [
+ '(`app` = ? or `app` = ?)',
+ ['files_sharing', 'files'],
+ ];
}
return false;
}
diff --git a/apps/files_sharing/lib/controllers/sharecontroller.php b/apps/files_sharing/lib/controllers/sharecontroller.php
index 34339154b5c..cdcf3bbdc37 100644
--- a/apps/files_sharing/lib/controllers/sharecontroller.php
+++ b/apps/files_sharing/lib/controllers/sharecontroller.php
@@ -230,26 +230,48 @@ class ShareController extends Controller {
}
}
+ $files_list = null;
+ if (!is_null($files)) { // download selected files
+ $files_list = json_decode($files);
+ // in case we get only a single file
+ if ($files_list === null) {
+ $files_list = array($files);
+ }
+ }
+
$originalSharePath = self::getPath($token);
+ // Create the activities
if (isset($originalSharePath) && Filesystem::isReadable($originalSharePath . $path)) {
$originalSharePath = Filesystem::normalizePath($originalSharePath . $path);
- $type = \OC\Files\Filesystem::is_dir($originalSharePath) ? 'folder' : 'file';
- $args = $type === 'folder' ? array('dir' => $originalSharePath) : array('dir' => dirname($originalSharePath), 'scrollto' => basename($originalSharePath));
- $linkToFile = \OCP\Util::linkToAbsolute('files', 'index.php', $args);
- $subject = $type === 'folder' ? Activity::SUBJECT_PUBLIC_SHARED_FOLDER_DOWNLOADED : Activity::SUBJECT_PUBLIC_SHARED_FILE_DOWNLOADED;
- $this->activityManager->publishActivity(
- 'files_sharing', $subject, array($originalSharePath), '', array(), $originalSharePath,
- $linkToFile, $linkItem['uid_owner'], Activity::TYPE_PUBLIC_LINKS, Activity::PRIORITY_MEDIUM);
- }
+ $isDir = \OC\Files\Filesystem::is_dir($originalSharePath);
- if (!is_null($files)) { // download selected files
- $files_list = json_decode($files);
- // in case we get only a single file
- if ($files_list === NULL) {
- $files_list = array($files);
+ $activities = [];
+ if (!$isDir) {
+ // Single file public share
+ $activities[$originalSharePath] = Activity::SUBJECT_PUBLIC_SHARED_FILE_DOWNLOADED;
+ } else if (!empty($files_list)) {
+ // Only some files are downloaded
+ foreach ($files_list as $file) {
+ $filePath = Filesystem::normalizePath($originalSharePath . '/' . $file);
+ $isDir = \OC\Files\Filesystem::is_dir($filePath);
+ $activities[$filePath] = ($isDir) ? Activity::SUBJECT_PUBLIC_SHARED_FOLDER_DOWNLOADED : Activity::SUBJECT_PUBLIC_SHARED_FILE_DOWNLOADED;
+ }
+ } else {
+ // The folder is downloaded
+ $activities[$originalSharePath] = Activity::SUBJECT_PUBLIC_SHARED_FOLDER_DOWNLOADED;
}
+ foreach ($activities as $filePath => $subject) {
+ $this->activityManager->publishActivity(
+ 'files_sharing', $subject, array($filePath), '', array(),
+ $filePath, '', $linkItem['uid_owner'], Activity::TYPE_PUBLIC_LINKS, Activity::PRIORITY_MEDIUM
+ );
+ }
+ }
+
+ // download selected files
+ if (!is_null($files)) {
// FIXME: The exit is required here because otherwise the AppFramework is trying to add headers as well
// after dispatching the request which results in a "Cannot modify header information" notice.
OC_Files::get($originalSharePath, $files_list, $_SERVER['REQUEST_METHOD'] == 'HEAD');
diff --git a/apps/files_sharing/tests/activity.php b/apps/files_sharing/tests/activity.php
index 04930e3bb76..6975a41fb8b 100644
--- a/apps/files_sharing/tests/activity.php
+++ b/apps/files_sharing/tests/activity.php
@@ -34,7 +34,12 @@ class Activity extends \OCA\Files_Sharing\Tests\TestCase{
protected function setUp() {
parent::setUp();
- $this->activity = new \OCA\Files_Sharing\Activity();
+ $this->activity = new \OCA\Files_Sharing\Activity(
+ $this->getMock('\OC\L10N\Factory'),
+ $this->getMockBuilder('\OC\URLGenerator')
+ ->disableOriginalConstructor()
+ ->getMock()
+ );
}
/**
@@ -56,9 +61,8 @@ class Activity extends \OCA\Files_Sharing\Tests\TestCase{
public function dataTestGetDefaultType() {
return array(
- array('email', array(\OCA\Files_Sharing\Activity::TYPE_REMOTE_SHARE)),
- array('stream', array(\OCA\Files_Sharing\Activity::TYPE_REMOTE_SHARE, \OCA\Files_Sharing\Activity::TYPE_PUBLIC_LINKS)),
- array('foo', false)
+ array('email', array(\OCA\Files_Sharing\Activity::TYPE_SHARED, \OCA\Files_Sharing\Activity::TYPE_REMOTE_SHARE)),
+ array('stream', array(\OCA\Files_Sharing\Activity::TYPE_SHARED, \OCA\Files_Sharing\Activity::TYPE_REMOTE_SHARE, \OCA\Files_Sharing\Activity::TYPE_PUBLIC_LINKS)),
);
}
diff --git a/apps/user_ldap/l10n/gl.js b/apps/user_ldap/l10n/gl.js
index a2359d41ebc..246e9950b3d 100644
--- a/apps/user_ldap/l10n/gl.js
+++ b/apps/user_ldap/l10n/gl.js
@@ -20,7 +20,7 @@ OC.L10N.register(
"Error" : "Erro",
"Please specify a Base DN" : "Por favor indique un DN base",
"Could not determine Base DN" : "Non se puido determinar o DN base",
- "Please specify the port" : "Por favor indique un porto",
+ "Please specify the port" : "Especifique un porto",
"Configuration OK" : "Configuración correcta",
"Configuration incorrect" : "Configuración incorrecta",
"Configuration incomplete" : "Configuración incompleta",
diff --git a/apps/user_ldap/l10n/gl.json b/apps/user_ldap/l10n/gl.json
index 0f6d4e00cdf..9e8fceaa250 100644
--- a/apps/user_ldap/l10n/gl.json
+++ b/apps/user_ldap/l10n/gl.json
@@ -18,7 +18,7 @@
"Error" : "Erro",
"Please specify a Base DN" : "Por favor indique un DN base",
"Could not determine Base DN" : "Non se puido determinar o DN base",
- "Please specify the port" : "Por favor indique un porto",
+ "Please specify the port" : "Especifique un porto",
"Configuration OK" : "Configuración correcta",
"Configuration incorrect" : "Configuración incorrecta",
"Configuration incomplete" : "Configuración incompleta",
diff --git a/apps/user_ldap/l10n/mr.js b/apps/user_ldap/l10n/mr.js
new file mode 100644
index 00000000000..37042a4f412
--- /dev/null
+++ b/apps/user_ldap/l10n/mr.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "user_ldap",
+ {
+ "_%s group found_::_%s groups found_" : ["",""],
+ "_%s user found_::_%s users found_" : ["",""]
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/mr.json b/apps/user_ldap/l10n/mr.json
new file mode 100644
index 00000000000..521de7ba1a8
--- /dev/null
+++ b/apps/user_ldap/l10n/mr.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "_%s group found_::_%s groups found_" : ["",""],
+ "_%s user found_::_%s users found_" : ["",""]
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/config/config.sample.php b/config/config.sample.php
index 42ef59f079c..090e8f1f9fa 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -671,7 +671,7 @@ $CONFIG = array(
* - OC\Preview\TIFF
*
* .. note:: Troubleshooting steps for the MS Word previews are available
- * at the :doc:`collaborative_documents_configuration#troubleshooting` section
+ * at the :doc:`collaborative_documents_configuration` section
* of the Administrators Manual.
*
* The following providers are not available in Microsoft Windows:
diff --git a/console.php b/console.php
index 6d3ab20bc16..cbb11d2a5fd 100644
--- a/console.php
+++ b/console.php
@@ -11,6 +11,9 @@ use Symfony\Component\Console\Application;
try {
require_once 'lib/base.php';
+ // set to run indefinitely if needed
+ set_time_limit(0);
+
// Don't do anything if ownCloud has not been installed yet
if (!\OC::$server->getConfig()->getSystemValue('installed', false)) {
echo "Console can only be used once ownCloud has been installed" . PHP_EOL;
diff --git a/core/command/app/checkcode.php b/core/command/app/checkcode.php
new file mode 100644
index 00000000000..55c30b900b3
--- /dev/null
+++ b/core/command/app/checkcode.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Copyright (c) 2015 Thomas Müller <deepdiver@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Core\Command\App;
+
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Input\InputArgument;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+
+class CheckCode extends Command {
+ protected function configure() {
+ $this
+ ->setName('app:check-code')
+ ->setDescription('check code to be compliant')
+ ->addArgument(
+ 'app-id',
+ InputArgument::REQUIRED,
+ 'enable the specified app'
+ );
+ }
+
+ protected function execute(InputInterface $input, OutputInterface $output) {
+ $appId = $input->getArgument('app-id');
+ $codeChecker = new \OC\App\CodeChecker();
+ $codeChecker->listen('CodeChecker', 'analyseFileBegin', function($params) use ($output) {
+ $output->writeln("<info>Analysing {$params}</info>");
+ });
+ $codeChecker->listen('CodeChecker', 'analyseFileFinished', function($params) use ($output) {
+ $count = count($params);
+ $output->writeln(" {$count} errors");
+ usort($params, function($a, $b) {
+ return $a['line'] >$b['line'];
+ });
+
+ foreach($params as $p) {
+ $line = sprintf("%' 4d", $p['line']);
+ $output->writeln(" <error>line $line: {$p['disallowedToken']} - {$p['reason']}</error>");
+ }
+ });
+ $errors = $codeChecker->analyse($appId);
+ if (empty($errors)) {
+ $output->writeln('<info>App is compliant - awesome job!</info>');
+ } else {
+ $output->writeln('<error>App is not compliant</error>');
+ }
+ }
+}
diff --git a/core/css/share.css b/core/css/share.css
index 3ebf3a4b220..72a88328867 100644
--- a/core/css/share.css
+++ b/core/css/share.css
@@ -68,6 +68,12 @@
overflow: hidden;
vertical-align: middle;
}
+#shareWithList .avatar {
+ margin-right: 2px;
+ display: inline-block;
+ overflow: hidden;
+ vertical-align: middle;
+}
#shareWithList li label{
margin-right: 8px;
}
diff --git a/core/js/config.php b/core/js/config.php
index 52405725f23..b7224253461 100644
--- a/core/js/config.php
+++ b/core/js/config.php
@@ -74,6 +74,7 @@ $array = array(
'session_keepalive' => \OCP\Config::getSystemValue('session_keepalive', true),
'version' => implode('.', OC_Util::getVersion()),
'versionstring' => OC_Util::getVersionString(),
+ 'enable_avatars' => \OC::$server->getConfig()->getSystemValue('enable_avatars', true),
)
),
"oc_appconfig" => json_encode(
diff --git a/core/js/core.json b/core/js/core.json
index 2fb7842624c..7f3b313e898 100644
--- a/core/js/core.json
+++ b/core/js/core.json
@@ -9,7 +9,8 @@
],
"libraries": [
"jquery-showpassword.js",
- "jquery-tipsy.js"
+ "jquery-tipsy.js",
+ "jquery.avatar.js"
],
"modules": [
"compatibility.js",
diff --git a/core/js/js.js b/core/js/js.js
index 7ff010eca0a..a43df4014df 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -116,17 +116,30 @@ var OC={
/**
* Generates the absolute url for the given relative url, which can contain parameters.
+ * Parameters will be URL encoded automatically.
* @param {string} url
* @param [params] params
+ * @param [options] options
+ * @param {bool} [options.escape=true] enable/disable auto escape of placeholders (by default enabled)
* @return {string} Absolute URL for the given relative URL
*/
- generateUrl: function(url, params) {
+ generateUrl: function(url, params, options) {
+ var defaultOptions = {
+ escape: true
+ },
+ allOptions = options || {};
+ _.defaults(allOptions, defaultOptions);
+
var _build = function (text, vars) {
var vars = vars || [];
return text.replace(/{([^{}]*)}/g,
function (a, b) {
- var r = vars[b];
- return typeof r === 'string' || typeof r === 'number' ? r : a;
+ var r = (vars[b]);
+ if(allOptions.escape) {
+ return (typeof r === 'string' || typeof r === 'number') ? encodeURIComponent(r) : encodeURIComponent(a);
+ } else {
+ return (typeof r === 'string' || typeof r === 'number') ? r : a;
+ }
}
);
};
diff --git a/core/js/share.js b/core/js/share.js
index b3533af4824..692ce0b0ba0 100644
--- a/core/js/share.js
+++ b/core/js/share.js
@@ -358,9 +358,17 @@ OC.Share={
var html = '<div id="dropdown" class="drop shareDropDown" data-item-type="'+itemType+'" data-item-source="'+itemSource+'">';
if (data !== false && data.reshare !== false && data.reshare.uid_owner !== undefined) {
if (data.reshare.share_type == OC.Share.SHARE_TYPE_GROUP) {
- html += '<span class="reshare">'+t('core', 'Shared with you and the group {group} by {owner}', {group: data.reshare.share_with, owner: data.reshare.displayname_owner})+'</span>';
+ html += '<span class="reshare">'+t('core', 'Shared with you and the group {group} by {owner}', {group: data.reshare.share_with, owner: data.reshare.displayname_owner});
+ if (oc_config.enable_avatars === true) {
+ html += ' <div id="avatar-share-owner" style="display: inline-block"></div>';
+ }
+ html += '</span>';
} else {
- html += '<span class="reshare">'+t('core', 'Shared with you by {owner}', {owner: data.reshare.displayname_owner})+'</span>';
+ html += '<span class="reshare">'+t('core', 'Shared with you by {owner}', {owner: data.reshare.displayname_owner});
+ if (oc_config.enable_avatars === true) {
+ html += ' <div id="avatar-share-owner" style="display: inline-block"></div>';
+ }
+ html += '</span>';
}
html += '<br />';
// reduce possible permissions to what the original share allowed
@@ -437,6 +445,12 @@ OC.Share={
html += '</div>';
dropDownEl = $(html);
dropDownEl = dropDownEl.appendTo(appendTo);
+
+ //Get owner avatars
+ if (oc_config.enable_avatars === true && data !== false && data.reshare !== false && data.reshare.uid_owner !== undefined) {
+ $('#avatar-share-owner').avatar(data.reshare.uid_owner, 32);
+ }
+
// Reset item shares
OC.Share.itemShares = [];
OC.Share.currentShares = {};
@@ -650,6 +664,13 @@ OC.Share={
var html = '<li style="clear: both;" data-share-type="'+escapeHTML(shareType)+'" data-share-with="'+escapeHTML(shareWith)+'" title="' + escapeHTML(shareWith) + '">';
var showCrudsButton;
html += '<a href="#" class="unshare"><img class="svg" alt="'+t('core', 'Unshare')+'" title="'+t('core', 'Unshare')+'" src="'+OC.imagePath('core', 'actions/delete')+'"/></a>';
+ if (oc_config.enable_avatars === true) {
+ if (shareType === OC.Share.SHARE_TYPE_USER) {
+ html += '<div id="avatar-' + escapeHTML(shareWith) + '" class="avatar"></div>';
+ } else {
+ html += '<div class="avatar" style="padding-right: 32px"></div>';
+ }
+ }
html += '<span class="username">' + escapeHTML(shareWithDisplayName) + '</span>';
var mailNotificationEnabled = $('input:hidden[name=mailNotificationEnabled]').val();
if (mailNotificationEnabled === 'yes' && shareType !== OC.Share.SHARE_TYPE_REMOTE) {
@@ -681,6 +702,9 @@ OC.Share={
html += '</div>';
html += '</li>';
html = $(html).appendTo('#shareWithList');
+ if (oc_config.enable_avatars === true && shareType === OC.Share.SHARE_TYPE_USER) {
+ $('#avatar-' + escapeHTML(shareWith)).avatar(escapeHTML(shareWith), 32);
+ }
// insert cruds button into last label element
var lastLabel = html.find('>label:last');
if (lastLabel.exists()){
diff --git a/core/js/tests/specs/coreSpec.js b/core/js/tests/specs/coreSpec.js
index 159c3743662..7d06ac2e7df 100644
--- a/core/js/tests/specs/coreSpec.js
+++ b/core/js/tests/specs/coreSpec.js
@@ -393,11 +393,20 @@ describe('Core base tests', function() {
expect(OC.generateUrl('heartbeat')).toEqual(OC.webroot + '/index.php/heartbeat');
expect(OC.generateUrl('/heartbeat')).toEqual(OC.webroot + '/index.php/heartbeat');
});
- it('substitutes parameters', function() {
- expect(OC.generateUrl('apps/files/download{file}', {file: '/Welcome.txt'})).toEqual(OC.webroot + '/index.php/apps/files/download/Welcome.txt');
+ it('substitutes parameters which are escaped by default', function() {
+ expect(OC.generateUrl('apps/files/download/{file}', {file: '<">ImAnUnescapedString/!'})).toEqual(OC.webroot + '/index.php/apps/files/download/%3C%22%3EImAnUnescapedString%2F!');
+ });
+ it('substitutes parameters which can also be unescaped via option flag', function() {
+ expect(OC.generateUrl('apps/files/download/{file}', {file: 'subfolder/Welcome.txt'}, {escape: false})).toEqual(OC.webroot + '/index.php/apps/files/download/subfolder/Welcome.txt');
+ });
+ it('substitutes multiple parameters which are escaped by default', function() {
+ expect(OC.generateUrl('apps/files/download/{file}/{id}', {file: '<">ImAnUnescapedString/!', id: 5})).toEqual(OC.webroot + '/index.php/apps/files/download/%3C%22%3EImAnUnescapedString%2F!/5');
+ });
+ it('substitutes multiple parameters which can also be unescaped via option flag', function() {
+ expect(OC.generateUrl('apps/files/download/{file}/{id}', {file: 'subfolder/Welcome.txt', id: 5}, {escape: false})).toEqual(OC.webroot + '/index.php/apps/files/download/subfolder/Welcome.txt/5');
});
it('doesnt error out with no params provided', function () {
- expect(OC.generateUrl('apps/files/download{file}')).toEqual(OC.webroot + '/index.php/apps/files/download{file}');
+ expect(OC.generateUrl('apps/files/download{file}')).toEqual(OC.webroot + '/index.php/apps/files/download%7Bfile%7D');
});
});
describe('Main menu mobile toggle', function() {
diff --git a/core/js/tests/specs/shareSpec.js b/core/js/tests/specs/shareSpec.js
index 7eb22261e10..1856fc27bc6 100644
--- a/core/js/tests/specs/shareSpec.js
+++ b/core/js/tests/specs/shareSpec.js
@@ -26,6 +26,8 @@ describe('OC.Share tests', function() {
var oldAppConfig;
var loadItemStub;
var autocompleteStub;
+ var oldEnableAvatars;
+ var avatarStub;
beforeEach(function() {
$('#testArea').append($('<div id="shareContainer"></div>'));
@@ -54,6 +56,10 @@ describe('OC.Share tests', function() {
var $el = $('<div></div>').data('ui-autocomplete', {});
return $el;
});
+
+ oldEnableAvatars = oc_config.enable_avatars;
+ oc_config.enable_avatars = false;
+ avatarStub = sinon.stub($.fn, 'avatar');
});
afterEach(function() {
/* jshint camelcase:false */
@@ -61,6 +67,8 @@ describe('OC.Share tests', function() {
loadItemStub.restore();
autocompleteStub.restore();
+ avatarStub.restore();
+ oc_config.enable_avatars = oldEnableAvatars;
$('#dropdown').remove();
});
it('calls loadItem with the correct arguments', function() {
@@ -405,6 +413,80 @@ describe('OC.Share tests', function() {
});
});
});
+ describe('check for avatar', function() {
+ beforeEach(function() {
+ loadItemStub.returns({
+ reshare: [],
+ shares: [{
+ id: 100,
+ item_source: 123,
+ permissions: 31,
+ share_type: OC.Share.SHARE_TYPE_USER,
+ share_with: 'user1',
+ share_with_displayname: 'User One'
+ },{
+ id: 101,
+ item_source: 123,
+ permissions: 31,
+ share_type: OC.Share.SHARE_TYPE_GROUP,
+ share_with: 'group',
+ share_with_displayname: 'group'
+ }]
+ });
+ });
+
+ describe('avatars enabled', function() {
+ beforeEach(function() {
+ oc_config.enable_avatars = true;
+ OC.Share.showDropDown(
+ 'file',
+ 123,
+ $container,
+ true,
+ 31,
+ 'shared_file_name.txt'
+ );
+ });
+
+ afterEach(function() {
+ oc_config.enable_avatars = false;
+ });
+
+ it('test correct function call', function() {
+ expect(avatarStub.calledOnce).toEqual(true);
+ var args = avatarStub.getCall(0).args;
+
+
+ expect($('#shareWithList').children().length).toEqual(2);
+
+ expect($('#avatar-user1').length).toEqual(1);
+ expect(args.length).toEqual(2);
+ expect(args[0]).toEqual('user1');
+ });
+
+ it('test no avatar for groups', function() {
+ expect($('#shareWithList').children().length).toEqual(2);
+ expect($('#shareWithList li:nth-child(2) .avatar').attr('id')).not.toBeDefined();
+ });
+ });
+
+ describe('avatars disabled', function() {
+ beforeEach(function() {
+ OC.Share.showDropDown(
+ 'file',
+ 123,
+ $container,
+ true,
+ 31,
+ 'shared_file_name.txt'
+ );
+ });
+
+ it('no avatar classes', function() {
+ expect($('.avatar').length).toEqual(0);
+ });
+ });
+ });
describe('"sharesChanged" event', function() {
var autocompleteOptions;
var handler;
diff --git a/core/l10n/af_ZA.js b/core/l10n/af_ZA.js
index 7f81ab6753c..516aa4c3eed 100644
--- a/core/l10n/af_ZA.js
+++ b/core/l10n/af_ZA.js
@@ -99,8 +99,6 @@ OC.L10N.register(
"Help" : "Hulp",
"Access forbidden" : "Toegang verbode",
"Security Warning" : "Sekuriteits waarskuwing",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Jou PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Opdateer asseblief jou PHP installasie om %s veilig te gebruik",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Jou data gids en lêers is moontlik toeganklik vanaf die internet omdat die .htaccess lêer nie werk nie.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Vir inligting oor hoe om jou bediener behoorlik op te stel, sien asseblief die<a href=\"%s\" target=\"_blank\">dokumentasie</a>.",
"Create an <strong>admin account</strong>" : "Skep `n <strong>admin-rekening</strong>",
diff --git a/core/l10n/af_ZA.json b/core/l10n/af_ZA.json
index 19f6cb12693..c4cb73fb351 100644
--- a/core/l10n/af_ZA.json
+++ b/core/l10n/af_ZA.json
@@ -97,8 +97,6 @@
"Help" : "Hulp",
"Access forbidden" : "Toegang verbode",
"Security Warning" : "Sekuriteits waarskuwing",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Jou PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Opdateer asseblief jou PHP installasie om %s veilig te gebruik",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Jou data gids en lêers is moontlik toeganklik vanaf die internet omdat die .htaccess lêer nie werk nie.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Vir inligting oor hoe om jou bediener behoorlik op te stel, sien asseblief die<a href=\"%s\" target=\"_blank\">dokumentasie</a>.",
"Create an <strong>admin account</strong>" : "Skep `n <strong>admin-rekening</strong>",
diff --git a/core/l10n/ar.js b/core/l10n/ar.js
index d867d021893..ca502ccb83f 100644
--- a/core/l10n/ar.js
+++ b/core/l10n/ar.js
@@ -105,8 +105,6 @@ OC.L10N.register(
"Help" : "المساعدة",
"Access forbidden" : "التوصّل محظور",
"Security Warning" : "تحذير أمان",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "يرجى تحديث نسخة PHP لاستخدام %s بطريقة آمنة",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "مجلدات البيانات والملفات الخاصة قد تكون قابلة للوصول اليها عن طريق شبكة الانترنت وذلك بسبب ان ملف .htaccess لا يعمل بشكل صحيح.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "لمزيد من المعلومات عن كيفية إعداد خادمك، يرجى الاطلاع على <a href=\"%s\" target=\"_blank\">صفحة المساعدة</a>.",
"Create an <strong>admin account</strong>" : "أضف </strong>مستخدم رئيسي <strong>",
diff --git a/core/l10n/ar.json b/core/l10n/ar.json
index 7e066b32771..c12658594ac 100644
--- a/core/l10n/ar.json
+++ b/core/l10n/ar.json
@@ -103,8 +103,6 @@
"Help" : "المساعدة",
"Access forbidden" : "التوصّل محظور",
"Security Warning" : "تحذير أمان",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "يرجى تحديث نسخة PHP لاستخدام %s بطريقة آمنة",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "مجلدات البيانات والملفات الخاصة قد تكون قابلة للوصول اليها عن طريق شبكة الانترنت وذلك بسبب ان ملف .htaccess لا يعمل بشكل صحيح.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "لمزيد من المعلومات عن كيفية إعداد خادمك، يرجى الاطلاع على <a href=\"%s\" target=\"_blank\">صفحة المساعدة</a>.",
"Create an <strong>admin account</strong>" : "أضف </strong>مستخدم رئيسي <strong>",
diff --git a/core/l10n/ast.js b/core/l10n/ast.js
index 87b4b80d543..ed921d7c2c5 100644
--- a/core/l10n/ast.js
+++ b/core/l10n/ast.js
@@ -140,8 +140,6 @@ OC.L10N.register(
"The share will expire on %s." : "La compartición va caducar el %s.",
"Cheers!" : "¡Salú!",
"Security Warning" : "Avisu de seguridá",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "La to versión de PHP ye vulnerable al ataque NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Por favor, anova la to instalación de PHP pa usar %s de mou seguru.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "El to direutoriu de datos y ficheros seique ye accesible dende internet por mor qu'el ficheru .htaccess nun furrula.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Pa informase de cómo configurar el so sirvidor, por favor güeya la <a href=\"%s\" target=\"_blank\">documentación</a>.",
"Create an <strong>admin account</strong>" : "Crea una <strong>cuenta d'alministrador</strong>",
diff --git a/core/l10n/ast.json b/core/l10n/ast.json
index f464e6f11bb..18398a020a8 100644
--- a/core/l10n/ast.json
+++ b/core/l10n/ast.json
@@ -138,8 +138,6 @@
"The share will expire on %s." : "La compartición va caducar el %s.",
"Cheers!" : "¡Salú!",
"Security Warning" : "Avisu de seguridá",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "La to versión de PHP ye vulnerable al ataque NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Por favor, anova la to instalación de PHP pa usar %s de mou seguru.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "El to direutoriu de datos y ficheros seique ye accesible dende internet por mor qu'el ficheru .htaccess nun furrula.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Pa informase de cómo configurar el so sirvidor, por favor güeya la <a href=\"%s\" target=\"_blank\">documentación</a>.",
"Create an <strong>admin account</strong>" : "Crea una <strong>cuenta d'alministrador</strong>",
diff --git a/core/l10n/bg_BG.js b/core/l10n/bg_BG.js
index 539971fbde4..b96c56d5eb6 100644
--- a/core/l10n/bg_BG.js
+++ b/core/l10n/bg_BG.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Линия: %s",
"Trace" : "Проследяване на грешките",
"Security Warning" : "Предупреждение за сигурноста",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Вашата PHP версия е уязвима от NULL Byte атака (CVE-2006-7243).",
- "Please update your PHP installation to use %s securely." : "Моля, обновете Вашата PHP инсталация, за да използвате %s сигурно.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Вашата директория за данни и файлове Ви вероятно са достъпни от интернет, поради това, че файлът \".htaccess\" не функционира.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "За информация как правилно да настроиш сървъра си, моля прегледай <a href=\"%s\" target=\"_blank\">документацията</a>.",
"Create an <strong>admin account</strong>" : "Създаване на <strong>администраторски профил</strong>.",
@@ -195,7 +193,6 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Особено, когато използвате клиент за работен плот за синхронизация, използването на SQLite e непрепоръчително.",
"Finish setup" : "Завършване на настройките",
"Finishing …" : "Завършване...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Програмата изисква JavaScript, за да функционира правилно. Моля, <a href=\"http://enable-javascript.com/\" target=\"_blank\">включи JavaScript</a> и презареди страницата.",
"%s is available. Get more information on how to update." : "%s е на разположение. Прочети повече как да обновиш. ",
"Log out" : "Отписване",
"Search" : "Търсене",
diff --git a/core/l10n/bg_BG.json b/core/l10n/bg_BG.json
index 1b1d4fa053d..628fd0761dd 100644
--- a/core/l10n/bg_BG.json
+++ b/core/l10n/bg_BG.json
@@ -172,8 +172,6 @@
"Line: %s" : "Линия: %s",
"Trace" : "Проследяване на грешките",
"Security Warning" : "Предупреждение за сигурноста",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Вашата PHP версия е уязвима от NULL Byte атака (CVE-2006-7243).",
- "Please update your PHP installation to use %s securely." : "Моля, обновете Вашата PHP инсталация, за да използвате %s сигурно.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Вашата директория за данни и файлове Ви вероятно са достъпни от интернет, поради това, че файлът \".htaccess\" не функционира.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "За информация как правилно да настроиш сървъра си, моля прегледай <a href=\"%s\" target=\"_blank\">документацията</a>.",
"Create an <strong>admin account</strong>" : "Създаване на <strong>администраторски профил</strong>.",
@@ -193,7 +191,6 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Особено, когато използвате клиент за работен плот за синхронизация, използването на SQLite e непрепоръчително.",
"Finish setup" : "Завършване на настройките",
"Finishing …" : "Завършване...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Програмата изисква JavaScript, за да функционира правилно. Моля, <a href=\"http://enable-javascript.com/\" target=\"_blank\">включи JavaScript</a> и презареди страницата.",
"%s is available. Get more information on how to update." : "%s е на разположение. Прочети повече как да обновиш. ",
"Log out" : "Отписване",
"Search" : "Търсене",
diff --git a/core/l10n/bs.js b/core/l10n/bs.js
index 4e521b85d0a..67e44ad6797 100644
--- a/core/l10n/bs.js
+++ b/core/l10n/bs.js
@@ -163,8 +163,6 @@ OC.L10N.register(
"File: %s" : "Datoteka: %s",
"Line: %s" : "Red: %s",
"Security Warning" : "Sigurnosno Upozorenje",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Vaša PHP verzija je podložna napadu NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Molim aktualizirajte vašu PHP instalaciju da bih sigurno koistili %s.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Vaš direktorij podataka i datoteke vjerojatno se mogu pristupiti s interneta jer .htaccess datoteka ne radi.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Za informacije kako da valjano konfigurišete vaš server, molim pogledajte <a href=\"%s\" target=\"_blank\">dokumentaciju</a>.",
"Create an <strong>admin account</strong>" : "Kreirajte <strong>administracioni račun</strong>",
@@ -180,7 +178,6 @@ OC.L10N.register(
"Database host" : "Glavno računalo (host) baze podataka",
"Finish setup" : "Završite postavke",
"Finishing …" : "Završavanje...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Ova aplikacija zahtjeva JavaScript za ispravan rad. Molimo <a href=\"http://enable-javascript.com/\" target=\"_blank\"> uključite JavaScript</a> i ponovno učitajte stranicu.",
"%s is available. Get more information on how to update." : "%s je dostupan. Saznajte više informacija o tome kako ažurirati.",
"Log out" : "Odjava",
"Search" : "Potraži",
diff --git a/core/l10n/bs.json b/core/l10n/bs.json
index cf757c69eff..a1c6552b8dd 100644
--- a/core/l10n/bs.json
+++ b/core/l10n/bs.json
@@ -161,8 +161,6 @@
"File: %s" : "Datoteka: %s",
"Line: %s" : "Red: %s",
"Security Warning" : "Sigurnosno Upozorenje",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Vaša PHP verzija je podložna napadu NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Molim aktualizirajte vašu PHP instalaciju da bih sigurno koistili %s.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Vaš direktorij podataka i datoteke vjerojatno se mogu pristupiti s interneta jer .htaccess datoteka ne radi.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Za informacije kako da valjano konfigurišete vaš server, molim pogledajte <a href=\"%s\" target=\"_blank\">dokumentaciju</a>.",
"Create an <strong>admin account</strong>" : "Kreirajte <strong>administracioni račun</strong>",
@@ -178,7 +176,6 @@
"Database host" : "Glavno računalo (host) baze podataka",
"Finish setup" : "Završite postavke",
"Finishing …" : "Završavanje...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Ova aplikacija zahtjeva JavaScript za ispravan rad. Molimo <a href=\"http://enable-javascript.com/\" target=\"_blank\"> uključite JavaScript</a> i ponovno učitajte stranicu.",
"%s is available. Get more information on how to update." : "%s je dostupan. Saznajte više informacija o tome kako ažurirati.",
"Log out" : "Odjava",
"Search" : "Potraži",
diff --git a/core/l10n/ca.js b/core/l10n/ca.js
index 3782119c7fd..d473ceb84db 100644
--- a/core/l10n/ca.js
+++ b/core/l10n/ca.js
@@ -165,8 +165,6 @@ OC.L10N.register(
"Message: %s" : "Missatge: %s",
"File: %s" : "Fitxer: %s",
"Security Warning" : "Avís de seguretat",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "La versió de PHP que useu és vulnerable a l'atac per NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Actualitzeu la instal·lació de PHP per usar %s de forma segura.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "La carpeta de dades i els seus fitxers probablement són accessibles des d'internet perquè el fitxer .htaccess no funciona.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Per informació de com configurar el servidor, comproveu la <a href=\"%s\" target=\"_blank\">documentació</a>.",
"Create an <strong>admin account</strong>" : "Crea un <strong>compte d'administrador</strong>",
@@ -182,7 +180,6 @@ OC.L10N.register(
"Database host" : "Ordinador central de la base de dades",
"Finish setup" : "Acaba la configuració",
"Finishing …" : "Acabant...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Aquesta aplicació requereix JavaScrip pel seu correcte funcionament. Si us plau <a href=\"http://enable-javascript.com/\" target=\"_blank\">Activeu JavaScript</a> i actualitzeu la pàgina.",
"%s is available. Get more information on how to update." : "%s està disponible. Obtingueu més informació de com actualitzar.",
"Log out" : "Surt",
"Search" : "Cerca",
diff --git a/core/l10n/ca.json b/core/l10n/ca.json
index c2f84d71354..4018f6072f9 100644
--- a/core/l10n/ca.json
+++ b/core/l10n/ca.json
@@ -163,8 +163,6 @@
"Message: %s" : "Missatge: %s",
"File: %s" : "Fitxer: %s",
"Security Warning" : "Avís de seguretat",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "La versió de PHP que useu és vulnerable a l'atac per NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Actualitzeu la instal·lació de PHP per usar %s de forma segura.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "La carpeta de dades i els seus fitxers probablement són accessibles des d'internet perquè el fitxer .htaccess no funciona.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Per informació de com configurar el servidor, comproveu la <a href=\"%s\" target=\"_blank\">documentació</a>.",
"Create an <strong>admin account</strong>" : "Crea un <strong>compte d'administrador</strong>",
@@ -180,7 +178,6 @@
"Database host" : "Ordinador central de la base de dades",
"Finish setup" : "Acaba la configuració",
"Finishing …" : "Acabant...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Aquesta aplicació requereix JavaScrip pel seu correcte funcionament. Si us plau <a href=\"http://enable-javascript.com/\" target=\"_blank\">Activeu JavaScript</a> i actualitzeu la pàgina.",
"%s is available. Get more information on how to update." : "%s està disponible. Obtingueu més informació de com actualitzar.",
"Log out" : "Surt",
"Search" : "Cerca",
diff --git a/core/l10n/cs_CZ.js b/core/l10n/cs_CZ.js
index aee061ffa16..d1878cd0be6 100644
--- a/core/l10n/cs_CZ.js
+++ b/core/l10n/cs_CZ.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Řádka: %s",
"Trace" : "Trasa",
"Security Warning" : "Bezpečnostní upozornění",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Verze vašeho PHP je napadnutelná pomocí techniky \"NULL Byte\" (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Aktualizujte prosím vaši instanci PHP pro bezpečné používání %s.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Váš adresář s daty a soubory jsou dostupné z internetu, protože soubor .htaccess nefunguje.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Pro informace, jak správně nastavit váš server, se podívejte do <a href=\"%s\" target=\"_blank\">dokumentace</a>.",
"Create an <strong>admin account</strong>" : "Vytvořit <strong>účet správce</strong>",
@@ -195,7 +193,7 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Obzvláště při používání klientské aplikace pro synchronizaci s desktopem není SQLite doporučeno.",
"Finish setup" : "Dokončit nastavení",
"Finishing …" : "Dokončuji...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Tato aplikace potřebuje pro správnou funkčnost JavaScript. Prosím <a href=\"http://enable-javascript.com/\" target=\"_blank\">povolte JavaScript</a> a znovu načtěte stránku.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Tato aplikace potřebuje pro správnou funkčnost JavaScript. Prosím {linkstart}povolte JavaScript{linkend} a znovu načtěte stránku.",
"%s is available. Get more information on how to update." : "%s je dostupná. Získejte více informací k postupu aktualizace.",
"Log out" : "Odhlásit se",
"Search" : "Hledat",
diff --git a/core/l10n/cs_CZ.json b/core/l10n/cs_CZ.json
index eeda5806f63..39c1ec755f2 100644
--- a/core/l10n/cs_CZ.json
+++ b/core/l10n/cs_CZ.json
@@ -172,8 +172,6 @@
"Line: %s" : "Řádka: %s",
"Trace" : "Trasa",
"Security Warning" : "Bezpečnostní upozornění",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Verze vašeho PHP je napadnutelná pomocí techniky \"NULL Byte\" (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Aktualizujte prosím vaši instanci PHP pro bezpečné používání %s.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Váš adresář s daty a soubory jsou dostupné z internetu, protože soubor .htaccess nefunguje.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Pro informace, jak správně nastavit váš server, se podívejte do <a href=\"%s\" target=\"_blank\">dokumentace</a>.",
"Create an <strong>admin account</strong>" : "Vytvořit <strong>účet správce</strong>",
@@ -193,7 +191,7 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Obzvláště při používání klientské aplikace pro synchronizaci s desktopem není SQLite doporučeno.",
"Finish setup" : "Dokončit nastavení",
"Finishing …" : "Dokončuji...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Tato aplikace potřebuje pro správnou funkčnost JavaScript. Prosím <a href=\"http://enable-javascript.com/\" target=\"_blank\">povolte JavaScript</a> a znovu načtěte stránku.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Tato aplikace potřebuje pro správnou funkčnost JavaScript. Prosím {linkstart}povolte JavaScript{linkend} a znovu načtěte stránku.",
"%s is available. Get more information on how to update." : "%s je dostupná. Získejte více informací k postupu aktualizace.",
"Log out" : "Odhlásit se",
"Search" : "Hledat",
diff --git a/core/l10n/cy_GB.js b/core/l10n/cy_GB.js
index dc8daeb5baf..212d1c02475 100644
--- a/core/l10n/cy_GB.js
+++ b/core/l10n/cy_GB.js
@@ -73,7 +73,6 @@ OC.L10N.register(
"Help" : "Cymorth",
"Access forbidden" : "Mynediad wedi'i wahardd",
"Security Warning" : "Rhybudd Diogelwch",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Mae eich fersiwn PHP yn agored i ymosodiad NULL Byte (CVE-2006-7243)",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Mwy na thebyg fod modd cyrraedd eich cyfeiriadur data a ffeilau o'r rhyngrwyd oherwydd nid yw'r ffeil .htaccess yn gweithio. ",
"Create an <strong>admin account</strong>" : "Crewch <strong>gyfrif gweinyddol</strong>",
"Username" : "Enw defnyddiwr",
diff --git a/core/l10n/cy_GB.json b/core/l10n/cy_GB.json
index 1328736d155..ac9cc1b6880 100644
--- a/core/l10n/cy_GB.json
+++ b/core/l10n/cy_GB.json
@@ -71,7 +71,6 @@
"Help" : "Cymorth",
"Access forbidden" : "Mynediad wedi'i wahardd",
"Security Warning" : "Rhybudd Diogelwch",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Mae eich fersiwn PHP yn agored i ymosodiad NULL Byte (CVE-2006-7243)",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Mwy na thebyg fod modd cyrraedd eich cyfeiriadur data a ffeilau o'r rhyngrwyd oherwydd nid yw'r ffeil .htaccess yn gweithio. ",
"Create an <strong>admin account</strong>" : "Crewch <strong>gyfrif gweinyddol</strong>",
"Username" : "Enw defnyddiwr",
diff --git a/core/l10n/da.js b/core/l10n/da.js
index fdd5855b482..8ede42f3888 100644
--- a/core/l10n/da.js
+++ b/core/l10n/da.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Linje: %s",
"Trace" : "Sporing",
"Security Warning" : "Sikkerhedsadvarsel",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Din PHP-version er sårbar overfor et NULL Byte angreb (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Opdater venligst din PHP installation for at anvende %s sikkert.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Dine data mappe og filer er sandsynligvis tilgængelige fra internettet fordi .htaccess filen ikke virker.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "For information om, hvordan du konfigurerer din server korrekt se <a href=\"%s\" target=\"_blank\">dokumentationen</a>.",
"Create an <strong>admin account</strong>" : "Opret en <strong>administratorkonto</strong>",
@@ -195,7 +193,6 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Brug af SQLite frarådes især når skrivebordsklienten anvendes til filsynkronisering.",
"Finish setup" : "Afslut opsætning",
"Finishing …" : "Færdigbehandler ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Applikationen kræver JavaScript for at fungere korrekt. <a href=\"http://enable-javascript.com/\" target=\"_blank\">Slå venligst JavaScript til</a> og genindlæs siden.",
"%s is available. Get more information on how to update." : "%s er tilgængelig. Få mere information om, hvordan du opdaterer.",
"Log out" : "Log ud",
"Search" : "Søg",
diff --git a/core/l10n/da.json b/core/l10n/da.json
index 937468fc51b..d6eb7c5cee4 100644
--- a/core/l10n/da.json
+++ b/core/l10n/da.json
@@ -172,8 +172,6 @@
"Line: %s" : "Linje: %s",
"Trace" : "Sporing",
"Security Warning" : "Sikkerhedsadvarsel",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Din PHP-version er sårbar overfor et NULL Byte angreb (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Opdater venligst din PHP installation for at anvende %s sikkert.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Dine data mappe og filer er sandsynligvis tilgængelige fra internettet fordi .htaccess filen ikke virker.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "For information om, hvordan du konfigurerer din server korrekt se <a href=\"%s\" target=\"_blank\">dokumentationen</a>.",
"Create an <strong>admin account</strong>" : "Opret en <strong>administratorkonto</strong>",
@@ -193,7 +191,6 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Brug af SQLite frarådes især når skrivebordsklienten anvendes til filsynkronisering.",
"Finish setup" : "Afslut opsætning",
"Finishing …" : "Færdigbehandler ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Applikationen kræver JavaScript for at fungere korrekt. <a href=\"http://enable-javascript.com/\" target=\"_blank\">Slå venligst JavaScript til</a> og genindlæs siden.",
"%s is available. Get more information on how to update." : "%s er tilgængelig. Få mere information om, hvordan du opdaterer.",
"Log out" : "Log ud",
"Search" : "Søg",
diff --git a/core/l10n/de.js b/core/l10n/de.js
index cb44f33648c..4b25ea45da7 100644
--- a/core/l10n/de.js
+++ b/core/l10n/de.js
@@ -36,7 +36,7 @@ OC.L10N.register(
"Settings" : "Einstellungen",
"Saving..." : "Speichern…",
"Couldn't send reset email. Please contact your administrator." : "Die E-Mail zum Zurücksetzen konnte nicht versendet werden. Bitte kontaktiere Deinen 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." : "Der Link zum Rücksetzen Deines Passworts ist an Deine E-Mail-Adresse vesandt worden. Wenn Du ihn innerhalb eines annehmbaren Zeitraums nicht empfängst, prüfe Deine Spam-Ordner.<br>Sollte er sich nicht darin befinden, frage bei Deinem lokalen Administrator nach.",
+ "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." : "Der Link zum Rücksetzen Deines Passworts ist an Deine E-Mail-Adresse versandt worden. Solltest Du ihn innerhalb eines annehmbaren Zeitraums nicht empfangen, prüfe bitte Deine Spam-Ordner.<br>Wenn er sich nicht darin befindet, frage bitte bei Deinem lokalen Administrator nach.",
"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?" : "Deine Dateien sind verschlüsselt. Solltest Du den Wiederherstellungsschlüssel nicht aktiviert haben, gibt es keine Möglichkeit, Deine Daten zurückzuerhalten, nachdem Dein Passwort zurückgesetzt ist.<br />Falls Du Dir nicht sicher bist, was zu tun ist, kontaktiere bitte Deinen Administrator, bevor Du fortfährst.<br />Willst Du wirklich fortfahren?",
"I know what I'm doing" : "Ich weiß, was ich mache",
"Password can not be changed. Please contact your administrator." : "Passwort kann nicht geändert werden. Bitte kontaktiere Deinen Administrator.",
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Zeile: %s",
"Trace" : "Spur",
"Security Warning" : "Sicherheitswarnung",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Deine PHP-Version ist durch die NULL-Byte-Attacke (CVE-2006-7243) angreifbar",
- "Please update your PHP installation to use %s securely." : "Bitte aktualisiere Deine PHP-Installation um %s sicher nutzen zu können.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Dein Datenverzeichnis und Deine Dateien sind wahrscheinlich vom Internet aus erreichbar, weil die .htaccess-Datei nicht funktioniert.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Für Informationen, wie Du Deinen Server richtig konfigurierst, lies bitte die <a href=\"%s\" target=\"_blank\">Dokumentation</a>.",
"Create an <strong>admin account</strong>" : "<strong>Administrator-Konto</strong> anlegen",
@@ -195,7 +193,7 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Insbesondere bei Nutzung des Desktop Clients zur Dateisynchronisierung wird vom Einsatz von SQLite abgeraten.",
"Finish setup" : "Installation abschließen",
"Finishing …" : "Abschließen…",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Diese Anwendung benötigt ein aktiviertes JavaScript zum korrekten Betrieb. Bitte <a href=\"http://enable-javascript.com/\" target=\"_blank\">aktiviere JavaScript</a> und lade diese Seite neu.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Diese Anwendung benötigt zum ordnungsgemäßen Betrieb JavaScript. Bitte {linkstart}aktiviere JavaScript{linkend} und lade die Seite neu.",
"%s is available. Get more information on how to update." : "%s ist verfügbar. Hole weitere Informationen zu Aktualisierungen ein.",
"Log out" : "Abmelden",
"Search" : "Suche",
diff --git a/core/l10n/de.json b/core/l10n/de.json
index ea95e9737bb..867bd554def 100644
--- a/core/l10n/de.json
+++ b/core/l10n/de.json
@@ -34,7 +34,7 @@
"Settings" : "Einstellungen",
"Saving..." : "Speichern…",
"Couldn't send reset email. Please contact your administrator." : "Die E-Mail zum Zurücksetzen konnte nicht versendet werden. Bitte kontaktiere Deinen 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." : "Der Link zum Rücksetzen Deines Passworts ist an Deine E-Mail-Adresse vesandt worden. Wenn Du ihn innerhalb eines annehmbaren Zeitraums nicht empfängst, prüfe Deine Spam-Ordner.<br>Sollte er sich nicht darin befinden, frage bei Deinem lokalen Administrator nach.",
+ "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." : "Der Link zum Rücksetzen Deines Passworts ist an Deine E-Mail-Adresse versandt worden. Solltest Du ihn innerhalb eines annehmbaren Zeitraums nicht empfangen, prüfe bitte Deine Spam-Ordner.<br>Wenn er sich nicht darin befindet, frage bitte bei Deinem lokalen Administrator nach.",
"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?" : "Deine Dateien sind verschlüsselt. Solltest Du den Wiederherstellungsschlüssel nicht aktiviert haben, gibt es keine Möglichkeit, Deine Daten zurückzuerhalten, nachdem Dein Passwort zurückgesetzt ist.<br />Falls Du Dir nicht sicher bist, was zu tun ist, kontaktiere bitte Deinen Administrator, bevor Du fortfährst.<br />Willst Du wirklich fortfahren?",
"I know what I'm doing" : "Ich weiß, was ich mache",
"Password can not be changed. Please contact your administrator." : "Passwort kann nicht geändert werden. Bitte kontaktiere Deinen Administrator.",
@@ -172,8 +172,6 @@
"Line: %s" : "Zeile: %s",
"Trace" : "Spur",
"Security Warning" : "Sicherheitswarnung",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Deine PHP-Version ist durch die NULL-Byte-Attacke (CVE-2006-7243) angreifbar",
- "Please update your PHP installation to use %s securely." : "Bitte aktualisiere Deine PHP-Installation um %s sicher nutzen zu können.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Dein Datenverzeichnis und Deine Dateien sind wahrscheinlich vom Internet aus erreichbar, weil die .htaccess-Datei nicht funktioniert.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Für Informationen, wie Du Deinen Server richtig konfigurierst, lies bitte die <a href=\"%s\" target=\"_blank\">Dokumentation</a>.",
"Create an <strong>admin account</strong>" : "<strong>Administrator-Konto</strong> anlegen",
@@ -193,7 +191,7 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Insbesondere bei Nutzung des Desktop Clients zur Dateisynchronisierung wird vom Einsatz von SQLite abgeraten.",
"Finish setup" : "Installation abschließen",
"Finishing …" : "Abschließen…",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Diese Anwendung benötigt ein aktiviertes JavaScript zum korrekten Betrieb. Bitte <a href=\"http://enable-javascript.com/\" target=\"_blank\">aktiviere JavaScript</a> und lade diese Seite neu.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Diese Anwendung benötigt zum ordnungsgemäßen Betrieb JavaScript. Bitte {linkstart}aktiviere JavaScript{linkend} und lade die Seite neu.",
"%s is available. Get more information on how to update." : "%s ist verfügbar. Hole weitere Informationen zu Aktualisierungen ein.",
"Log out" : "Abmelden",
"Search" : "Suche",
diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js
index 847c9d80ac5..0170a83d23e 100644
--- a/core/l10n/de_DE.js
+++ b/core/l10n/de_DE.js
@@ -12,7 +12,7 @@ OC.L10N.register(
"No image or file provided" : "Weder Bild noch eine Datei wurden zur Verfügung gestellt",
"Unknown filetype" : "Unbekannter Dateityp",
"Invalid image" : "Ungültiges Bild",
- "No temporary profile picture available, try again" : "Kein temporäres Profilbild verfügbar, bitte versuchen Sie es nochmal",
+ "No temporary profile picture available, try again" : "Kein temporäres Profilbild verfügbar, bitte versuchen Sie es noch einmal",
"No crop data provided" : "Keine Zuschnittdaten zur Verfügung gestellt",
"Sunday" : "Sonntag",
"Monday" : "Montag",
@@ -36,7 +36,7 @@ OC.L10N.register(
"Settings" : "Einstellungen",
"Saving..." : "Speichervorgang …",
"Couldn't send reset email. Please contact your administrator." : "Die E-Mail zum Zurücksetzen konnte nicht versendet werden. Bitte kontaktieren Sie Ihren 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." : "Der Link, zum Zurücksetzen Ihres Passwortes, ist an Ihre E-Mail-Adresse geschickt worden. Wenn Sie ihn nicht innerhalb einer vernünftigen Zeit empfangen, überprüfen Sie bitte Ihre Spam-Ordner.<br>Wenn sie nicht dort ist, fragen Sie bitte Ihren lokalen 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." : "Der Link zum Rücksetzen Ihres Passworts ist an Ihre E-Mail-Adresse versandt worden. Sollten Sie ihn innerhalb eines annehmbaren Zeitraums nicht empfangen, prüfen Sie bitte Ihren Spam-Ordner.<br>Wenn er sich nicht darin befindet, fragen Sie bitte bei Ihrem lokalen Administrator nach.",
"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?" : "Ihre Dateien sind verschlüsselt. Wenn Sie den Wiederherstellungsschlüssel nicht aktiviert haben, wird es keine Möglichkeit geben, um Ihre Daten wieder zu erhalten, nachdem Ihr Passwort zurückgesetzt wurde.<br />Wenn Sie sich nicht sicher sind, was Sie tun sollen, wenden Sie sich bitte an Ihren Administrator, bevor Sie fortfahren.<br />Wollen Sie wirklich fortfahren?",
"I know what I'm doing" : "Ich weiß, was ich mache",
"Password can not be changed. Please contact your administrator." : "Passwort kann nicht geändert werden. Bitte kontaktieren Sie Ihren Administrator.",
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Zeile: %s",
"Trace" : "Spur",
"Security Warning" : "Sicherheitshinweis",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Ihre PHP Version ist durch die NULL Byte Attacke (CVE-2006-7243) angreifbar",
- "Please update your PHP installation to use %s securely." : "Bitte aktualisieren Sie Ihre PHP-Installation um %s sicher nutzen zu können.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar, weil die .htaccess-Datei nicht funktioniert.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Bitte lesen Sie die <a href=\"%s\" target=\"_blank\">Dokumentation</a>, um zu erfahren, wie Sie Ihren Server richtig konfigurieren können.",
"Create an <strong>admin account</strong>" : "<strong>Administrator-Konto</strong> anlegen",
@@ -195,7 +193,7 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Insbesondere bei Nutzung des Desktop Clients zur Dateisynchronisierung wird vom Einsatz von SQLite abgeraten.",
"Finish setup" : "Installation abschließen",
"Finishing …" : "Abschließen…",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Diese Anwendung benötigt ein aktiviertes JavaScript, um richtig zu funktionieren. Bitte <a href=\"http://enable-javascript.com/\" target=\"_blank\">aktivieren Sie JavaScript</a> und laden Sie diese Seite neu.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Diese Anwendung benötigt zum ordnungsgemäßen Betrieb JavaScript. Bitte {linkstart}aktivieren Sie JavaScript{linkend} und laden Sie die Seite neu.",
"%s is available. Get more information on how to update." : "%s ist verfügbar. Holen Sie weitere Informationen zu Aktualisierungen ein.",
"Log out" : "Abmelden",
"Search" : "Suche",
diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json
index 2c19f56c115..c0396cbcbdd 100644
--- a/core/l10n/de_DE.json
+++ b/core/l10n/de_DE.json
@@ -10,7 +10,7 @@
"No image or file provided" : "Weder Bild noch eine Datei wurden zur Verfügung gestellt",
"Unknown filetype" : "Unbekannter Dateityp",
"Invalid image" : "Ungültiges Bild",
- "No temporary profile picture available, try again" : "Kein temporäres Profilbild verfügbar, bitte versuchen Sie es nochmal",
+ "No temporary profile picture available, try again" : "Kein temporäres Profilbild verfügbar, bitte versuchen Sie es noch einmal",
"No crop data provided" : "Keine Zuschnittdaten zur Verfügung gestellt",
"Sunday" : "Sonntag",
"Monday" : "Montag",
@@ -34,7 +34,7 @@
"Settings" : "Einstellungen",
"Saving..." : "Speichervorgang …",
"Couldn't send reset email. Please contact your administrator." : "Die E-Mail zum Zurücksetzen konnte nicht versendet werden. Bitte kontaktieren Sie Ihren 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." : "Der Link, zum Zurücksetzen Ihres Passwortes, ist an Ihre E-Mail-Adresse geschickt worden. Wenn Sie ihn nicht innerhalb einer vernünftigen Zeit empfangen, überprüfen Sie bitte Ihre Spam-Ordner.<br>Wenn sie nicht dort ist, fragen Sie bitte Ihren lokalen 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." : "Der Link zum Rücksetzen Ihres Passworts ist an Ihre E-Mail-Adresse versandt worden. Sollten Sie ihn innerhalb eines annehmbaren Zeitraums nicht empfangen, prüfen Sie bitte Ihren Spam-Ordner.<br>Wenn er sich nicht darin befindet, fragen Sie bitte bei Ihrem lokalen Administrator nach.",
"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?" : "Ihre Dateien sind verschlüsselt. Wenn Sie den Wiederherstellungsschlüssel nicht aktiviert haben, wird es keine Möglichkeit geben, um Ihre Daten wieder zu erhalten, nachdem Ihr Passwort zurückgesetzt wurde.<br />Wenn Sie sich nicht sicher sind, was Sie tun sollen, wenden Sie sich bitte an Ihren Administrator, bevor Sie fortfahren.<br />Wollen Sie wirklich fortfahren?",
"I know what I'm doing" : "Ich weiß, was ich mache",
"Password can not be changed. Please contact your administrator." : "Passwort kann nicht geändert werden. Bitte kontaktieren Sie Ihren Administrator.",
@@ -172,8 +172,6 @@
"Line: %s" : "Zeile: %s",
"Trace" : "Spur",
"Security Warning" : "Sicherheitshinweis",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Ihre PHP Version ist durch die NULL Byte Attacke (CVE-2006-7243) angreifbar",
- "Please update your PHP installation to use %s securely." : "Bitte aktualisieren Sie Ihre PHP-Installation um %s sicher nutzen zu können.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar, weil die .htaccess-Datei nicht funktioniert.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Bitte lesen Sie die <a href=\"%s\" target=\"_blank\">Dokumentation</a>, um zu erfahren, wie Sie Ihren Server richtig konfigurieren können.",
"Create an <strong>admin account</strong>" : "<strong>Administrator-Konto</strong> anlegen",
@@ -193,7 +191,7 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Insbesondere bei Nutzung des Desktop Clients zur Dateisynchronisierung wird vom Einsatz von SQLite abgeraten.",
"Finish setup" : "Installation abschließen",
"Finishing …" : "Abschließen…",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Diese Anwendung benötigt ein aktiviertes JavaScript, um richtig zu funktionieren. Bitte <a href=\"http://enable-javascript.com/\" target=\"_blank\">aktivieren Sie JavaScript</a> und laden Sie diese Seite neu.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Diese Anwendung benötigt zum ordnungsgemäßen Betrieb JavaScript. Bitte {linkstart}aktivieren Sie JavaScript{linkend} und laden Sie die Seite neu.",
"%s is available. Get more information on how to update." : "%s ist verfügbar. Holen Sie weitere Informationen zu Aktualisierungen ein.",
"Log out" : "Abmelden",
"Search" : "Suche",
diff --git a/core/l10n/el.js b/core/l10n/el.js
index 8077e74422e..577b92bb758 100644
--- a/core/l10n/el.js
+++ b/core/l10n/el.js
@@ -166,8 +166,6 @@ OC.L10N.register(
"Line: %s" : "Γραμμή: %s",
"Trace" : "Ανίχνευση",
"Security Warning" : "Προειδοποίηση Ασφαλείας",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Η PHP ειναι ευαλωτη στην NULL Byte επιθεση (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Παρακαλώ ενημερώστε την εγκατάσταση της PHP ώστε να χρησιμοποιήσετε το %s με ασφάλεια.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Ο κατάλογος δεδομένων και τα αρχεία σας είναι πιθανό προσβάσιμα από το internet γιατί δεν δουλεύει το αρχείο .htaccess.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Για πληροφορίες πως να ρυθμίσετε ορθά τον διακομιστή σας, παρακαλώ δείτε την <a href=\"%s\" target=\"_blank\">τεκμηρίωση</a>.",
"Create an <strong>admin account</strong>" : "Δημιουργήστε έναν <strong>λογαριασμό διαχειριστή</strong>",
@@ -183,7 +181,6 @@ OC.L10N.register(
"Database host" : "Διακομιστής βάσης δεδομένων",
"Finish setup" : "Ολοκλήρωση εγκατάστασης",
"Finishing …" : "Ολοκλήρωση...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Αυτή η εφαρμογή απαιτεί JavaScript για τη σωστή λειτουργία. Παρακαλώ <a href=\"http://enable-javascript.com/\" target=\"_blank\">ενεργοποιήστε τη JavaScript</a> και επαναφορτώστε τη σελίδα.",
"%s is available. Get more information on how to update." : "%s είναι διαθέσιμη. Δείτε περισσότερες πληροφορίες στο πώς να αναβαθμίσετε.",
"Log out" : "Αποσύνδεση",
"Search" : "Αναζήτηση",
diff --git a/core/l10n/el.json b/core/l10n/el.json
index e7b72089cea..25160f8b6f1 100644
--- a/core/l10n/el.json
+++ b/core/l10n/el.json
@@ -164,8 +164,6 @@
"Line: %s" : "Γραμμή: %s",
"Trace" : "Ανίχνευση",
"Security Warning" : "Προειδοποίηση Ασφαλείας",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Η PHP ειναι ευαλωτη στην NULL Byte επιθεση (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Παρακαλώ ενημερώστε την εγκατάσταση της PHP ώστε να χρησιμοποιήσετε το %s με ασφάλεια.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Ο κατάλογος δεδομένων και τα αρχεία σας είναι πιθανό προσβάσιμα από το internet γιατί δεν δουλεύει το αρχείο .htaccess.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Για πληροφορίες πως να ρυθμίσετε ορθά τον διακομιστή σας, παρακαλώ δείτε την <a href=\"%s\" target=\"_blank\">τεκμηρίωση</a>.",
"Create an <strong>admin account</strong>" : "Δημιουργήστε έναν <strong>λογαριασμό διαχειριστή</strong>",
@@ -181,7 +179,6 @@
"Database host" : "Διακομιστής βάσης δεδομένων",
"Finish setup" : "Ολοκλήρωση εγκατάστασης",
"Finishing …" : "Ολοκλήρωση...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Αυτή η εφαρμογή απαιτεί JavaScript για τη σωστή λειτουργία. Παρακαλώ <a href=\"http://enable-javascript.com/\" target=\"_blank\">ενεργοποιήστε τη JavaScript</a> και επαναφορτώστε τη σελίδα.",
"%s is available. Get more information on how to update." : "%s είναι διαθέσιμη. Δείτε περισσότερες πληροφορίες στο πώς να αναβαθμίσετε.",
"Log out" : "Αποσύνδεση",
"Search" : "Αναζήτηση",
diff --git a/core/l10n/en_GB.js b/core/l10n/en_GB.js
index 3ade18cf4a2..e55fa7348c3 100644
--- a/core/l10n/en_GB.js
+++ b/core/l10n/en_GB.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Line: %s",
"Trace" : "Trace",
"Security Warning" : "Security Warning",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Please update your PHP installation to use %s securely.",
"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\">documentation</a>." : "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>.",
"Create an <strong>admin account</strong>" : "Create an <strong>admin account</strong>",
@@ -195,7 +193,7 @@ OC.L10N.register(
"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 …",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page.",
+ "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.",
"%s is available. Get more information on how to update." : "%s is available. Get more information on how to update.",
"Log out" : "Log out",
"Search" : "Search",
diff --git a/core/l10n/en_GB.json b/core/l10n/en_GB.json
index 25e54a8306a..b5b9e812b08 100644
--- a/core/l10n/en_GB.json
+++ b/core/l10n/en_GB.json
@@ -172,8 +172,6 @@
"Line: %s" : "Line: %s",
"Trace" : "Trace",
"Security Warning" : "Security Warning",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Please update your PHP installation to use %s securely.",
"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\">documentation</a>." : "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>.",
"Create an <strong>admin account</strong>" : "Create an <strong>admin account</strong>",
@@ -193,7 +191,7 @@
"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 …",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page.",
+ "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.",
"%s is available. Get more information on how to update." : "%s is available. Get more information on how to update.",
"Log out" : "Log out",
"Search" : "Search",
diff --git a/core/l10n/eo.js b/core/l10n/eo.js
index 16160d85b21..ed1fa7d52c0 100644
--- a/core/l10n/eo.js
+++ b/core/l10n/eo.js
@@ -101,8 +101,6 @@ OC.L10N.register(
"Error untagging" : "Eraris maletikedado",
"Access forbidden" : "Aliro estas malpermesata",
"Security Warning" : "Sekureca averto",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Via PHP versio estas sendefenda je la NULL bajto atako (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Bonvolu ĝisdatigi vian PHP-instalon por uzi %s sekure.",
"Create an <strong>admin account</strong>" : "Krei <strong>administran konton</strong>",
"Username" : "Uzantonomo",
"Data folder" : "Datuma dosierujo",
diff --git a/core/l10n/eo.json b/core/l10n/eo.json
index 205e277284d..27b58cb8c49 100644
--- a/core/l10n/eo.json
+++ b/core/l10n/eo.json
@@ -99,8 +99,6 @@
"Error untagging" : "Eraris maletikedado",
"Access forbidden" : "Aliro estas malpermesata",
"Security Warning" : "Sekureca averto",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Via PHP versio estas sendefenda je la NULL bajto atako (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Bonvolu ĝisdatigi vian PHP-instalon por uzi %s sekure.",
"Create an <strong>admin account</strong>" : "Krei <strong>administran konton</strong>",
"Username" : "Uzantonomo",
"Data folder" : "Datuma dosierujo",
diff --git a/core/l10n/es.js b/core/l10n/es.js
index 7833e639cc8..1e291362c9b 100644
--- a/core/l10n/es.js
+++ b/core/l10n/es.js
@@ -35,9 +35,9 @@ OC.L10N.register(
"December" : "Diciembre",
"Settings" : "Ajustes",
"Saving..." : "Guardando...",
- "Couldn't send reset email. Please contact your administrator." : "No pudo enviarse un correo de reinicio. Por favor, contacte con su administrador.",
- "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." : "Un enlace para reiniciar su contraseña ha sido enviado a su correo electrónico. Si usted no lo recibe en un tiempo razonable, revise su carpeta para spam/chatarra.<br>Si no lo encuentra, pregunte a su administrador local.",
- "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?" : "Sus archivos están cifrados. Si no ha activado la clave de recuperación, no habrá manera de recuperar los datos despues de que su contraseña será restablecida.<br /> Si no está seguro de lo que debe hacer, por favor contacte con su administrador antes de continuar.<br />¿Realmente desea continuar?",
+ "Couldn't send reset email. Please contact your administrator." : "No pudo enviarse el correo para restablecer la contraseña. Por favor, contacte con su administrador.",
+ "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." : "Un enlace para restablecer su contraseña ha sido enviado a su correo electrónico. Si usted no lo recibe en un tiempo razonable, revise su carpeta de spam/chatarra/basura.<br>Si no lo encuentra, consulte a su administrador local.",
+ "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?" : "Sus archivos están cifrados. Si no ha activado la clave de recuperación, no habrá manera de recuperar los datos una vez su contraseña sea restablecida.<br /> Si no está seguro de lo que debe hacer, por favor contacte con su administrador antes de continuar.<br />¿Realmente desea continuar?",
"I know what I'm doing" : "Sé lo que estoy haciendo",
"Password can not be changed. Please contact your administrator." : "La contraseña no se puede cambiar. Por favor, contacte a su administrador.",
"No" : "No",
@@ -65,7 +65,7 @@ OC.L10N.register(
"Strong password" : "Contraseña muy buena",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." : "Su servidor web aún no está configurado adecuadamente para permitir la sincronización de archivos; ya que la interfaz WebDAV parece no estar funcionando.",
"This server has no working internet connection. This means that some of the features like mounting of external storage, notifications about updates or installation of 3rd party apps don´t work. Accessing files from remote and sending of notification emails might also not work. We suggest to enable internet connection for this server if you want to have all features." : "Este servidor no tiene conexión a Internet. Esto significa que algunas de las características no funcionarán, como el montaje de almacenamiento externo, las notificaciones sobre actualizaciones, la instalación de aplicaciones de terceros, el acceso a los archivos de forma remota o el envío de correos electrónicos de notificación. Sugerimos habilitar una conexión a Internet en este servidor para disfrutar de todas las funciones.",
- "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 webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Su directorio de datos y archivos es probablemente accesible desde Internet pues el archivo .htaccess no está funcionando. Le sugerimos encarecidamente que configure su servidor web de modo que el directorio de datos no sea accesible o que mueva dicho directorio fuera de la raíz de documentos del servidor web.",
+ "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 webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Probablemente su directorio de datos y/o sus archivos son accesibles desde Internet, pues el archivo .htaccess no está funcionando. Le sugerimos encarecidamente que configure su servidor web de modo que el directorio de datos no sea accesible o que mueva dicho directorio fuera de la raíz de documentos del servidor web.",
"Error occurred while checking server setup" : "Ha ocurrido un error al revisar la configuración del servidor",
"Shared" : "Compartido",
"Shared with {recipients}" : "Compartido con {recipients}",
@@ -126,8 +126,8 @@ OC.L10N.register(
"The update was unsuccessful. " : "La actualización ha fallado.",
"The update was successful. Redirecting you to ownCloud now." : "La actualización se ha realizado con éxito. Redireccionando a ownCloud ahora.",
"Couldn't reset password because the token is invalid" : "No se puede restablecer la contraseña porque el vale de identificación es inválido.",
- "Couldn't send reset email. Please make sure your username is correct." : "No se pudo enviar la reiniciación de su correo electrónico. Por favor, asegúrese de que su nombre de usuario es el correcto.",
- "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "No se pudo enviar la reiniciación del correo electrónico, porque no hay una dirección de correo electrónico asociada con este nombre de usuario. Por favor, contacte a su administrador.",
+ "Couldn't send reset email. Please make sure your username is correct." : "No se pudo enviar el correo electrónico para el restablecimiento. Por favor, asegúrese de que su nombre de usuario es el correcto.",
+ "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "No se pudo enviar el correo electrónico para el restablecimiento, porque no hay una dirección de correo electrónico asociada con este nombre de usuario. Por favor, contacte a su administrador.",
"%s password reset" : "%s restablecer contraseña",
"Use the following link to reset your password: {link}" : "Utilice el siguiente enlace para restablecer su contraseña: {link}",
"New password" : "Nueva contraseña",
@@ -138,9 +138,9 @@ OC.L10N.register(
"_{count} search result in other places_::_{count} search results in other places_" : ["{count} resultado de búsqueda en otros lugares","{count} resultados de búsqueda en otros lugares"],
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X no está soportado y %s no funcionará bien en esta plataforma. ¡Úsela a su propio riesgo! ",
"For the best results, please consider using a GNU/Linux server instead." : "Para resultados óptimos, considere utilizar un servidor GNU/Linux.",
- "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 4GB and is highly discouraged." : "Parece que esta instalación %s está funcionando en un entorno de PHP 32-bits y el open_basedir se ha configurado en php.ini. Esto acarreará problemas con arhivos superiores a 4GB y resulta altamente desaconsejado.",
+ "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 4GB and is highly discouraged." : "Parece que esta instalación %s está funcionando en un entorno de PHP 32-bits y el open_basedir se ha configurado en php.ini. Esto acarreará problemas con archivos superiores a 4GB y se desaconseja encarecidamente.",
"Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, quite el ajuste de open_basedir —dentro de su php.ini— o pásese a PHP 64-bits.",
- "It seems that this %s instance is running on a 32-bit PHP environment and cURL is not installed. This will lead to problems with files over 4GB and is highly discouraged." : "Parece que esta instalación %s está funcionando en un entorno de PHP 32-bits y cURL no está instalado. Esto acarreará problemas con arhivos superiores a 4GB y resulta altamente desaconsejado.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and cURL is not installed. This will lead to problems with files over 4GB and is highly discouraged." : "Parece que esta instalación %s está funcionando en un entorno de PHP 32-bits y cURL no está instalado. Esto acarreará problemas con archivos superiores a 4GB y se desaconseja encarecidamente.",
"Please install the cURL extension and restart your webserver." : "Por favor, instale la extensión cURL y reinicie su servidor web.",
"Personal" : "Personal",
"Users" : "Usuarios",
@@ -163,7 +163,7 @@ OC.L10N.register(
"Cheers!" : "¡Saludos!",
"Internal Server Error" : "Error interno del servidor",
"The server encountered an internal error and was unable to complete your request." : "El servidor ha encontrado un error y no puede completar la solicitud.",
- "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Por favor, contacte con el administrador del servidor si este error reaparece múltiples veces. Incluya asimismo los detalles técnicos que se muestran acontinuación.",
+ "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Por favor, contacte con el administrador del servidor si este error reaparece múltiples veces. Incluya asimismo los detalles técnicos que se muestran a continuación.",
"More details can be found in the server log." : "Pueden verse más detalles en el registro del servidor.",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Dirección remota: %s",
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Línea: %s",
"Trace" : "Trazas",
"Security Warning" : "Advertencia de seguridad",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Su versión de PHP es vulnerable al ataque de Byte NULL (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Por favor, actualice su instalación PHP para usar %s con seguridad.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Su directorio de datos y sus archivos probablemente sean accesibles a través de internet ya que el archivo .htaccess no funciona.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Para información de cómo configurar apropiadamente su servidor, por favor vea la <a href=\"%s\" target=\"_blank\">documentación</a>.",
"Create an <strong>admin account</strong>" : "Crear una <strong>cuenta de administrador</strong>",
@@ -195,13 +193,12 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "El uso de SQLite esta desaconsejado especialmente cuando se usa el cliente de escritorio para que se sincronizan los ficheros.",
"Finish setup" : "Completar la instalación",
"Finishing …" : "Finalizando...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "La aplicación requiere JavaScript para poder operar correctamente. Habilite <a href=\"http://enable-javascript.com/\" target=\"_blank\">activar JavaScript</a> y recarge la página.",
"%s is available. Get more information on how to update." : "%s está disponible. Obtener más información de como actualizar.",
"Log out" : "Salir",
"Search" : "Buscar",
"Server side authentication failed!" : "La autenticación a fallado en el servidor.",
"Please contact your administrator." : "Por favor, contacte con el administrador.",
- "Forgot your password? Reset it!" : "¿Olvidó su contraseña? ¡Restablézquela!",
+ "Forgot your password? Reset it!" : "¿Olvidó su contraseña? ¡Restablézcala!",
"remember" : "recordar",
"Log in" : "Entrar",
"Alternative Logins" : "Inicios de sesión alternativos",
diff --git a/core/l10n/es.json b/core/l10n/es.json
index ca87950b79b..64b2d78a35a 100644
--- a/core/l10n/es.json
+++ b/core/l10n/es.json
@@ -33,9 +33,9 @@
"December" : "Diciembre",
"Settings" : "Ajustes",
"Saving..." : "Guardando...",
- "Couldn't send reset email. Please contact your administrator." : "No pudo enviarse un correo de reinicio. Por favor, contacte con su administrador.",
- "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." : "Un enlace para reiniciar su contraseña ha sido enviado a su correo electrónico. Si usted no lo recibe en un tiempo razonable, revise su carpeta para spam/chatarra.<br>Si no lo encuentra, pregunte a su administrador local.",
- "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?" : "Sus archivos están cifrados. Si no ha activado la clave de recuperación, no habrá manera de recuperar los datos despues de que su contraseña será restablecida.<br /> Si no está seguro de lo que debe hacer, por favor contacte con su administrador antes de continuar.<br />¿Realmente desea continuar?",
+ "Couldn't send reset email. Please contact your administrator." : "No pudo enviarse el correo para restablecer la contraseña. Por favor, contacte con su administrador.",
+ "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." : "Un enlace para restablecer su contraseña ha sido enviado a su correo electrónico. Si usted no lo recibe en un tiempo razonable, revise su carpeta de spam/chatarra/basura.<br>Si no lo encuentra, consulte a su administrador local.",
+ "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?" : "Sus archivos están cifrados. Si no ha activado la clave de recuperación, no habrá manera de recuperar los datos una vez su contraseña sea restablecida.<br /> Si no está seguro de lo que debe hacer, por favor contacte con su administrador antes de continuar.<br />¿Realmente desea continuar?",
"I know what I'm doing" : "Sé lo que estoy haciendo",
"Password can not be changed. Please contact your administrator." : "La contraseña no se puede cambiar. Por favor, contacte a su administrador.",
"No" : "No",
@@ -63,7 +63,7 @@
"Strong password" : "Contraseña muy buena",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." : "Su servidor web aún no está configurado adecuadamente para permitir la sincronización de archivos; ya que la interfaz WebDAV parece no estar funcionando.",
"This server has no working internet connection. This means that some of the features like mounting of external storage, notifications about updates or installation of 3rd party apps don´t work. Accessing files from remote and sending of notification emails might also not work. We suggest to enable internet connection for this server if you want to have all features." : "Este servidor no tiene conexión a Internet. Esto significa que algunas de las características no funcionarán, como el montaje de almacenamiento externo, las notificaciones sobre actualizaciones, la instalación de aplicaciones de terceros, el acceso a los archivos de forma remota o el envío de correos electrónicos de notificación. Sugerimos habilitar una conexión a Internet en este servidor para disfrutar de todas las funciones.",
- "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 webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Su directorio de datos y archivos es probablemente accesible desde Internet pues el archivo .htaccess no está funcionando. Le sugerimos encarecidamente que configure su servidor web de modo que el directorio de datos no sea accesible o que mueva dicho directorio fuera de la raíz de documentos del servidor web.",
+ "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 webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Probablemente su directorio de datos y/o sus archivos son accesibles desde Internet, pues el archivo .htaccess no está funcionando. Le sugerimos encarecidamente que configure su servidor web de modo que el directorio de datos no sea accesible o que mueva dicho directorio fuera de la raíz de documentos del servidor web.",
"Error occurred while checking server setup" : "Ha ocurrido un error al revisar la configuración del servidor",
"Shared" : "Compartido",
"Shared with {recipients}" : "Compartido con {recipients}",
@@ -124,8 +124,8 @@
"The update was unsuccessful. " : "La actualización ha fallado.",
"The update was successful. Redirecting you to ownCloud now." : "La actualización se ha realizado con éxito. Redireccionando a ownCloud ahora.",
"Couldn't reset password because the token is invalid" : "No se puede restablecer la contraseña porque el vale de identificación es inválido.",
- "Couldn't send reset email. Please make sure your username is correct." : "No se pudo enviar la reiniciación de su correo electrónico. Por favor, asegúrese de que su nombre de usuario es el correcto.",
- "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "No se pudo enviar la reiniciación del correo electrónico, porque no hay una dirección de correo electrónico asociada con este nombre de usuario. Por favor, contacte a su administrador.",
+ "Couldn't send reset email. Please make sure your username is correct." : "No se pudo enviar el correo electrónico para el restablecimiento. Por favor, asegúrese de que su nombre de usuario es el correcto.",
+ "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "No se pudo enviar el correo electrónico para el restablecimiento, porque no hay una dirección de correo electrónico asociada con este nombre de usuario. Por favor, contacte a su administrador.",
"%s password reset" : "%s restablecer contraseña",
"Use the following link to reset your password: {link}" : "Utilice el siguiente enlace para restablecer su contraseña: {link}",
"New password" : "Nueva contraseña",
@@ -136,9 +136,9 @@
"_{count} search result in other places_::_{count} search results in other places_" : ["{count} resultado de búsqueda en otros lugares","{count} resultados de búsqueda en otros lugares"],
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X no está soportado y %s no funcionará bien en esta plataforma. ¡Úsela a su propio riesgo! ",
"For the best results, please consider using a GNU/Linux server instead." : "Para resultados óptimos, considere utilizar un servidor GNU/Linux.",
- "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 4GB and is highly discouraged." : "Parece que esta instalación %s está funcionando en un entorno de PHP 32-bits y el open_basedir se ha configurado en php.ini. Esto acarreará problemas con arhivos superiores a 4GB y resulta altamente desaconsejado.",
+ "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 4GB and is highly discouraged." : "Parece que esta instalación %s está funcionando en un entorno de PHP 32-bits y el open_basedir se ha configurado en php.ini. Esto acarreará problemas con archivos superiores a 4GB y se desaconseja encarecidamente.",
"Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, quite el ajuste de open_basedir —dentro de su php.ini— o pásese a PHP 64-bits.",
- "It seems that this %s instance is running on a 32-bit PHP environment and cURL is not installed. This will lead to problems with files over 4GB and is highly discouraged." : "Parece que esta instalación %s está funcionando en un entorno de PHP 32-bits y cURL no está instalado. Esto acarreará problemas con arhivos superiores a 4GB y resulta altamente desaconsejado.",
+ "It seems that this %s instance is running on a 32-bit PHP environment and cURL is not installed. This will lead to problems with files over 4GB and is highly discouraged." : "Parece que esta instalación %s está funcionando en un entorno de PHP 32-bits y cURL no está instalado. Esto acarreará problemas con archivos superiores a 4GB y se desaconseja encarecidamente.",
"Please install the cURL extension and restart your webserver." : "Por favor, instale la extensión cURL y reinicie su servidor web.",
"Personal" : "Personal",
"Users" : "Usuarios",
@@ -161,7 +161,7 @@
"Cheers!" : "¡Saludos!",
"Internal Server Error" : "Error interno del servidor",
"The server encountered an internal error and was unable to complete your request." : "El servidor ha encontrado un error y no puede completar la solicitud.",
- "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Por favor, contacte con el administrador del servidor si este error reaparece múltiples veces. Incluya asimismo los detalles técnicos que se muestran acontinuación.",
+ "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Por favor, contacte con el administrador del servidor si este error reaparece múltiples veces. Incluya asimismo los detalles técnicos que se muestran a continuación.",
"More details can be found in the server log." : "Pueden verse más detalles en el registro del servidor.",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Dirección remota: %s",
@@ -172,8 +172,6 @@
"Line: %s" : "Línea: %s",
"Trace" : "Trazas",
"Security Warning" : "Advertencia de seguridad",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Su versión de PHP es vulnerable al ataque de Byte NULL (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Por favor, actualice su instalación PHP para usar %s con seguridad.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Su directorio de datos y sus archivos probablemente sean accesibles a través de internet ya que el archivo .htaccess no funciona.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Para información de cómo configurar apropiadamente su servidor, por favor vea la <a href=\"%s\" target=\"_blank\">documentación</a>.",
"Create an <strong>admin account</strong>" : "Crear una <strong>cuenta de administrador</strong>",
@@ -193,13 +191,12 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "El uso de SQLite esta desaconsejado especialmente cuando se usa el cliente de escritorio para que se sincronizan los ficheros.",
"Finish setup" : "Completar la instalación",
"Finishing …" : "Finalizando...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "La aplicación requiere JavaScript para poder operar correctamente. Habilite <a href=\"http://enable-javascript.com/\" target=\"_blank\">activar JavaScript</a> y recarge la página.",
"%s is available. Get more information on how to update." : "%s está disponible. Obtener más información de como actualizar.",
"Log out" : "Salir",
"Search" : "Buscar",
"Server side authentication failed!" : "La autenticación a fallado en el servidor.",
"Please contact your administrator." : "Por favor, contacte con el administrador.",
- "Forgot your password? Reset it!" : "¿Olvidó su contraseña? ¡Restablézquela!",
+ "Forgot your password? Reset it!" : "¿Olvidó su contraseña? ¡Restablézcala!",
"remember" : "recordar",
"Log in" : "Entrar",
"Alternative Logins" : "Inicios de sesión alternativos",
diff --git a/core/l10n/es_AR.js b/core/l10n/es_AR.js
index 55cc9843c9b..f8c3f132990 100644
--- a/core/l10n/es_AR.js
+++ b/core/l10n/es_AR.js
@@ -120,8 +120,6 @@ OC.L10N.register(
"The share will expire on %s." : "El compartir expirará en %s.",
"Cheers!" : "¡Saludos!",
"Security Warning" : "Advertencia de seguridad",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "La versión de PHP que tenés, es vulnerable al ataque de byte NULL (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Por favor, actualizá tu instalación PHP para poder usar %s de manera segura.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Tu directorio de datos y tus archivos probablemente son accesibles a través de internet, ya que el archivo .htaccess no está funcionando.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Para información sobre cómo configurar apropiadamente tu servidor, por favor mirá la <a href=\"%s\" target=\"_blank\">documentación</a>.",
"Create an <strong>admin account</strong>" : "Crear una <strong>cuenta de administrador</strong>",
diff --git a/core/l10n/es_AR.json b/core/l10n/es_AR.json
index 504ac336a0a..e39b2aab5e3 100644
--- a/core/l10n/es_AR.json
+++ b/core/l10n/es_AR.json
@@ -118,8 +118,6 @@
"The share will expire on %s." : "El compartir expirará en %s.",
"Cheers!" : "¡Saludos!",
"Security Warning" : "Advertencia de seguridad",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "La versión de PHP que tenés, es vulnerable al ataque de byte NULL (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Por favor, actualizá tu instalación PHP para poder usar %s de manera segura.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Tu directorio de datos y tus archivos probablemente son accesibles a través de internet, ya que el archivo .htaccess no está funcionando.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Para información sobre cómo configurar apropiadamente tu servidor, por favor mirá la <a href=\"%s\" target=\"_blank\">documentación</a>.",
"Create an <strong>admin account</strong>" : "Crear una <strong>cuenta de administrador</strong>",
diff --git a/core/l10n/es_MX.js b/core/l10n/es_MX.js
index ff62433d617..38416b1a323 100644
--- a/core/l10n/es_MX.js
+++ b/core/l10n/es_MX.js
@@ -114,8 +114,6 @@ OC.L10N.register(
"The share will expire on %s." : "El objeto dejará de ser compartido el %s.",
"Cheers!" : "¡Saludos!",
"Security Warning" : "Advertencia de seguridad",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Su versión de PHP es vulnerable al ataque de Byte NULL (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Por favor, actualice su instalación PHP para usar %s con seguridad.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Su directorio de datos y sus archivos probablemente sean accesibles a través de internet ya que el archivo .htaccess no funciona.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Para información de cómo configurar apropiadamente su servidor, por favor vea la <a href=\"%s\" target=\"_blank\">documentación</a>.",
"Create an <strong>admin account</strong>" : "Crear una <strong>cuenta de administrador</strong>",
diff --git a/core/l10n/es_MX.json b/core/l10n/es_MX.json
index f302ac27288..d8f7e276d54 100644
--- a/core/l10n/es_MX.json
+++ b/core/l10n/es_MX.json
@@ -112,8 +112,6 @@
"The share will expire on %s." : "El objeto dejará de ser compartido el %s.",
"Cheers!" : "¡Saludos!",
"Security Warning" : "Advertencia de seguridad",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Su versión de PHP es vulnerable al ataque de Byte NULL (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Por favor, actualice su instalación PHP para usar %s con seguridad.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Su directorio de datos y sus archivos probablemente sean accesibles a través de internet ya que el archivo .htaccess no funciona.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Para información de cómo configurar apropiadamente su servidor, por favor vea la <a href=\"%s\" target=\"_blank\">documentación</a>.",
"Create an <strong>admin account</strong>" : "Crear una <strong>cuenta de administrador</strong>",
diff --git a/core/l10n/et_EE.js b/core/l10n/et_EE.js
index 9d98f1c182e..d24977507ee 100644
--- a/core/l10n/et_EE.js
+++ b/core/l10n/et_EE.js
@@ -161,8 +161,6 @@ OC.L10N.register(
"Line: %s" : "Rida: %s",
"Trace" : "Jälita",
"Security Warning" : "Turvahoiatus",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Sinu PHP versioon on haavatav NULL Baidi (CVE-2006-7243) rünnakuga.",
- "Please update your PHP installation to use %s securely." : "Palun uuenda oma paigaldatud PHP-d tagamaks %s turvalisus.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Su andmete kataloog ja failid on tõenäoliselt internetist vabalt saadaval kuna .htaccess fail ei toimi.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Serveri korrektseks seadistuseks palun tutvu <a href=\"%s\" target=\"_blank\">dokumentatsiooniga</a>.",
"Create an <strong>admin account</strong>" : "Loo <strong>admini konto</strong>",
@@ -178,7 +176,6 @@ OC.L10N.register(
"Database host" : "Andmebaasi host",
"Finish setup" : "Lõpeta seadistamine",
"Finishing …" : "Lõpetamine ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "See rakendus vajab toimimiseks JavaScripti. Palun <a href=\"http://enable-javascript.com/\" target=\"_blank\">luba JavaScript</a> ning laadi see leht uuesti.",
"%s is available. Get more information on how to update." : "%s on saadaval. Vaata lähemalt kuidas uuendada.",
"Log out" : "Logi välja",
"Search" : "Otsi",
diff --git a/core/l10n/et_EE.json b/core/l10n/et_EE.json
index 154c56f8cf5..c19f7b45802 100644
--- a/core/l10n/et_EE.json
+++ b/core/l10n/et_EE.json
@@ -159,8 +159,6 @@
"Line: %s" : "Rida: %s",
"Trace" : "Jälita",
"Security Warning" : "Turvahoiatus",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Sinu PHP versioon on haavatav NULL Baidi (CVE-2006-7243) rünnakuga.",
- "Please update your PHP installation to use %s securely." : "Palun uuenda oma paigaldatud PHP-d tagamaks %s turvalisus.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Su andmete kataloog ja failid on tõenäoliselt internetist vabalt saadaval kuna .htaccess fail ei toimi.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Serveri korrektseks seadistuseks palun tutvu <a href=\"%s\" target=\"_blank\">dokumentatsiooniga</a>.",
"Create an <strong>admin account</strong>" : "Loo <strong>admini konto</strong>",
@@ -176,7 +174,6 @@
"Database host" : "Andmebaasi host",
"Finish setup" : "Lõpeta seadistamine",
"Finishing …" : "Lõpetamine ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "See rakendus vajab toimimiseks JavaScripti. Palun <a href=\"http://enable-javascript.com/\" target=\"_blank\">luba JavaScript</a> ning laadi see leht uuesti.",
"%s is available. Get more information on how to update." : "%s on saadaval. Vaata lähemalt kuidas uuendada.",
"Log out" : "Logi välja",
"Search" : "Otsi",
diff --git a/core/l10n/eu.js b/core/l10n/eu.js
index 8cddc775c28..f234353b122 100644
--- a/core/l10n/eu.js
+++ b/core/l10n/eu.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Lerroa: %s",
"Trace" : "Arrastoa",
"Security Warning" : "Segurtasun abisua",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Zure PHP bertsioa NULL Byte erasoak (CVE-2006-7243) mendera dezake.",
- "Please update your PHP installation to use %s securely." : "Mesedez eguneratu zure PHP instalazioa %s seguru erabiltzeko",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Zure data karpeta eta fitxategiak interneten bidez eskuragarri egon daitezke .htaccess fitxategia ez delako funtzionatzen ari.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Zure zerbitrzaria ongi konfiguratzeko, mezedez <a href=\"%s\" target=\"_blank\">dokumentazioa</a> ikusi.",
"Create an <strong>admin account</strong>" : "Sortu <strong>kudeatzaile kontu<strong> bat",
@@ -191,7 +189,6 @@ OC.L10N.register(
"Database host" : "Datubasearen hostalaria",
"Finish setup" : "Bukatu konfigurazioa",
"Finishing …" : "Bukatzen...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Aplikazio honek ongi funtzionatzeko JavaScript behar du. Mesedez <a href=\"http://enable-javascript.com/\" target=\"_blank\">gaitu JavaScript</a> eta birkargatu orri hau.",
"%s is available. Get more information on how to update." : "%s erabilgarri dago. Eguneratzeaz argibide gehiago eskuratu.",
"Log out" : "Saioa bukatu",
"Search" : "Bilatu",
diff --git a/core/l10n/eu.json b/core/l10n/eu.json
index 6e7973cabe4..675bbbb184a 100644
--- a/core/l10n/eu.json
+++ b/core/l10n/eu.json
@@ -172,8 +172,6 @@
"Line: %s" : "Lerroa: %s",
"Trace" : "Arrastoa",
"Security Warning" : "Segurtasun abisua",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Zure PHP bertsioa NULL Byte erasoak (CVE-2006-7243) mendera dezake.",
- "Please update your PHP installation to use %s securely." : "Mesedez eguneratu zure PHP instalazioa %s seguru erabiltzeko",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Zure data karpeta eta fitxategiak interneten bidez eskuragarri egon daitezke .htaccess fitxategia ez delako funtzionatzen ari.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Zure zerbitrzaria ongi konfiguratzeko, mezedez <a href=\"%s\" target=\"_blank\">dokumentazioa</a> ikusi.",
"Create an <strong>admin account</strong>" : "Sortu <strong>kudeatzaile kontu<strong> bat",
@@ -189,7 +187,6 @@
"Database host" : "Datubasearen hostalaria",
"Finish setup" : "Bukatu konfigurazioa",
"Finishing …" : "Bukatzen...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Aplikazio honek ongi funtzionatzeko JavaScript behar du. Mesedez <a href=\"http://enable-javascript.com/\" target=\"_blank\">gaitu JavaScript</a> eta birkargatu orri hau.",
"%s is available. Get more information on how to update." : "%s erabilgarri dago. Eguneratzeaz argibide gehiago eskuratu.",
"Log out" : "Saioa bukatu",
"Search" : "Bilatu",
diff --git a/core/l10n/fa.js b/core/l10n/fa.js
index bf9fc1b9a2b..2240fe43264 100644
--- a/core/l10n/fa.js
+++ b/core/l10n/fa.js
@@ -119,7 +119,6 @@ OC.L10N.register(
"Access forbidden" : "اجازه دسترسی به مناطق ممنوعه را ندارید",
"Cheers!" : "سلامتی!",
"Security Warning" : "اخطار امنیتی",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "نسخه ی PHP شما در برابر حملات NULL Byte آسیب پذیر است.(CVE-2006-7243)",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "فایلها و فهرست های داده های شما قابل از اینترنت قابل دسترسی هستند، چونکه فایل htacces. کار نمی کند.",
"Create an <strong>admin account</strong>" : "لطفا یک <strong> شناسه برای مدیر</strong> بسازید",
"Username" : "نام کاربری",
diff --git a/core/l10n/fa.json b/core/l10n/fa.json
index b6e6fe247fc..a949586fd3e 100644
--- a/core/l10n/fa.json
+++ b/core/l10n/fa.json
@@ -117,7 +117,6 @@
"Access forbidden" : "اجازه دسترسی به مناطق ممنوعه را ندارید",
"Cheers!" : "سلامتی!",
"Security Warning" : "اخطار امنیتی",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "نسخه ی PHP شما در برابر حملات NULL Byte آسیب پذیر است.(CVE-2006-7243)",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "فایلها و فهرست های داده های شما قابل از اینترنت قابل دسترسی هستند، چونکه فایل htacces. کار نمی کند.",
"Create an <strong>admin account</strong>" : "لطفا یک <strong> شناسه برای مدیر</strong> بسازید",
"Username" : "نام کاربری",
diff --git a/core/l10n/fi_FI.js b/core/l10n/fi_FI.js
index 24aab7f59ef..641660f6970 100644
--- a/core/l10n/fi_FI.js
+++ b/core/l10n/fi_FI.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Rivi: %s",
"Trace" : "Jälki",
"Security Warning" : "Turvallisuusvaroitus",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "PHP-asennuksesi on haavoittuvainen NULL Byte -hyökkäykselle (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Päivitä PHP-asennus varmistaaksesi, että %s on turvallinen käyttää.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Datakansiosi ja tiedostosi ovat mitä luultavimmin muiden saavutettavissa internetistä, koska .htaccess-tiedosto ei toimi.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Lisätietoja palvelimen asetuksien määrittämisestä on saatavilla <a href=\"%s\" target=\"_blank\">dokumentaatiosta</a>.",
"Create an <strong>admin account</strong>" : "Luo <strong>ylläpitäjän tunnus</strong>",
@@ -195,7 +193,7 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Varsinkin työpöytäsovelluksen tiedostosynkronointia käyttäessä SQLiten käyttö ei ole suositeltavaa.",
"Finish setup" : "Viimeistele asennus",
"Finishing …" : "Valmistellaan…",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Tämä sovellus vaatii JavaScript-tuen toimiakseen. <a href=\"http://enable-javascript.com/\" target=\"_blank\">Ota JavaScript käyttöön</a> ja päivitä sivu.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Tämä sovellus vaatii toimiakseen JavaScript-tuen. {linkstart}Ota JavaScript käyttöön{linkend} ja päivitä sivu.",
"%s is available. Get more information on how to update." : "%s on saatavilla. Lue lisätietoja, miten päivitys asennetaan.",
"Log out" : "Kirjaudu ulos",
"Search" : "Etsi",
diff --git a/core/l10n/fi_FI.json b/core/l10n/fi_FI.json
index 55aa9408100..e919f677f84 100644
--- a/core/l10n/fi_FI.json
+++ b/core/l10n/fi_FI.json
@@ -172,8 +172,6 @@
"Line: %s" : "Rivi: %s",
"Trace" : "Jälki",
"Security Warning" : "Turvallisuusvaroitus",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "PHP-asennuksesi on haavoittuvainen NULL Byte -hyökkäykselle (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Päivitä PHP-asennus varmistaaksesi, että %s on turvallinen käyttää.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Datakansiosi ja tiedostosi ovat mitä luultavimmin muiden saavutettavissa internetistä, koska .htaccess-tiedosto ei toimi.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Lisätietoja palvelimen asetuksien määrittämisestä on saatavilla <a href=\"%s\" target=\"_blank\">dokumentaatiosta</a>.",
"Create an <strong>admin account</strong>" : "Luo <strong>ylläpitäjän tunnus</strong>",
@@ -193,7 +191,7 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Varsinkin työpöytäsovelluksen tiedostosynkronointia käyttäessä SQLiten käyttö ei ole suositeltavaa.",
"Finish setup" : "Viimeistele asennus",
"Finishing …" : "Valmistellaan…",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Tämä sovellus vaatii JavaScript-tuen toimiakseen. <a href=\"http://enable-javascript.com/\" target=\"_blank\">Ota JavaScript käyttöön</a> ja päivitä sivu.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Tämä sovellus vaatii toimiakseen JavaScript-tuen. {linkstart}Ota JavaScript käyttöön{linkend} ja päivitä sivu.",
"%s is available. Get more information on how to update." : "%s on saatavilla. Lue lisätietoja, miten päivitys asennetaan.",
"Log out" : "Kirjaudu ulos",
"Search" : "Etsi",
diff --git a/core/l10n/fr.js b/core/l10n/fr.js
index 9060e5c0644..c020571ff3b 100644
--- a/core/l10n/fr.js
+++ b/core/l10n/fr.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Ligne : %s",
"Trace" : "Trace",
"Security Warning" : "Avertissement de sécurité",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Votre version de PHP est vulnérable à l'attaque par caractère NULL (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Veuillez mettre à jour votre installation PHP pour utiliser %s de façon sécurisée.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Votre répertoire de données est certainement accessible depuis l'internet car le fichier .htaccess ne fonctionne pas.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Pour les informations de configuration de votre serveur, veuillez lire la <a href=\"%s\" target=\"_blank\">documentation</a>.",
"Create an <strong>admin account</strong>" : "Créer un <strong>compte administrateur</strong>",
@@ -195,7 +193,7 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "En particulier si vous utilisez le client de bureau pour synchroniser vos données : l'utilisation de SQLite est alors déconseillée.",
"Finish setup" : "Terminer l'installation",
"Finishing …" : "Finalisation …",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Cette application nécessite JavaScript pour fonctionner correctement. Veuillez <a href=\"http://www.enable-javascript.com/fr/\" target=\"_blank\">activer JavaScript</a> puis charger à nouveau cette page.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Cette application requiert JavaScript pour fonctionner correctement. Veuillez {linkstart}activer JavaScript{linkend} et recharger la page.",
"%s is available. Get more information on how to update." : "%s est disponible. Obtenez plus d'informations sur la façon de mettre à jour.",
"Log out" : "Se déconnecter",
"Search" : "Rechercher",
diff --git a/core/l10n/fr.json b/core/l10n/fr.json
index 7c03a4fc3fc..dfbb452c077 100644
--- a/core/l10n/fr.json
+++ b/core/l10n/fr.json
@@ -172,8 +172,6 @@
"Line: %s" : "Ligne : %s",
"Trace" : "Trace",
"Security Warning" : "Avertissement de sécurité",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Votre version de PHP est vulnérable à l'attaque par caractère NULL (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Veuillez mettre à jour votre installation PHP pour utiliser %s de façon sécurisée.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Votre répertoire de données est certainement accessible depuis l'internet car le fichier .htaccess ne fonctionne pas.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Pour les informations de configuration de votre serveur, veuillez lire la <a href=\"%s\" target=\"_blank\">documentation</a>.",
"Create an <strong>admin account</strong>" : "Créer un <strong>compte administrateur</strong>",
@@ -193,7 +191,7 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "En particulier si vous utilisez le client de bureau pour synchroniser vos données : l'utilisation de SQLite est alors déconseillée.",
"Finish setup" : "Terminer l'installation",
"Finishing …" : "Finalisation …",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Cette application nécessite JavaScript pour fonctionner correctement. Veuillez <a href=\"http://www.enable-javascript.com/fr/\" target=\"_blank\">activer JavaScript</a> puis charger à nouveau cette page.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Cette application requiert JavaScript pour fonctionner correctement. Veuillez {linkstart}activer JavaScript{linkend} et recharger la page.",
"%s is available. Get more information on how to update." : "%s est disponible. Obtenez plus d'informations sur la façon de mettre à jour.",
"Log out" : "Se déconnecter",
"Search" : "Rechercher",
diff --git a/core/l10n/gl.js b/core/l10n/gl.js
index a7304207e99..87f8659ebe8 100644
--- a/core/l10n/gl.js
+++ b/core/l10n/gl.js
@@ -6,8 +6,8 @@ OC.L10N.register(
"Turned off maintenance mode" : "Modo de mantemento desactivado",
"Updated database" : "Base de datos actualizada",
"Checked database schema update" : "Comprobada a actualización do esquema da base de datos",
- "Checked database schema update for apps" : "Comprobada a base de datos para actualización de aplicativos",
- "Updated \"%s\" to %s" : "Actualizado \"%s\" a %s",
+ "Checked database schema update for apps" : "Comprobada a actualización do esquema da base de datos para aplicacións",
+ "Updated \"%s\" to %s" : "Actualizado «%s» a %s",
"Disabled incompatible apps: %s" : "Aplicacións incompatíbeis desactivadas: %s",
"No image or file provided" : "Non forneceu ningunha imaxe ou ficheiro",
"Unknown filetype" : "Tipo de ficheiro descoñecido",
@@ -116,9 +116,9 @@ OC.L10N.register(
"Error loading dialog template: {error}" : "Produciuse un erro ao cargar o modelo do dialogo: {error}",
"No tags selected for deletion." : "Non se seleccionaron etiquetas para borrado.",
"unknown text" : "texto descoñecido",
- "Hello world!" : "Hola mundo!",
+ "Hello world!" : "Ola xente!",
"sunny" : "soleado",
- "Hello {name}, the weather is {weather}" : "Olá {name}, o tempo é {weather}",
+ "Hello {name}, the weather is {weather}" : "Ola {name}, o tempo é {weather}",
"Hello {name}" : "Ola {name}",
"_download %n file_::_download %n files_" : ["descargar %n ficheiro","descargar %n ficheiros"],
"Updating {productName} to version {version}, this may take a while." : "Actualizando {productName} a versión {version}, isto pode levar un anaco.",
@@ -133,13 +133,13 @@ OC.L10N.register(
"New password" : "Novo contrasinal",
"New Password" : "Novo contrasinal",
"Reset password" : "Restabelecer o contrasinal",
- "Searching other places" : "Buscando en outros lugares",
- "No search result in other places" : "Sen resultados na busca en outros lugares",
- "_{count} search result in other places_::_{count} search results in other places_" : ["{count} resultado na busca en outros lugares","{count} resultados na busca en outros lugares"],
+ "Searching other places" : "Buscando noutros lugares",
+ "No search result in other places" : "Sen resultados na busca noutros lugares",
+ "_{count} search result in other places_::_{count} search results in other places_" : ["{count} resultado na busca noutros lugares","{count} resultados na busca noutros lugares"],
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X non é compatíbel e %s non funcionará correctamente nesta plataforma. Úseo baixo o seu risco!",
"For the best results, please consider using a GNU/Linux server instead." : "Para obter mellores resultados, considere o emprego dun servidor GNU/Linux no seu canto.",
"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 4GB and is highly discouraged." : "Semella que está a executarse esta instancia de %s nun entorno de PHP de 32 bits e o open_basedir foi configurado no php.ini. Isto dará lugar a problemas con ficheiros de máis de 4GB o que é moi desalentador.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimine a preferencia de open_basedir dentro de php.ini ou cambie a un entorno 64-bit PHP.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Retire o axuste open_basedir dentro de php.ini ou cambie a PHP de 64-bit PHP.",
"It seems that this %s instance is running on a 32-bit PHP environment and cURL is not installed. This will lead to problems with files over 4GB and is highly discouraged." : "Semella que esta instancia %s execútase nun entorno 32-bit PHP e cURL non está instalado. Esto causará problemas con ficheiros maiores de 4GB o que é moi desalentador.",
"Please install the cURL extension and restart your webserver." : "Instale a extensión cURL e reinicie o servidor web.",
"Personal" : "Persoal",
@@ -157,13 +157,13 @@ OC.L10N.register(
"Access forbidden" : "Acceso denegado",
"File not found" : "Ficheiro non atopado",
"The specified document has not been found on the server." : "Non se atopou no servidor o documento indicado.",
- "You can click here to return to %s." : "Pode pulsar aquí para voltar a %s.",
+ "You can click here to return to %s." : "Pode premer aquí para volver a %s.",
"Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Ola,\n\nsó facerlle saber que %s compartiu %s con vostede.\nVéxao en: %s\n\n",
"The share will expire on %s." : "Esta compartición caduca o %s.",
"Cheers!" : "Saúdos!",
- "Internal Server Error" : "Erro interno do servidor",
+ "Internal Server Error" : "Produciuse un erro interno do servidor",
"The server encountered an internal error and was unable to complete your request." : "O servidor atopou un erro interno e non foi quen de completar a súa petición.",
- "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Por favor contacte co administrador se este erro acontece repetidamente, por favor inclúa os detalles técnicos indicados abaixo no seu informe.",
+ "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Contacte co administrador se este erro acontece repetidamente, favor inclúa os detalles técnicos indicados embaixo no seu informe.",
"More details can be found in the server log." : "Atopará máis detalles no rexistro do servidor.",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Enderezo remoto: %s",
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Liña: %s",
"Trace" : "Traza",
"Security Warning" : "Aviso de seguranza",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "A súa versión de PHP é vulnerábel a un ataque de byte nulo (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Actualice a instalación de PHP para empregar %s de xeito seguro.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "O seu directorio de datos e os ficheiros probabelmente sexan accesíbeis desde a Internet xa que o ficheiro .htaccess non está a traballar.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Para obter información sobre como como configurar axeitadamente o seu servidor, vexa a <a href=\"%s\" target=\"_blank\">documentación</a>.",
"Create an <strong>admin account</strong>" : "Crear unha <strong>contra de administrador</strong>",
@@ -195,7 +193,7 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Concretamente, se emprega o cliente de escritorio para sincronización, desaconséllase o uso de SQLite.",
"Finish setup" : "Rematar a configuración",
"Finishing …" : "Rematando ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Este aplicativo precisa JavaScript para funcionar. Por favor <a href=\"http://enable-javascript.com/\" target=\"_blank\">habilite JavaScript</a> e recargue a páxina.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Este aplicativo require JavaScript para un correcto funcionamento. Por favor {linkstart}habilite JavaScript{linkend} e volte a cargar a páxina.",
"%s is available. Get more information on how to update." : "%s está dispoñíbel. Obteña máis información sobre como actualizar.",
"Log out" : "Desconectar",
"Search" : "Buscar",
@@ -212,8 +210,8 @@ OC.L10N.register(
"Thank you for your patience." : "Grazas pola súa paciencia.",
"You are accessing the server from an untrusted domain." : "Esta accedendo desde un dominio non fiábel.",
"Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Póñase en contacto co administrador. Se vostede é administrador desta instancia, configure o parámetro «trusted_domain» en config/config.php. Dispón dun exemplo de configuración en 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." : "Dependendo da súa configuración, como administrador vostede podería utiizar o botón de abaixo para confiar en este dominio.",
- "Add \"%s\" as trusted domain" : "Engadir \"%s\" como dominio de confianza",
+ "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Dependendo da súa configuración, como administrador vostede podería utilizar o botón de embaixo para confiar neste dominio.",
+ "Add \"%s\" as trusted domain" : "Engadir «%s» como dominio de confianza",
"%s will be updated to version %s." : "%s actualizarase á versión %s.",
"The following apps will be disabled:" : "Van desactivarse as seguintes aplicacións:",
"The theme %s has been disabled." : "O tema %s foi desactivado.",
@@ -221,6 +219,6 @@ OC.L10N.register(
"Start update" : "Iniciar a actualización",
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Para evitar tempos de espera nas instalacións grandes, no seu lugar pode executar a seguinte orde desde o directorio de instalación:",
"This %s instance is currently being updated, which may take a while." : "Esta instancia de %s está sendo actualizada e pode tardar un anaco.",
- "This page will refresh itself when the %s instance is available again." : "Esta páxina actualizarase automáticamente cando a instancia de %s esté dispoñible de novo."
+ "This page will refresh itself when the %s instance is available again." : "Esta páxina actualizarase automaticamente cando a instancia de %s estea dispoñíbel de novo."
},
"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/gl.json b/core/l10n/gl.json
index 017e478591d..ef3bf4a4d3c 100644
--- a/core/l10n/gl.json
+++ b/core/l10n/gl.json
@@ -4,8 +4,8 @@
"Turned off maintenance mode" : "Modo de mantemento desactivado",
"Updated database" : "Base de datos actualizada",
"Checked database schema update" : "Comprobada a actualización do esquema da base de datos",
- "Checked database schema update for apps" : "Comprobada a base de datos para actualización de aplicativos",
- "Updated \"%s\" to %s" : "Actualizado \"%s\" a %s",
+ "Checked database schema update for apps" : "Comprobada a actualización do esquema da base de datos para aplicacións",
+ "Updated \"%s\" to %s" : "Actualizado «%s» a %s",
"Disabled incompatible apps: %s" : "Aplicacións incompatíbeis desactivadas: %s",
"No image or file provided" : "Non forneceu ningunha imaxe ou ficheiro",
"Unknown filetype" : "Tipo de ficheiro descoñecido",
@@ -114,9 +114,9 @@
"Error loading dialog template: {error}" : "Produciuse un erro ao cargar o modelo do dialogo: {error}",
"No tags selected for deletion." : "Non se seleccionaron etiquetas para borrado.",
"unknown text" : "texto descoñecido",
- "Hello world!" : "Hola mundo!",
+ "Hello world!" : "Ola xente!",
"sunny" : "soleado",
- "Hello {name}, the weather is {weather}" : "Olá {name}, o tempo é {weather}",
+ "Hello {name}, the weather is {weather}" : "Ola {name}, o tempo é {weather}",
"Hello {name}" : "Ola {name}",
"_download %n file_::_download %n files_" : ["descargar %n ficheiro","descargar %n ficheiros"],
"Updating {productName} to version {version}, this may take a while." : "Actualizando {productName} a versión {version}, isto pode levar un anaco.",
@@ -131,13 +131,13 @@
"New password" : "Novo contrasinal",
"New Password" : "Novo contrasinal",
"Reset password" : "Restabelecer o contrasinal",
- "Searching other places" : "Buscando en outros lugares",
- "No search result in other places" : "Sen resultados na busca en outros lugares",
- "_{count} search result in other places_::_{count} search results in other places_" : ["{count} resultado na busca en outros lugares","{count} resultados na busca en outros lugares"],
+ "Searching other places" : "Buscando noutros lugares",
+ "No search result in other places" : "Sen resultados na busca noutros lugares",
+ "_{count} search result in other places_::_{count} search results in other places_" : ["{count} resultado na busca noutros lugares","{count} resultados na busca noutros lugares"],
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X non é compatíbel e %s non funcionará correctamente nesta plataforma. Úseo baixo o seu risco!",
"For the best results, please consider using a GNU/Linux server instead." : "Para obter mellores resultados, considere o emprego dun servidor GNU/Linux no seu canto.",
"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 4GB and is highly discouraged." : "Semella que está a executarse esta instancia de %s nun entorno de PHP de 32 bits e o open_basedir foi configurado no php.ini. Isto dará lugar a problemas con ficheiros de máis de 4GB o que é moi desalentador.",
- "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor elimine a preferencia de open_basedir dentro de php.ini ou cambie a un entorno 64-bit PHP.",
+ "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Retire o axuste open_basedir dentro de php.ini ou cambie a PHP de 64-bit PHP.",
"It seems that this %s instance is running on a 32-bit PHP environment and cURL is not installed. This will lead to problems with files over 4GB and is highly discouraged." : "Semella que esta instancia %s execútase nun entorno 32-bit PHP e cURL non está instalado. Esto causará problemas con ficheiros maiores de 4GB o que é moi desalentador.",
"Please install the cURL extension and restart your webserver." : "Instale a extensión cURL e reinicie o servidor web.",
"Personal" : "Persoal",
@@ -155,13 +155,13 @@
"Access forbidden" : "Acceso denegado",
"File not found" : "Ficheiro non atopado",
"The specified document has not been found on the server." : "Non se atopou no servidor o documento indicado.",
- "You can click here to return to %s." : "Pode pulsar aquí para voltar a %s.",
+ "You can click here to return to %s." : "Pode premer aquí para volver a %s.",
"Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Ola,\n\nsó facerlle saber que %s compartiu %s con vostede.\nVéxao en: %s\n\n",
"The share will expire on %s." : "Esta compartición caduca o %s.",
"Cheers!" : "Saúdos!",
- "Internal Server Error" : "Erro interno do servidor",
+ "Internal Server Error" : "Produciuse un erro interno do servidor",
"The server encountered an internal error and was unable to complete your request." : "O servidor atopou un erro interno e non foi quen de completar a súa petición.",
- "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Por favor contacte co administrador se este erro acontece repetidamente, por favor inclúa os detalles técnicos indicados abaixo no seu informe.",
+ "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Contacte co administrador se este erro acontece repetidamente, favor inclúa os detalles técnicos indicados embaixo no seu informe.",
"More details can be found in the server log." : "Atopará máis detalles no rexistro do servidor.",
"Technical details" : "Detalles técnicos",
"Remote Address: %s" : "Enderezo remoto: %s",
@@ -172,8 +172,6 @@
"Line: %s" : "Liña: %s",
"Trace" : "Traza",
"Security Warning" : "Aviso de seguranza",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "A súa versión de PHP é vulnerábel a un ataque de byte nulo (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Actualice a instalación de PHP para empregar %s de xeito seguro.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "O seu directorio de datos e os ficheiros probabelmente sexan accesíbeis desde a Internet xa que o ficheiro .htaccess non está a traballar.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Para obter información sobre como como configurar axeitadamente o seu servidor, vexa a <a href=\"%s\" target=\"_blank\">documentación</a>.",
"Create an <strong>admin account</strong>" : "Crear unha <strong>contra de administrador</strong>",
@@ -193,7 +191,7 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Concretamente, se emprega o cliente de escritorio para sincronización, desaconséllase o uso de SQLite.",
"Finish setup" : "Rematar a configuración",
"Finishing …" : "Rematando ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Este aplicativo precisa JavaScript para funcionar. Por favor <a href=\"http://enable-javascript.com/\" target=\"_blank\">habilite JavaScript</a> e recargue a páxina.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Este aplicativo require JavaScript para un correcto funcionamento. Por favor {linkstart}habilite JavaScript{linkend} e volte a cargar a páxina.",
"%s is available. Get more information on how to update." : "%s está dispoñíbel. Obteña máis información sobre como actualizar.",
"Log out" : "Desconectar",
"Search" : "Buscar",
@@ -210,8 +208,8 @@
"Thank you for your patience." : "Grazas pola súa paciencia.",
"You are accessing the server from an untrusted domain." : "Esta accedendo desde un dominio non fiábel.",
"Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Póñase en contacto co administrador. Se vostede é administrador desta instancia, configure o parámetro «trusted_domain» en config/config.php. Dispón dun exemplo de configuración en 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." : "Dependendo da súa configuración, como administrador vostede podería utiizar o botón de abaixo para confiar en este dominio.",
- "Add \"%s\" as trusted domain" : "Engadir \"%s\" como dominio de confianza",
+ "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Dependendo da súa configuración, como administrador vostede podería utilizar o botón de embaixo para confiar neste dominio.",
+ "Add \"%s\" as trusted domain" : "Engadir «%s» como dominio de confianza",
"%s will be updated to version %s." : "%s actualizarase á versión %s.",
"The following apps will be disabled:" : "Van desactivarse as seguintes aplicacións:",
"The theme %s has been disabled." : "O tema %s foi desactivado.",
@@ -219,6 +217,6 @@
"Start update" : "Iniciar a actualización",
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Para evitar tempos de espera nas instalacións grandes, no seu lugar pode executar a seguinte orde desde o directorio de instalación:",
"This %s instance is currently being updated, which may take a while." : "Esta instancia de %s está sendo actualizada e pode tardar un anaco.",
- "This page will refresh itself when the %s instance is available again." : "Esta páxina actualizarase automáticamente cando a instancia de %s esté dispoñible de novo."
+ "This page will refresh itself when the %s instance is available again." : "Esta páxina actualizarase automaticamente cando a instancia de %s estea dispoñíbel de novo."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/core/l10n/he.js b/core/l10n/he.js
index 0e94779821c..7a2061be7ce 100644
--- a/core/l10n/he.js
+++ b/core/l10n/he.js
@@ -76,8 +76,6 @@ OC.L10N.register(
"Help" : "עזרה",
"Access forbidden" : "הגישה נחסמה",
"Security Warning" : "אזהרת אבטחה",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "גרסת ה־PHP פגיעה בפני התקפת בית NULL/ריק (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "נא לעדכן את התקנת ה-PHP שלך כדי להשתמש ב-%s בצורה מאובטחת.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "תיקיית וקבצי המידע שלך כנראה נגישים מהאינטרנט מכיוון שקובץ ה.htaccess לא עובד.",
"Create an <strong>admin account</strong>" : "יצירת <strong>חשבון מנהל</strong>",
"Username" : "שם משתמש",
diff --git a/core/l10n/he.json b/core/l10n/he.json
index 2d4ba4db896..b7316e0bc82 100644
--- a/core/l10n/he.json
+++ b/core/l10n/he.json
@@ -74,8 +74,6 @@
"Help" : "עזרה",
"Access forbidden" : "הגישה נחסמה",
"Security Warning" : "אזהרת אבטחה",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "גרסת ה־PHP פגיעה בפני התקפת בית NULL/ריק (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "נא לעדכן את התקנת ה-PHP שלך כדי להשתמש ב-%s בצורה מאובטחת.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "תיקיית וקבצי המידע שלך כנראה נגישים מהאינטרנט מכיוון שקובץ ה.htaccess לא עובד.",
"Create an <strong>admin account</strong>" : "יצירת <strong>חשבון מנהל</strong>",
"Username" : "שם משתמש",
diff --git a/core/l10n/hr.js b/core/l10n/hr.js
index c43e848390f..c9d0494f5dc 100644
--- a/core/l10n/hr.js
+++ b/core/l10n/hr.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Red: %s",
"Trace" : "Prati",
"Security Warning" : "Sigurnosno upozorenje",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Vaša PHP verzija je podložna napadu NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Molimo ažurirajte svoju PHP instalaciju da biste mogli sigurno koristiti %s.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Vašem podatkovnom direktoriju i datotekama vjerojatno se može pristupiti s interneta jer .htaccess datoteka ne radi.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Za informaciju kako ispravno konfigurirati vaš poslužitelj, molimo vidite <a href=\"%s\" target=\"_blank\">dokumentaciju</a>.",
"Create an <strong>admin account</strong>" : "Kreirajte <strong>admin račun</strong>",
@@ -191,7 +189,6 @@ OC.L10N.register(
"Database host" : "Glavno računalo baze podataka",
"Finish setup" : "Završite postavljanje",
"Finishing …" : "Završavanje...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Ova aplikacija zahtjeva JavaScript za ispravan rad. Molimo <a href=\"http://enable-javascript.com/\" target=\"_blank\"> uključite JavaScript</a> i ponovno učitajte stranicu.",
"%s is available. Get more information on how to update." : "%s je dostupan. Saznajte više informacija o tome kako ažurirati.",
"Log out" : "Odjavite se",
"Search" : "pretraži",
diff --git a/core/l10n/hr.json b/core/l10n/hr.json
index 6f21f8e9596..b770f224923 100644
--- a/core/l10n/hr.json
+++ b/core/l10n/hr.json
@@ -172,8 +172,6 @@
"Line: %s" : "Red: %s",
"Trace" : "Prati",
"Security Warning" : "Sigurnosno upozorenje",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Vaša PHP verzija je podložna napadu NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Molimo ažurirajte svoju PHP instalaciju da biste mogli sigurno koristiti %s.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Vašem podatkovnom direktoriju i datotekama vjerojatno se može pristupiti s interneta jer .htaccess datoteka ne radi.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Za informaciju kako ispravno konfigurirati vaš poslužitelj, molimo vidite <a href=\"%s\" target=\"_blank\">dokumentaciju</a>.",
"Create an <strong>admin account</strong>" : "Kreirajte <strong>admin račun</strong>",
@@ -189,7 +187,6 @@
"Database host" : "Glavno računalo baze podataka",
"Finish setup" : "Završite postavljanje",
"Finishing …" : "Završavanje...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Ova aplikacija zahtjeva JavaScript za ispravan rad. Molimo <a href=\"http://enable-javascript.com/\" target=\"_blank\"> uključite JavaScript</a> i ponovno učitajte stranicu.",
"%s is available. Get more information on how to update." : "%s je dostupan. Saznajte više informacija o tome kako ažurirati.",
"Log out" : "Odjavite se",
"Search" : "pretraži",
diff --git a/core/l10n/hu_HU.js b/core/l10n/hu_HU.js
index 4dd4ec6d3e0..13ccda12b0a 100644
--- a/core/l10n/hu_HU.js
+++ b/core/l10n/hu_HU.js
@@ -173,8 +173,6 @@ OC.L10N.register(
"Line: %s" : "Sor: %s",
"Trace" : "Lekövetés",
"Security Warning" : "Biztonsági figyelmeztetés",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Az Ön PHP verziója sebezhető a NULL bájtos támadással szemben (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Kérjük frissítse a telepített PHP csomagjait, hogy biztonságos legyen az %s szolgáltatása.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Az adatkönyvtár és a benne levő állományok valószínűleg közvetlenül is elérhetők az internetről, mert a .htaccess állomány nem érvényesül.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "A kiszolgáló megfelelő beállításához kérjük olvassa el a <a href=\"%sl\" target=\"_blank\">dokumentációt</a>.",
"Create an <strong>admin account</strong>" : "<strong>Rendszergazdai belépés</strong> létrehozása",
diff --git a/core/l10n/hu_HU.json b/core/l10n/hu_HU.json
index af68919397d..dff7fa0756e 100644
--- a/core/l10n/hu_HU.json
+++ b/core/l10n/hu_HU.json
@@ -171,8 +171,6 @@
"Line: %s" : "Sor: %s",
"Trace" : "Lekövetés",
"Security Warning" : "Biztonsági figyelmeztetés",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Az Ön PHP verziója sebezhető a NULL bájtos támadással szemben (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Kérjük frissítse a telepített PHP csomagjait, hogy biztonságos legyen az %s szolgáltatása.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Az adatkönyvtár és a benne levő állományok valószínűleg közvetlenül is elérhetők az internetről, mert a .htaccess állomány nem érvényesül.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "A kiszolgáló megfelelő beállításához kérjük olvassa el a <a href=\"%sl\" target=\"_blank\">dokumentációt</a>.",
"Create an <strong>admin account</strong>" : "<strong>Rendszergazdai belépés</strong> létrehozása",
diff --git a/core/l10n/ia.js b/core/l10n/ia.js
index 75e68235abd..6dab1408744 100644
--- a/core/l10n/ia.js
+++ b/core/l10n/ia.js
@@ -126,7 +126,6 @@ OC.L10N.register(
"Line: %s" : "Rango: %s",
"Trace" : "Tracia",
"Security Warning" : "Aviso de securitate",
- "Please update your PHP installation to use %s securely." : "Pro favor actualisa tu installation de PHP pro usar %s con securitate.",
"Create an <strong>admin account</strong>" : "Crear un <strong>conto de administration</strong>",
"Username" : "Nomine de usator",
"Storage & database" : "Immagazinage & base de datos",
diff --git a/core/l10n/ia.json b/core/l10n/ia.json
index 8c7fbc052ec..7c5521a994c 100644
--- a/core/l10n/ia.json
+++ b/core/l10n/ia.json
@@ -124,7 +124,6 @@
"Line: %s" : "Rango: %s",
"Trace" : "Tracia",
"Security Warning" : "Aviso de securitate",
- "Please update your PHP installation to use %s securely." : "Pro favor actualisa tu installation de PHP pro usar %s con securitate.",
"Create an <strong>admin account</strong>" : "Crear un <strong>conto de administration</strong>",
"Username" : "Nomine de usator",
"Storage & database" : "Immagazinage & base de datos",
diff --git a/core/l10n/id.js b/core/l10n/id.js
index 410d26e7d1f..322b51f2fc5 100644
--- a/core/l10n/id.js
+++ b/core/l10n/id.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Baris: %s",
"Trace" : "Jejak",
"Security Warning" : "Peringatan Keamanan",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Versi PHP Anda rentan terhadap serangan NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Silakan perbarui instalasi PHP anda untuk menggunakan %s dengan aman.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Kemungkinan direktori data dan berkas anda dapat diakses dari internet karena berkas .htaccess tidak berfungsi.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Untuk informasi cara mengkonfigurasi server anda dengan benar, silakan lihat <a href=\"%s\" target=\"_blank\">dokumentasi</a>.",
"Create an <strong>admin account</strong>" : "Buat sebuah <strong>akun admin</strong>",
@@ -191,7 +189,6 @@ OC.L10N.register(
"Database host" : "Host basis data",
"Finish setup" : "Selesaikan instalasi",
"Finishing …" : "Menyelesaikan ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Aplikasi ini memerlukan JavaScript untuk beroperasi dengan benar. Mohon <a href=\"http://enable-javascript.com/\" target=\"_blank\">aktifkan JavaScript</a> dan muat ulang halaman.",
"%s is available. Get more information on how to update." : "%s tersedia. Dapatkan informasi lebih lanjut tentang cara memperbarui.",
"Log out" : "Keluar",
"Search" : "Cari",
diff --git a/core/l10n/id.json b/core/l10n/id.json
index 635915f3936..0eb62928aac 100644
--- a/core/l10n/id.json
+++ b/core/l10n/id.json
@@ -172,8 +172,6 @@
"Line: %s" : "Baris: %s",
"Trace" : "Jejak",
"Security Warning" : "Peringatan Keamanan",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Versi PHP Anda rentan terhadap serangan NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Silakan perbarui instalasi PHP anda untuk menggunakan %s dengan aman.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Kemungkinan direktori data dan berkas anda dapat diakses dari internet karena berkas .htaccess tidak berfungsi.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Untuk informasi cara mengkonfigurasi server anda dengan benar, silakan lihat <a href=\"%s\" target=\"_blank\">dokumentasi</a>.",
"Create an <strong>admin account</strong>" : "Buat sebuah <strong>akun admin</strong>",
@@ -189,7 +187,6 @@
"Database host" : "Host basis data",
"Finish setup" : "Selesaikan instalasi",
"Finishing …" : "Menyelesaikan ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Aplikasi ini memerlukan JavaScript untuk beroperasi dengan benar. Mohon <a href=\"http://enable-javascript.com/\" target=\"_blank\">aktifkan JavaScript</a> dan muat ulang halaman.",
"%s is available. Get more information on how to update." : "%s tersedia. Dapatkan informasi lebih lanjut tentang cara memperbarui.",
"Log out" : "Keluar",
"Search" : "Cari",
diff --git a/core/l10n/it.js b/core/l10n/it.js
index e93105695da..f41cea18d85 100644
--- a/core/l10n/it.js
+++ b/core/l10n/it.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Riga: %s",
"Trace" : "Traccia",
"Security Warning" : "Avviso di sicurezza",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "La tua versione di PHP è vulnerabile all'attacco NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Aggiorna la tua installazione di PHP per utilizzare %s in sicurezza.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "La cartella dei dati e i file sono probabilmente accessibili da Internet poiché il file .htaccess non funziona.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Per informazioni su come configurare correttamente il tuo server, vedi la <a href=\"%s\" target=\"_blank\">documentazione</a>.",
"Create an <strong>admin account</strong>" : "Crea un <strong>account amministratore</strong>",
@@ -195,7 +193,7 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "In particolar modo, quando si utilizza il client desktop per la sincronizzazione dei file, l'uso di SQLite è sconsigliato.",
"Finish setup" : "Termina configurazione",
"Finishing …" : "Completamento...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Questa applicazione richiede JavaScript per un corretto funzionamento. <a href=\"http://enable-javascript.com/\" target=\"_blank\">Abilita JavaScript</a> e ricarica questa pagina.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Questa applicazione richiede JavaScript per un corretto funzionamento. {linkstart}Abilita JavaScript{linkend} e ricarica la pagina.",
"%s is available. Get more information on how to update." : "%s è disponibile. Ottieni ulteriori informazioni sull'aggiornamento.",
"Log out" : "Esci",
"Search" : "Cerca",
diff --git a/core/l10n/it.json b/core/l10n/it.json
index a08ae280f34..35313f952f5 100644
--- a/core/l10n/it.json
+++ b/core/l10n/it.json
@@ -172,8 +172,6 @@
"Line: %s" : "Riga: %s",
"Trace" : "Traccia",
"Security Warning" : "Avviso di sicurezza",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "La tua versione di PHP è vulnerabile all'attacco NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Aggiorna la tua installazione di PHP per utilizzare %s in sicurezza.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "La cartella dei dati e i file sono probabilmente accessibili da Internet poiché il file .htaccess non funziona.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Per informazioni su come configurare correttamente il tuo server, vedi la <a href=\"%s\" target=\"_blank\">documentazione</a>.",
"Create an <strong>admin account</strong>" : "Crea un <strong>account amministratore</strong>",
@@ -193,7 +191,7 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "In particolar modo, quando si utilizza il client desktop per la sincronizzazione dei file, l'uso di SQLite è sconsigliato.",
"Finish setup" : "Termina configurazione",
"Finishing …" : "Completamento...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Questa applicazione richiede JavaScript per un corretto funzionamento. <a href=\"http://enable-javascript.com/\" target=\"_blank\">Abilita JavaScript</a> e ricarica questa pagina.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Questa applicazione richiede JavaScript per un corretto funzionamento. {linkstart}Abilita JavaScript{linkend} e ricarica la pagina.",
"%s is available. Get more information on how to update." : "%s è disponibile. Ottieni ulteriori informazioni sull'aggiornamento.",
"Log out" : "Esci",
"Search" : "Cerca",
diff --git a/core/l10n/ja.js b/core/l10n/ja.js
index caad1b3b675..5ea893132f7 100644
--- a/core/l10n/ja.js
+++ b/core/l10n/ja.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "行: %s",
"Trace" : "トレース",
"Security Warning" : "セキュリティ警告",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "あなたのPHPのバージョンには、Null Byte攻撃(CVE-2006-7243)という脆弱性が含まれています。",
- "Please update your PHP installation to use %s securely." : "%s を安全に利用するため、インストールされているPHPをアップデートしてください。",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : ".htaccessファイルが動作していないため、おそらくあなたのデータディレクトリまたはファイルはインターネットからアクセス可能になっています。",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "サーバーを適正に設定する情報は、こちらの<a href=\"%s\" target=\"_blank\">ドキュメント</a>を参照してください。",
"Create an <strong>admin account</strong>" : "<strong>管理者アカウント</strong>を作成してください",
@@ -191,9 +189,11 @@ OC.L10N.register(
"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 …" : "作業を完了しています ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "このアプリケーションは使用するため、JavaScriptが必要です。\n<a href=\"http://enable-javascript.com/\" target=\"_blank\">JavaScriptを有効にし</a>、ページを更新してください。 ",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "このアプリケーションの動作にはJavaScriptが必要です。\n {linkstart}JavaScriptを有効にし{linkend} 、ページを更新してください。 ",
"%s is available. Get more information on how to update." : "%s が利用可能です。アップデート方法について詳細情報を確認してください。",
"Log out" : "ログアウト",
"Search" : "検索",
diff --git a/core/l10n/ja.json b/core/l10n/ja.json
index aeebdb903b0..223e2d6a073 100644
--- a/core/l10n/ja.json
+++ b/core/l10n/ja.json
@@ -172,8 +172,6 @@
"Line: %s" : "行: %s",
"Trace" : "トレース",
"Security Warning" : "セキュリティ警告",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "あなたのPHPのバージョンには、Null Byte攻撃(CVE-2006-7243)という脆弱性が含まれています。",
- "Please update your PHP installation to use %s securely." : "%s を安全に利用するため、インストールされているPHPをアップデートしてください。",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : ".htaccessファイルが動作していないため、おそらくあなたのデータディレクトリまたはファイルはインターネットからアクセス可能になっています。",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "サーバーを適正に設定する情報は、こちらの<a href=\"%s\" target=\"_blank\">ドキュメント</a>を参照してください。",
"Create an <strong>admin account</strong>" : "<strong>管理者アカウント</strong>を作成してください",
@@ -189,9 +187,11 @@
"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 …" : "作業を完了しています ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "このアプリケーションは使用するため、JavaScriptが必要です。\n<a href=\"http://enable-javascript.com/\" target=\"_blank\">JavaScriptを有効にし</a>、ページを更新してください。 ",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "このアプリケーションの動作にはJavaScriptが必要です。\n {linkstart}JavaScriptを有効にし{linkend} 、ページを更新してください。 ",
"%s is available. Get more information on how to update." : "%s が利用可能です。アップデート方法について詳細情報を確認してください。",
"Log out" : "ログアウト",
"Search" : "検索",
diff --git a/core/l10n/ka_GE.js b/core/l10n/ka_GE.js
index 92e3425856a..4c27f011630 100644
--- a/core/l10n/ka_GE.js
+++ b/core/l10n/ka_GE.js
@@ -75,7 +75,6 @@ OC.L10N.register(
"Help" : "დახმარება",
"Access forbidden" : "წვდომა აკრძალულია",
"Security Warning" : "უსაფრთხოების გაფრთხილება",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "თქვენი PHP ვერსია შეიცავს საფრთხეს NULL Byte შეტევებისთვის (CVE-2006-7243)",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "თქვენი data დირექტორია და ფაილები დაშვებადია ინტერნეტში რადგან .htaccess ფაილი არ მუშაობს.",
"Create an <strong>admin account</strong>" : "შექმენი <strong>ადმინ ექაუნტი</strong>",
"Username" : "მომხმარებლის სახელი",
diff --git a/core/l10n/ka_GE.json b/core/l10n/ka_GE.json
index 2da3215e226..00d30a7eb47 100644
--- a/core/l10n/ka_GE.json
+++ b/core/l10n/ka_GE.json
@@ -73,7 +73,6 @@
"Help" : "დახმარება",
"Access forbidden" : "წვდომა აკრძალულია",
"Security Warning" : "უსაფრთხოების გაფრთხილება",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "თქვენი PHP ვერსია შეიცავს საფრთხეს NULL Byte შეტევებისთვის (CVE-2006-7243)",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "თქვენი data დირექტორია და ფაილები დაშვებადია ინტერნეტში რადგან .htaccess ფაილი არ მუშაობს.",
"Create an <strong>admin account</strong>" : "შექმენი <strong>ადმინ ექაუნტი</strong>",
"Username" : "მომხმარებლის სახელი",
diff --git a/core/l10n/ko.js b/core/l10n/ko.js
index a9e0ec7d931..c46252a1d0d 100644
--- a/core/l10n/ko.js
+++ b/core/l10n/ko.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "줄: %s",
"Trace" : "추적",
"Security Warning" : "보안 경고",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "사용 중인 PHP 버전이 NULL 바이트 공격에 취약합니다 (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "%s의 보안을 위하여 PHP 버전을 업데이트하십시오.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : ".htaccess 파일이 처리되지 않아서 데이터 디렉터리와 파일을 인터넷에서 접근할 수 없을 수도 있습니다.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "올바른 서버 설정을 위한 정보는 <a href=\"%s\" target=\"_blank\">문서</a>를 참조하십시오.",
"Create an <strong>admin account</strong>" : "<strong>관리자 계정</strong> 만들기",
@@ -195,7 +193,6 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "특히 파일 동기화를 위해 데스크톱 클라이언트를 사용할 예정일 때는, SQLite를 사용하지 않는 것이 좋습니다.",
"Finish setup" : "설치 완료",
"Finishing …" : "완료 중 ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "이 앱이 올바르게 작동하려면 JavaScript가 필요합니다. <a href=\"http://enable-javascript.com/\" target=\"_blank\">JavaScript를 활성화</a>한 다음 페이지를 새로 고치십시오.",
"%s is available. Get more information on how to update." : "%s을(를) 사용할 수 있습니다. 업데이트하는 방법에 대해서 자세한 정보를 얻으십시오.",
"Log out" : "로그아웃",
"Search" : "검색",
diff --git a/core/l10n/ko.json b/core/l10n/ko.json
index ab492825bbc..553f26bf2d3 100644
--- a/core/l10n/ko.json
+++ b/core/l10n/ko.json
@@ -172,8 +172,6 @@
"Line: %s" : "줄: %s",
"Trace" : "추적",
"Security Warning" : "보안 경고",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "사용 중인 PHP 버전이 NULL 바이트 공격에 취약합니다 (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "%s의 보안을 위하여 PHP 버전을 업데이트하십시오.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : ".htaccess 파일이 처리되지 않아서 데이터 디렉터리와 파일을 인터넷에서 접근할 수 없을 수도 있습니다.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "올바른 서버 설정을 위한 정보는 <a href=\"%s\" target=\"_blank\">문서</a>를 참조하십시오.",
"Create an <strong>admin account</strong>" : "<strong>관리자 계정</strong> 만들기",
@@ -193,7 +191,6 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "특히 파일 동기화를 위해 데스크톱 클라이언트를 사용할 예정일 때는, SQLite를 사용하지 않는 것이 좋습니다.",
"Finish setup" : "설치 완료",
"Finishing …" : "완료 중 ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "이 앱이 올바르게 작동하려면 JavaScript가 필요합니다. <a href=\"http://enable-javascript.com/\" target=\"_blank\">JavaScript를 활성화</a>한 다음 페이지를 새로 고치십시오.",
"%s is available. Get more information on how to update." : "%s을(를) 사용할 수 있습니다. 업데이트하는 방법에 대해서 자세한 정보를 얻으십시오.",
"Log out" : "로그아웃",
"Search" : "검색",
diff --git a/core/l10n/lb.js b/core/l10n/lb.js
index 6c3ea2083b4..8f16e887a2a 100644
--- a/core/l10n/lb.js
+++ b/core/l10n/lb.js
@@ -91,8 +91,6 @@ OC.L10N.register(
"Access forbidden" : "Zougrëff net erlaabt",
"Cheers!" : "Prost!",
"Security Warning" : "Sécherheets-Warnung",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Deng PHP-Versioun ass verwonnbar duerch d'NULL-Byte-Attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Aktualiséier w.e.gl deng PHP-Installatioun fir %s sécher kennen ze benotzen.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Däin Daten-Dossier an deng Fichieren si wahrscheinlech iwwert den Internet accessibel well den .htaccess-Fichier net funktionnéiert.",
"Create an <strong>admin account</strong>" : "En <strong>Admin-Account</strong> uleeën",
"Username" : "Benotzernumm",
diff --git a/core/l10n/lb.json b/core/l10n/lb.json
index c69f7d3f815..992527aaed9 100644
--- a/core/l10n/lb.json
+++ b/core/l10n/lb.json
@@ -89,8 +89,6 @@
"Access forbidden" : "Zougrëff net erlaabt",
"Cheers!" : "Prost!",
"Security Warning" : "Sécherheets-Warnung",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Deng PHP-Versioun ass verwonnbar duerch d'NULL-Byte-Attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Aktualiséier w.e.gl deng PHP-Installatioun fir %s sécher kennen ze benotzen.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Däin Daten-Dossier an deng Fichieren si wahrscheinlech iwwert den Internet accessibel well den .htaccess-Fichier net funktionnéiert.",
"Create an <strong>admin account</strong>" : "En <strong>Admin-Account</strong> uleeën",
"Username" : "Benotzernumm",
diff --git a/core/l10n/lt_LT.js b/core/l10n/lt_LT.js
index 839e25c61d0..55dfa72f51d 100644
--- a/core/l10n/lt_LT.js
+++ b/core/l10n/lt_LT.js
@@ -114,8 +114,6 @@ OC.L10N.register(
"The share will expire on %s." : "Bendrinimo laikas baigsis %s.",
"Cheers!" : "Sveikinimai!",
"Security Warning" : "Saugumo pranešimas",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Jūsų PHP versija yra pažeidžiama prieš NULL Byte ataką (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Prašome atnaujinti savo PHP, kad saugiai naudoti %s.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Jūsų failai yra tikriausiai prieinami per internetą nes .htaccess failas neveikia.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Kad gauti informaciją apie tai kaip tinkamai sukonfigūruoti savo serverį, prašome skaityti <a href=\"%s\" target=\"_blank\">dokumentaciją</a>.",
"Create an <strong>admin account</strong>" : "Sukurti <strong>administratoriaus paskyrą</strong>",
diff --git a/core/l10n/lt_LT.json b/core/l10n/lt_LT.json
index 45d54e1379d..de56da200e6 100644
--- a/core/l10n/lt_LT.json
+++ b/core/l10n/lt_LT.json
@@ -112,8 +112,6 @@
"The share will expire on %s." : "Bendrinimo laikas baigsis %s.",
"Cheers!" : "Sveikinimai!",
"Security Warning" : "Saugumo pranešimas",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Jūsų PHP versija yra pažeidžiama prieš NULL Byte ataką (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Prašome atnaujinti savo PHP, kad saugiai naudoti %s.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Jūsų failai yra tikriausiai prieinami per internetą nes .htaccess failas neveikia.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Kad gauti informaciją apie tai kaip tinkamai sukonfigūruoti savo serverį, prašome skaityti <a href=\"%s\" target=\"_blank\">dokumentaciją</a>.",
"Create an <strong>admin account</strong>" : "Sukurti <strong>administratoriaus paskyrą</strong>",
diff --git a/core/l10n/lv.js b/core/l10n/lv.js
index e8d01eaaa1b..dcd8a99a56c 100644
--- a/core/l10n/lv.js
+++ b/core/l10n/lv.js
@@ -93,8 +93,6 @@ OC.L10N.register(
"Help" : "Palīdzība",
"Access forbidden" : "Pieeja ir liegta",
"Security Warning" : "Brīdinājums par drošību",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Jūsu PHP ir ievainojamība pret NULL Byte uzbrukumiem (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Lūdzu atjauniniet PHP instalāciju lai varētu droši izmantot %s.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Visticamāk, jūsu datu direktorija un datnes ir pieejamas no interneta, jo .htaccess datne nedarbojas.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Vairāk informācijai kā konfigurēt serveri, lūdzu skatiet <a href=\"%s\" target=\"_blank\">dokumentāciju</a>.",
"Create an <strong>admin account</strong>" : "Izveidot <strong>administratora kontu</strong>",
diff --git a/core/l10n/lv.json b/core/l10n/lv.json
index c342fba3394..cea9133b3d2 100644
--- a/core/l10n/lv.json
+++ b/core/l10n/lv.json
@@ -91,8 +91,6 @@
"Help" : "Palīdzība",
"Access forbidden" : "Pieeja ir liegta",
"Security Warning" : "Brīdinājums par drošību",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Jūsu PHP ir ievainojamība pret NULL Byte uzbrukumiem (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Lūdzu atjauniniet PHP instalāciju lai varētu droši izmantot %s.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Visticamāk, jūsu datu direktorija un datnes ir pieejamas no interneta, jo .htaccess datne nedarbojas.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Vairāk informācijai kā konfigurēt serveri, lūdzu skatiet <a href=\"%s\" target=\"_blank\">dokumentāciju</a>.",
"Create an <strong>admin account</strong>" : "Izveidot <strong>administratora kontu</strong>",
diff --git a/core/l10n/mk.js b/core/l10n/mk.js
index 255375cff58..9a1030687c2 100644
--- a/core/l10n/mk.js
+++ b/core/l10n/mk.js
@@ -103,7 +103,6 @@ OC.L10N.register(
"Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Здраво,\n\nСамо да ве известам дека %s shared %s with you.\nView it: %s\n\n",
"Cheers!" : "Поздрав!",
"Security Warning" : "Безбедносно предупредување",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Вашата верзија на PHP е ранлива на NULL Byte attack (CVE-2006-7243)",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Вашиот директориум со податоци и датотеки се веројатно достапни преку интенернт поради што .htaccess датотеката не функционира.",
"Create an <strong>admin account</strong>" : "Направете <strong>администраторска сметка</strong>",
"Username" : "Корисничко име",
diff --git a/core/l10n/mk.json b/core/l10n/mk.json
index 5ae4630d181..3b56bd99cd8 100644
--- a/core/l10n/mk.json
+++ b/core/l10n/mk.json
@@ -101,7 +101,6 @@
"Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Здраво,\n\nСамо да ве известам дека %s shared %s with you.\nView it: %s\n\n",
"Cheers!" : "Поздрав!",
"Security Warning" : "Безбедносно предупредување",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Вашата верзија на PHP е ранлива на NULL Byte attack (CVE-2006-7243)",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Вашиот директориум со податоци и датотеки се веројатно достапни преку интенернт поради што .htaccess датотеката не функционира.",
"Create an <strong>admin account</strong>" : "Направете <strong>администраторска сметка</strong>",
"Username" : "Корисничко име",
diff --git a/core/l10n/ml_IN.js b/core/l10n/ml_IN.js
index 4cb36aaaaac..1830c8d7f5c 100644
--- a/core/l10n/ml_IN.js
+++ b/core/l10n/ml_IN.js
@@ -1,6 +1,7 @@
OC.L10N.register(
"core",
{
+ "Ok" : "ശരി ",
"_{count} file conflict_::_{count} file conflicts_" : ["",""],
"_download %n file_::_download %n files_" : ["",""],
"_{count} search result in other places_::_{count} search results in other places_" : ["",""]
diff --git a/core/l10n/ml_IN.json b/core/l10n/ml_IN.json
index 43fce52c5cf..2bfe4dc8e76 100644
--- a/core/l10n/ml_IN.json
+++ b/core/l10n/ml_IN.json
@@ -1,4 +1,5 @@
{ "translations": {
+ "Ok" : "ശരി ",
"_{count} file conflict_::_{count} file conflicts_" : ["",""],
"_download %n file_::_download %n files_" : ["",""],
"_{count} search result in other places_::_{count} search results in other places_" : ["",""]
diff --git a/core/l10n/mr.js b/core/l10n/mr.js
new file mode 100644
index 00000000000..4cb36aaaaac
--- /dev/null
+++ b/core/l10n/mr.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "core",
+ {
+ "_{count} file conflict_::_{count} file conflicts_" : ["",""],
+ "_download %n file_::_download %n files_" : ["",""],
+ "_{count} search result in other places_::_{count} search results in other places_" : ["",""]
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/mr.json b/core/l10n/mr.json
new file mode 100644
index 00000000000..43fce52c5cf
--- /dev/null
+++ b/core/l10n/mr.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "_{count} file conflict_::_{count} file conflicts_" : ["",""],
+ "_download %n file_::_download %n files_" : ["",""],
+ "_{count} search result in other places_::_{count} search results in other places_" : ["",""]
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/core/l10n/nb_NO.js b/core/l10n/nb_NO.js
index 376b2311eb8..c57e7649006 100644
--- a/core/l10n/nb_NO.js
+++ b/core/l10n/nb_NO.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Linje: %s",
"Trace" : "Trace",
"Security Warning" : "Sikkerhetsadvarsel",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "PHP-versjonen din er sårbar for NULL Byte attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Vennligst oppdater PHP-installasjonen din for å bruke %s på en sikker måte.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Datamappen og filene dine er sannsynligvis tilgjengelig fra Internett fordi .htaccess-filen ikke fungerer.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "For informasjon om hvordan du setter opp serveren din riktig, se <a href=\"%s\" target=\"_blank\">dokumentasjonen</a>.",
"Create an <strong>admin account</strong>" : "Opprett en <strong>administrator-konto</strong>",
@@ -195,7 +193,6 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "SQLite er spesielt frarådet om man bruker desktopklienten til filsynkronisering",
"Finish setup" : "Fullfør oppsetting",
"Finishing …" : "Ferdigstiller ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Denne applikasjonen krever JavaScript for å fungere korrekt. Vennligst <a href=\"http://enable-javascript.com/\" target=\"_blank\">aktiver JavaScript</a> og last siden på nytt.",
"%s is available. Get more information on how to update." : "%s er tilgjengelig. Få mer informasjon om hvordan du kan oppdatere.",
"Log out" : "Logg ut",
"Search" : "Søk",
diff --git a/core/l10n/nb_NO.json b/core/l10n/nb_NO.json
index a6e65541f40..967f5592f39 100644
--- a/core/l10n/nb_NO.json
+++ b/core/l10n/nb_NO.json
@@ -172,8 +172,6 @@
"Line: %s" : "Linje: %s",
"Trace" : "Trace",
"Security Warning" : "Sikkerhetsadvarsel",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "PHP-versjonen din er sårbar for NULL Byte attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Vennligst oppdater PHP-installasjonen din for å bruke %s på en sikker måte.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Datamappen og filene dine er sannsynligvis tilgjengelig fra Internett fordi .htaccess-filen ikke fungerer.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "For informasjon om hvordan du setter opp serveren din riktig, se <a href=\"%s\" target=\"_blank\">dokumentasjonen</a>.",
"Create an <strong>admin account</strong>" : "Opprett en <strong>administrator-konto</strong>",
@@ -193,7 +191,6 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "SQLite er spesielt frarådet om man bruker desktopklienten til filsynkronisering",
"Finish setup" : "Fullfør oppsetting",
"Finishing …" : "Ferdigstiller ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Denne applikasjonen krever JavaScript for å fungere korrekt. Vennligst <a href=\"http://enable-javascript.com/\" target=\"_blank\">aktiver JavaScript</a> og last siden på nytt.",
"%s is available. Get more information on how to update." : "%s er tilgjengelig. Få mer informasjon om hvordan du kan oppdatere.",
"Log out" : "Logg ut",
"Search" : "Søk",
diff --git a/core/l10n/nl.js b/core/l10n/nl.js
index 23e27c0def8..55f59638b57 100644
--- a/core/l10n/nl.js
+++ b/core/l10n/nl.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Regel: %s",
"Trace" : "Trace",
"Security Warning" : "Beveiligingswaarschuwing",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Uw PHP-versie is kwetsbaar voor de NULL byte aanval (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Werk uw PHP installatie bij om %s veilig te kunnen gebruiken.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Uw gegevensdirectory en bestanden zijn vermoedelijk bereikbaar vanaf het internet omdat het .htaccess-bestand niet functioneert.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Bekijk de <a href=\"%s\" target=\"_blank\">documentatie</a> voor Informatie over het correct configureren van uw server.",
"Create an <strong>admin account</strong>" : "Maak een <strong>beheerdersaccount</strong> aan",
@@ -195,7 +193,6 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Vooral wanneer de desktop client wordt gebruik voor bestandssynchronisatie wordt gebruik van sqlite afgeraden.",
"Finish setup" : "Installatie afronden",
"Finishing …" : "Afronden ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Deze applicatie heeft JavaScript nodig. <a href=\"http://enable-javascript.com/\" target=\"_blank\">Activeer JavaScript</a> en herlaad deze interface.",
"%s is available. Get more information on how to update." : "%s is beschikbaar. Verkrijg meer informatie over het bijwerken.",
"Log out" : "Afmelden",
"Search" : "Zoeken",
diff --git a/core/l10n/nl.json b/core/l10n/nl.json
index 67d947bac55..1474c6cbf97 100644
--- a/core/l10n/nl.json
+++ b/core/l10n/nl.json
@@ -172,8 +172,6 @@
"Line: %s" : "Regel: %s",
"Trace" : "Trace",
"Security Warning" : "Beveiligingswaarschuwing",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Uw PHP-versie is kwetsbaar voor de NULL byte aanval (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Werk uw PHP installatie bij om %s veilig te kunnen gebruiken.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Uw gegevensdirectory en bestanden zijn vermoedelijk bereikbaar vanaf het internet omdat het .htaccess-bestand niet functioneert.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Bekijk de <a href=\"%s\" target=\"_blank\">documentatie</a> voor Informatie over het correct configureren van uw server.",
"Create an <strong>admin account</strong>" : "Maak een <strong>beheerdersaccount</strong> aan",
@@ -193,7 +191,6 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Vooral wanneer de desktop client wordt gebruik voor bestandssynchronisatie wordt gebruik van sqlite afgeraden.",
"Finish setup" : "Installatie afronden",
"Finishing …" : "Afronden ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Deze applicatie heeft JavaScript nodig. <a href=\"http://enable-javascript.com/\" target=\"_blank\">Activeer JavaScript</a> en herlaad deze interface.",
"%s is available. Get more information on how to update." : "%s is beschikbaar. Verkrijg meer informatie over het bijwerken.",
"Log out" : "Afmelden",
"Search" : "Zoeken",
diff --git a/core/l10n/nn_NO.js b/core/l10n/nn_NO.js
index bf77c92b016..7cbb3e075f3 100644
--- a/core/l10n/nn_NO.js
+++ b/core/l10n/nn_NO.js
@@ -100,8 +100,6 @@ OC.L10N.register(
"Help" : "Hjelp",
"Access forbidden" : "Tilgang forbudt",
"Security Warning" : "Tryggleiksåtvaring",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "PHP-utgåva di er sårbar for NULL-byteåtaket (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Ver venleg og oppdater PHP-installasjonen din til å brukar %s trygt.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Datamappa og filene dine er sannsynlegvis tilgjengelege frå Internett sidan .htaccess-fila ikkje fungerer.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Ver venleg og les <a href=\"%s\" target=\"_blank\">dokumentasjonen</a> for meir informasjon om korleis du konfigurerer tenaren din.",
"Create an <strong>admin account</strong>" : "Lag ein <strong>admin-konto</strong>",
diff --git a/core/l10n/nn_NO.json b/core/l10n/nn_NO.json
index ce08b1c4d2e..a848a47114e 100644
--- a/core/l10n/nn_NO.json
+++ b/core/l10n/nn_NO.json
@@ -98,8 +98,6 @@
"Help" : "Hjelp",
"Access forbidden" : "Tilgang forbudt",
"Security Warning" : "Tryggleiksåtvaring",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "PHP-utgåva di er sårbar for NULL-byteåtaket (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Ver venleg og oppdater PHP-installasjonen din til å brukar %s trygt.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Datamappa og filene dine er sannsynlegvis tilgjengelege frå Internett sidan .htaccess-fila ikkje fungerer.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Ver venleg og les <a href=\"%s\" target=\"_blank\">dokumentasjonen</a> for meir informasjon om korleis du konfigurerer tenaren din.",
"Create an <strong>admin account</strong>" : "Lag ein <strong>admin-konto</strong>",
diff --git a/core/l10n/pl.js b/core/l10n/pl.js
index 43e72d8d8a2..1509576ae7f 100644
--- a/core/l10n/pl.js
+++ b/core/l10n/pl.js
@@ -133,6 +133,8 @@ OC.L10N.register(
"New password" : "Nowe hasło",
"New Password" : "Nowe hasło",
"Reset password" : "Zresetuj hasło",
+ "Searching other places" : "Przeszukaj inne miejsca",
+ "No search result in other places" : "Brak wyników wyszukiwania w innych miejscach",
"_{count} search result in other places_::_{count} search results in other places_" : ["","",""],
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nie jest wspierany i %s nie będzie działać poprawnie na tej platformie. Używasz na własne ryzyko!",
"For the best results, please consider using a GNU/Linux server instead." : "Aby uzyskać najlepsze rezultaty, rozważ w to miejsce użycie serwera GNU/Linux.",
@@ -169,8 +171,6 @@ OC.L10N.register(
"Line: %s" : "Linia: %s",
"Trace" : "Ślad",
"Security Warning" : "Ostrzeżenie o zabezpieczeniach",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Twója wersja PHP jest narażona na NULL Byte attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Proszę uaktualnij swoją instalacje PHP aby używać %s bezpiecznie.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Twój katalog danych i pliki są prawdopodobnie dostępne z poziomu internetu, ponieważ plik .htaccess nie działa.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Aby uzyskać informacje jak poprawnie skonfigurować swój serwer, zapoznaj się z <a href=\"%s\" target=\"_blank\">dokumentacją</a>.",
"Create an <strong>admin account</strong>" : "Utwórz <strong>konta administratora</strong>",
@@ -186,7 +186,6 @@ OC.L10N.register(
"Database host" : "Komputer bazy danych",
"Finish setup" : "Zakończ konfigurowanie",
"Finishing …" : "Kończę ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Ta aplikacja wymaga JavaScript do poprawnego działania. Proszę <a href=\"http://enable-javascript.com/\" target=\"_blank\">włącz JavaScript</a> i przeładuj stronę.",
"%s is available. Get more information on how to update." : "%s jest dostępna. Dowiedz się więcej na temat aktualizacji.",
"Log out" : "Wyloguj",
"Search" : "Wyszukaj",
diff --git a/core/l10n/pl.json b/core/l10n/pl.json
index 06426c7c484..46dc56ea500 100644
--- a/core/l10n/pl.json
+++ b/core/l10n/pl.json
@@ -131,6 +131,8 @@
"New password" : "Nowe hasło",
"New Password" : "Nowe hasło",
"Reset password" : "Zresetuj hasło",
+ "Searching other places" : "Przeszukaj inne miejsca",
+ "No search result in other places" : "Brak wyników wyszukiwania w innych miejscach",
"_{count} search result in other places_::_{count} search results in other places_" : ["","",""],
"Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X nie jest wspierany i %s nie będzie działać poprawnie na tej platformie. Używasz na własne ryzyko!",
"For the best results, please consider using a GNU/Linux server instead." : "Aby uzyskać najlepsze rezultaty, rozważ w to miejsce użycie serwera GNU/Linux.",
@@ -167,8 +169,6 @@
"Line: %s" : "Linia: %s",
"Trace" : "Ślad",
"Security Warning" : "Ostrzeżenie o zabezpieczeniach",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Twója wersja PHP jest narażona na NULL Byte attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Proszę uaktualnij swoją instalacje PHP aby używać %s bezpiecznie.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Twój katalog danych i pliki są prawdopodobnie dostępne z poziomu internetu, ponieważ plik .htaccess nie działa.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Aby uzyskać informacje jak poprawnie skonfigurować swój serwer, zapoznaj się z <a href=\"%s\" target=\"_blank\">dokumentacją</a>.",
"Create an <strong>admin account</strong>" : "Utwórz <strong>konta administratora</strong>",
@@ -184,7 +184,6 @@
"Database host" : "Komputer bazy danych",
"Finish setup" : "Zakończ konfigurowanie",
"Finishing …" : "Kończę ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Ta aplikacja wymaga JavaScript do poprawnego działania. Proszę <a href=\"http://enable-javascript.com/\" target=\"_blank\">włącz JavaScript</a> i przeładuj stronę.",
"%s is available. Get more information on how to update." : "%s jest dostępna. Dowiedz się więcej na temat aktualizacji.",
"Log out" : "Wyloguj",
"Search" : "Wyszukaj",
diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js
index 01c2d2b3694..77bd8f5ff5a 100644
--- a/core/l10n/pt_BR.js
+++ b/core/l10n/pt_BR.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Linha: %s",
"Trace" : "Rastreamento",
"Security Warning" : "Aviso de Segurança",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Sua versão do PHP está vulnerável ao ataque NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Por favor, atualize sua instalação PHP para usar %s segurança.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Seu diretório de dados e arquivos são provavelmente acessíveis pela internet, porque o .htaccess não funciona.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Para obter informações sobre como configurar corretamente o seu servidor, consulte a <a href=\"%s\" target=\"_blank\">documentação</a>.",
"Create an <strong>admin account</strong>" : "Criar uma <strong>conta de administrador</strong>",
@@ -195,7 +193,6 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especialmente quando se utiliza o cliente de desktop para sincronização de arquivos o uso de SQLite é desencorajado.",
"Finish setup" : "Concluir configuração",
"Finishing …" : "Finalizando ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Esta aplicação requer JavaScript para sua correta operação. Por favor <a href=\"http://enable-javascript.com/\" target=\"_blank\">habilite JavaScript</a> e recerregue a página.",
"%s is available. Get more information on how to update." : "%s está disponível. Obtenha mais informações sobre como atualizar.",
"Log out" : "Sair",
"Search" : "Perquisar",
diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json
index 50bffab3a0c..3b072466e01 100644
--- a/core/l10n/pt_BR.json
+++ b/core/l10n/pt_BR.json
@@ -172,8 +172,6 @@
"Line: %s" : "Linha: %s",
"Trace" : "Rastreamento",
"Security Warning" : "Aviso de Segurança",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Sua versão do PHP está vulnerável ao ataque NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Por favor, atualize sua instalação PHP para usar %s segurança.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Seu diretório de dados e arquivos são provavelmente acessíveis pela internet, porque o .htaccess não funciona.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Para obter informações sobre como configurar corretamente o seu servidor, consulte a <a href=\"%s\" target=\"_blank\">documentação</a>.",
"Create an <strong>admin account</strong>" : "Criar uma <strong>conta de administrador</strong>",
@@ -193,7 +191,6 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especialmente quando se utiliza o cliente de desktop para sincronização de arquivos o uso de SQLite é desencorajado.",
"Finish setup" : "Concluir configuração",
"Finishing …" : "Finalizando ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Esta aplicação requer JavaScript para sua correta operação. Por favor <a href=\"http://enable-javascript.com/\" target=\"_blank\">habilite JavaScript</a> e recerregue a página.",
"%s is available. Get more information on how to update." : "%s está disponível. Obtenha mais informações sobre como atualizar.",
"Log out" : "Sair",
"Search" : "Perquisar",
diff --git a/core/l10n/pt_PT.js b/core/l10n/pt_PT.js
index 80864aba78d..3503334d7b0 100644
--- a/core/l10n/pt_PT.js
+++ b/core/l10n/pt_PT.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Linha: %s",
"Trace" : "Rasto",
"Security Warning" : "Aviso de Segurança",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "A sua versão do PHP é vulnerável ao ataque Byte Null (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Por favor atualize a sua versão PHP instalada para usar o %s com segurança.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "A pasta de dados do ownCloud e os respectivos ficheiros, estarão provavelmente acessíveis a partir da internet, pois o ficheiros .htaccess não funciona.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Para obter informações de como configurar correctamente o servidor, veja em: <a href=\"%s\" target=\"_blank\">documentação</a>.",
"Create an <strong>admin account</strong>" : "Criar uma <strong>conta administrativa</strong>",
@@ -195,7 +193,6 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "O uso de SQLite é desencorajado especialmente se estiver a pensar em dar uso ao cliente desktop para sincronizar os seus ficheiros no seu computador.",
"Finish setup" : "Terminar consiguração",
"Finishing …" : "A terminar...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Esta aplicação requer JavaScript para functionar correctamente. Por favor <a href=\"http://enable-javascript.com/\" target=\"_blank\">active o JavaScript</a> e recarregue a página.",
"%s is available. Get more information on how to update." : "%s está disponível. Tenha mais informações como actualizar.",
"Log out" : "Terminar sessão",
"Search" : "Procurar",
diff --git a/core/l10n/pt_PT.json b/core/l10n/pt_PT.json
index 4f5fdfaa0fc..755cdfecea6 100644
--- a/core/l10n/pt_PT.json
+++ b/core/l10n/pt_PT.json
@@ -172,8 +172,6 @@
"Line: %s" : "Linha: %s",
"Trace" : "Rasto",
"Security Warning" : "Aviso de Segurança",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "A sua versão do PHP é vulnerável ao ataque Byte Null (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Por favor atualize a sua versão PHP instalada para usar o %s com segurança.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "A pasta de dados do ownCloud e os respectivos ficheiros, estarão provavelmente acessíveis a partir da internet, pois o ficheiros .htaccess não funciona.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Para obter informações de como configurar correctamente o servidor, veja em: <a href=\"%s\" target=\"_blank\">documentação</a>.",
"Create an <strong>admin account</strong>" : "Criar uma <strong>conta administrativa</strong>",
@@ -193,7 +191,6 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "O uso de SQLite é desencorajado especialmente se estiver a pensar em dar uso ao cliente desktop para sincronizar os seus ficheiros no seu computador.",
"Finish setup" : "Terminar consiguração",
"Finishing …" : "A terminar...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Esta aplicação requer JavaScript para functionar correctamente. Por favor <a href=\"http://enable-javascript.com/\" target=\"_blank\">active o JavaScript</a> e recarregue a página.",
"%s is available. Get more information on how to update." : "%s está disponível. Tenha mais informações como actualizar.",
"Log out" : "Terminar sessão",
"Search" : "Procurar",
diff --git a/core/l10n/ro.js b/core/l10n/ro.js
index 70a94fc967c..1ad37378518 100644
--- a/core/l10n/ro.js
+++ b/core/l10n/ro.js
@@ -111,8 +111,6 @@ OC.L10N.register(
"Access forbidden" : "Acces restricționat",
"The share will expire on %s." : "Partajarea va expira în data de %s.",
"Security Warning" : "Avertisment de securitate",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Versiunea dvs. PHP este vulnerabilă la un atac cu un octet NULL (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Te rog actualizează versiunea PHP pentru a utiliza %s în mod securizat.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Directorul tău de date și fișiere sunt probabil accesibile de pe Internet, deoarece fișierul .htaccess nu funcționează.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Pentru informații despre cum să configurezi serverul, vezi <a href=\"%s\" target=\"_blank\">documentația</a>.",
"Create an <strong>admin account</strong>" : "Crează un <strong>cont de administrator</strong>",
diff --git a/core/l10n/ro.json b/core/l10n/ro.json
index e46fa0b8940..ac14cb5bf14 100644
--- a/core/l10n/ro.json
+++ b/core/l10n/ro.json
@@ -109,8 +109,6 @@
"Access forbidden" : "Acces restricționat",
"The share will expire on %s." : "Partajarea va expira în data de %s.",
"Security Warning" : "Avertisment de securitate",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Versiunea dvs. PHP este vulnerabilă la un atac cu un octet NULL (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Te rog actualizează versiunea PHP pentru a utiliza %s în mod securizat.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Directorul tău de date și fișiere sunt probabil accesibile de pe Internet, deoarece fișierul .htaccess nu funcționează.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Pentru informații despre cum să configurezi serverul, vezi <a href=\"%s\" target=\"_blank\">documentația</a>.",
"Create an <strong>admin account</strong>" : "Crează un <strong>cont de administrator</strong>",
diff --git a/core/l10n/ru.js b/core/l10n/ru.js
index 083f8ba780c..6e4e97bdcd0 100644
--- a/core/l10n/ru.js
+++ b/core/l10n/ru.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Линия: %s",
"Trace" : "След",
"Security Warning" : "Предупреждение безопасности",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Ваша версия PHP уязвима к атаке NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Обновите PHP для безопасного использования %s.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Правила файла .htaccess не выполняются, возможно, каталог данных и файлы свободно доступны из интернета.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Что-бы правильно настроить сервер, руководствуйтесь <a hrev=\"%s\"target=\"blank\">документацией</a>.",
"Create an <strong>admin account</strong>" : "Создать <strong>учётную запись администратора</strong>",
@@ -195,7 +193,6 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Особенно вызывает сомнение использование SQLite при синхронизации файлов с использование клиента для ПК.",
"Finish setup" : "Завершить установку",
"Finishing …" : "Завершение...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Для нормальной работы приложения требуется JavaScript. Пожалуйста, <a href=\"http://www.enable-javascript.com/ru/\" target=\"_blank\">включите JavaScript</a> в вашем браузере и обновите страницу.",
"%s is available. Get more information on how to update." : "Доступна версия %s. Получить дополнительную информацию о порядке обновления.",
"Log out" : "Выйти",
"Search" : "Найти",
diff --git a/core/l10n/ru.json b/core/l10n/ru.json
index 79c59badf61..1d1bf90b00d 100644
--- a/core/l10n/ru.json
+++ b/core/l10n/ru.json
@@ -172,8 +172,6 @@
"Line: %s" : "Линия: %s",
"Trace" : "След",
"Security Warning" : "Предупреждение безопасности",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Ваша версия PHP уязвима к атаке NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Обновите PHP для безопасного использования %s.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Правила файла .htaccess не выполняются, возможно, каталог данных и файлы свободно доступны из интернета.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Что-бы правильно настроить сервер, руководствуйтесь <a hrev=\"%s\"target=\"blank\">документацией</a>.",
"Create an <strong>admin account</strong>" : "Создать <strong>учётную запись администратора</strong>",
@@ -193,7 +191,6 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Особенно вызывает сомнение использование SQLite при синхронизации файлов с использование клиента для ПК.",
"Finish setup" : "Завершить установку",
"Finishing …" : "Завершение...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Для нормальной работы приложения требуется JavaScript. Пожалуйста, <a href=\"http://www.enable-javascript.com/ru/\" target=\"_blank\">включите JavaScript</a> в вашем браузере и обновите страницу.",
"%s is available. Get more information on how to update." : "Доступна версия %s. Получить дополнительную информацию о порядке обновления.",
"Log out" : "Выйти",
"Search" : "Найти",
diff --git a/core/l10n/sk_SK.js b/core/l10n/sk_SK.js
index a199c0e2930..daf9d390c00 100644
--- a/core/l10n/sk_SK.js
+++ b/core/l10n/sk_SK.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Riadok: %s",
"Trace" : "Trasa",
"Security Warning" : "Bezpečnostné varovanie",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Verzia Vášho PHP je napadnuteľná pomocou techniky \"NULL Byte\" (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Aktualizujte prosím vašu inštanciu PHP pre bezpečné používanie %s.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Váš priečinok s dátami a súbormi je dostupný z internetu, lebo súbor .htaccess nefunguje.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Pre informácie, ako správne nastaviť váš server, sa pozrite do <a href=\"%s\" target=\"_blank\">dokumentácie</a>.",
"Create an <strong>admin account</strong>" : "Vytvoriť <strong>administrátorský účet</strong>",
@@ -195,7 +193,6 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Najmä pri používaní klientských aplikácií na synchronizáciu s desktopom neodporúčame používať SQLite.",
"Finish setup" : "Dokončiť inštaláciu",
"Finishing …" : "Dokončujem...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Táto aplikácia potrebuje JavaScript pre správne fungovanie. Prosím <a href=\"http://enable-javascript.com/\" target=\"_blank\">zapnite si JavaScript</a> a obnovte stránku",
"%s is available. Get more information on how to update." : "%s je dostupná. Získajte viac informácií o postupe aktualizácie.",
"Log out" : "Odhlásiť",
"Search" : "Hľadať",
diff --git a/core/l10n/sk_SK.json b/core/l10n/sk_SK.json
index 7a3b0e2240d..0cf5c67e63c 100644
--- a/core/l10n/sk_SK.json
+++ b/core/l10n/sk_SK.json
@@ -172,8 +172,6 @@
"Line: %s" : "Riadok: %s",
"Trace" : "Trasa",
"Security Warning" : "Bezpečnostné varovanie",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Verzia Vášho PHP je napadnuteľná pomocou techniky \"NULL Byte\" (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Aktualizujte prosím vašu inštanciu PHP pre bezpečné používanie %s.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Váš priečinok s dátami a súbormi je dostupný z internetu, lebo súbor .htaccess nefunguje.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Pre informácie, ako správne nastaviť váš server, sa pozrite do <a href=\"%s\" target=\"_blank\">dokumentácie</a>.",
"Create an <strong>admin account</strong>" : "Vytvoriť <strong>administrátorský účet</strong>",
@@ -193,7 +191,6 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Najmä pri používaní klientských aplikácií na synchronizáciu s desktopom neodporúčame používať SQLite.",
"Finish setup" : "Dokončiť inštaláciu",
"Finishing …" : "Dokončujem...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Táto aplikácia potrebuje JavaScript pre správne fungovanie. Prosím <a href=\"http://enable-javascript.com/\" target=\"_blank\">zapnite si JavaScript</a> a obnovte stránku",
"%s is available. Get more information on how to update." : "%s je dostupná. Získajte viac informácií o postupe aktualizácie.",
"Log out" : "Odhlásiť",
"Search" : "Hľadať",
diff --git a/core/l10n/sl.js b/core/l10n/sl.js
index 0c11b802994..6f57f953c8f 100644
--- a/core/l10n/sl.js
+++ b/core/l10n/sl.js
@@ -171,8 +171,6 @@ OC.L10N.register(
"Line: %s" : "Vrstica: %s",
"Trace" : "Sledenje povezav",
"Security Warning" : "Varnostno opozorilo",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Uporabljena različica PHP je ranljiva za napad NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Za varno uporabo storitve %s, je treba posodobiti namestitev PHP",
"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\">documentation</a>." : "Za več informacij o pravilnem nastavljanju strežnika, kliknite na povezavo do <a href=\"%s\" target=\"_blank\">dokumentacije</a>.",
"Create an <strong>admin account</strong>" : "Ustvari <strong>skrbniški račun</strong>",
@@ -188,7 +186,6 @@ OC.L10N.register(
"Database host" : "Gostitelj podatkovne zbirke",
"Finish setup" : "Končaj nastavitev",
"Finishing …" : "Poteka zaključevanje opravila ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Program zahteva podporo JavaScript za pravilno delovanje. Omogočite <a href=\"http://enable-javascript.com/\" target=\"_blank\">JavaScript</a> in ponovno osvežite stran.",
"%s is available. Get more information on how to update." : "%s je na voljo. Pridobite več podrobnosti za posodobitev.",
"Log out" : "Odjava",
"Search" : "Poišči",
diff --git a/core/l10n/sl.json b/core/l10n/sl.json
index b72616f6e6b..ebf26773d69 100644
--- a/core/l10n/sl.json
+++ b/core/l10n/sl.json
@@ -169,8 +169,6 @@
"Line: %s" : "Vrstica: %s",
"Trace" : "Sledenje povezav",
"Security Warning" : "Varnostno opozorilo",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Uporabljena različica PHP je ranljiva za napad NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Za varno uporabo storitve %s, je treba posodobiti namestitev PHP",
"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\">documentation</a>." : "Za več informacij o pravilnem nastavljanju strežnika, kliknite na povezavo do <a href=\"%s\" target=\"_blank\">dokumentacije</a>.",
"Create an <strong>admin account</strong>" : "Ustvari <strong>skrbniški račun</strong>",
@@ -186,7 +184,6 @@
"Database host" : "Gostitelj podatkovne zbirke",
"Finish setup" : "Končaj nastavitev",
"Finishing …" : "Poteka zaključevanje opravila ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Program zahteva podporo JavaScript za pravilno delovanje. Omogočite <a href=\"http://enable-javascript.com/\" target=\"_blank\">JavaScript</a> in ponovno osvežite stran.",
"%s is available. Get more information on how to update." : "%s je na voljo. Pridobite več podrobnosti za posodobitev.",
"Log out" : "Odjava",
"Search" : "Poišči",
diff --git a/core/l10n/sq.js b/core/l10n/sq.js
index 7e82b8ed9af..7776db69b9f 100644
--- a/core/l10n/sq.js
+++ b/core/l10n/sq.js
@@ -160,8 +160,6 @@ OC.L10N.register(
"Line: %s" : "Rreshti: %s",
"Trace" : "Gjurmim",
"Security Warning" : "Paralajmërim sigurie",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Versioni juaj i PHP-së është i cënueshëm nga sulmi NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Ju lutem azhurnoni instalimin tuaj të PHP-së që të përdorni %s -in në mënyrë të sigurt.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Dosja dhe skedarët e të dhënave tuaja mbase janë të arritshme nga interneti sepse skedari .htaccess nuk po punon.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Për më shumë informacion mbi konfigurimin e duhur të serverit tuaj, ju lutem shikoni <a href=\"%s\" target=\"_blank\">dokumentacionin</a>.",
"Create an <strong>admin account</strong>" : "Krijo një <strong>llogari administruesi</strong>",
@@ -177,7 +175,6 @@ OC.L10N.register(
"Database host" : "Pozicioni (host) i database-it",
"Finish setup" : "Mbaro setup-in",
"Finishing …" : "Duke përfunduar ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Këtij aplikacioni i nevojitet JavaScript për funksionim të rregullt. Ju lutem <a href=\"http://enable-javascript.com/\" target=\"_blank\">aktivizoni JavaScript</a> dhe ringarkoni faqen.",
"%s is available. Get more information on how to update." : "%s është i disponueshëm. Merrni më shumë informacione mbi azhurnimin.",
"Log out" : "Dalje",
"Search" : "Kërko",
diff --git a/core/l10n/sq.json b/core/l10n/sq.json
index 2d451464593..2defbb25d92 100644
--- a/core/l10n/sq.json
+++ b/core/l10n/sq.json
@@ -158,8 +158,6 @@
"Line: %s" : "Rreshti: %s",
"Trace" : "Gjurmim",
"Security Warning" : "Paralajmërim sigurie",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Versioni juaj i PHP-së është i cënueshëm nga sulmi NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Ju lutem azhurnoni instalimin tuaj të PHP-së që të përdorni %s -in në mënyrë të sigurt.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Dosja dhe skedarët e të dhënave tuaja mbase janë të arritshme nga interneti sepse skedari .htaccess nuk po punon.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Për më shumë informacion mbi konfigurimin e duhur të serverit tuaj, ju lutem shikoni <a href=\"%s\" target=\"_blank\">dokumentacionin</a>.",
"Create an <strong>admin account</strong>" : "Krijo një <strong>llogari administruesi</strong>",
@@ -175,7 +173,6 @@
"Database host" : "Pozicioni (host) i database-it",
"Finish setup" : "Mbaro setup-in",
"Finishing …" : "Duke përfunduar ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Këtij aplikacioni i nevojitet JavaScript për funksionim të rregullt. Ju lutem <a href=\"http://enable-javascript.com/\" target=\"_blank\">aktivizoni JavaScript</a> dhe ringarkoni faqen.",
"%s is available. Get more information on how to update." : "%s është i disponueshëm. Merrni më shumë informacione mbi azhurnimin.",
"Log out" : "Dalje",
"Search" : "Kërko",
diff --git a/core/l10n/sr@latin.js b/core/l10n/sr@latin.js
index 78ba9005875..24ec80d0283 100644
--- a/core/l10n/sr@latin.js
+++ b/core/l10n/sr@latin.js
@@ -168,8 +168,6 @@ OC.L10N.register(
"Line: %s" : "Linija: %s",
"Trace" : "Zapisnik: ",
"Security Warning" : "Bezbednosno upozorenje",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Vaša PHP verzija je ranjiva na ",
- "Please update your PHP installation to use %s securely." : "Molimo Vas da unapredite Vašu PHP instalaciju da bi koristili %s bezbedno",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Vaši podaci i direktorijumi su verovatno dostupni sa interneta jer .htaccess fajl ne funkcioniše.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Za informacije kako da pravilno podesite server, molimo Vas da pogledate <a href=\"%s\" target=\"_blank\">dokumentaciju</a>.",
"Create an <strong>admin account</strong>" : "Napravi <strong>administrativni nalog</strong>",
@@ -185,7 +183,6 @@ OC.L10N.register(
"Database host" : "Domaćin baze",
"Finish setup" : "Završi podešavanje",
"Finishing …" : "Završavam ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Ova aplikacija zahteva JavaScript za pravilan rad. Molimo <a href=\"http://enable-javascript.com/\" target=\"_blank\"> omogućite JavaScript</a> i ponovo učitajte stranu.",
"%s is available. Get more information on how to update." : "%s je dostupan. Pronađite više informacija kako da izvršite osvežavanje.",
"Log out" : "Odjava",
"Search" : "Traži",
diff --git a/core/l10n/sr@latin.json b/core/l10n/sr@latin.json
index a9503c1972c..9c4e3e05c03 100644
--- a/core/l10n/sr@latin.json
+++ b/core/l10n/sr@latin.json
@@ -166,8 +166,6 @@
"Line: %s" : "Linija: %s",
"Trace" : "Zapisnik: ",
"Security Warning" : "Bezbednosno upozorenje",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Vaša PHP verzija je ranjiva na ",
- "Please update your PHP installation to use %s securely." : "Molimo Vas da unapredite Vašu PHP instalaciju da bi koristili %s bezbedno",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Vaši podaci i direktorijumi su verovatno dostupni sa interneta jer .htaccess fajl ne funkcioniše.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Za informacije kako da pravilno podesite server, molimo Vas da pogledate <a href=\"%s\" target=\"_blank\">dokumentaciju</a>.",
"Create an <strong>admin account</strong>" : "Napravi <strong>administrativni nalog</strong>",
@@ -183,7 +181,6 @@
"Database host" : "Domaćin baze",
"Finish setup" : "Završi podešavanje",
"Finishing …" : "Završavam ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Ova aplikacija zahteva JavaScript za pravilan rad. Molimo <a href=\"http://enable-javascript.com/\" target=\"_blank\"> omogućite JavaScript</a> i ponovo učitajte stranu.",
"%s is available. Get more information on how to update." : "%s je dostupan. Pronađite više informacija kako da izvršite osvežavanje.",
"Log out" : "Odjava",
"Search" : "Traži",
diff --git a/core/l10n/sv.js b/core/l10n/sv.js
index 9961379f128..0abfbfb08fe 100644
--- a/core/l10n/sv.js
+++ b/core/l10n/sv.js
@@ -169,8 +169,6 @@ OC.L10N.register(
"Line: %s" : "Rad: %s",
"Trace" : "Spåra",
"Security Warning" : "Säkerhetsvarning",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Din version av PHP är sårbar för NULL byte attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Var god uppdatera din PHP-installation för att använda %s säkert.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Din datakatalog och filer är förmodligen tillgängliga från Internet, eftersom .htaccess-filen inte fungerar.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "För information hur du korrekt konfigurerar din servern, se ownCloud <a href=\"%s\" target=\"_blank\">dokumentationen</a>.",
"Create an <strong>admin account</strong>" : "Skapa ett <strong>administratörskonto</strong>",
@@ -186,7 +184,6 @@ OC.L10N.register(
"Database host" : "Databasserver",
"Finish setup" : "Avsluta installation",
"Finishing …" : "Avslutar ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Denna applikation kräver JavaScript för att fungera korrekt. Vänligen <a href=\"http://enable-javascript.com/\" target=\"_blank\">slå på JavaScript</a> och ladda om denna sidan.",
"%s is available. Get more information on how to update." : "%s är tillgänglig. Få mer information om hur du går tillväga för att uppdatera.",
"Log out" : "Logga ut",
"Search" : "Sök",
diff --git a/core/l10n/sv.json b/core/l10n/sv.json
index 090ca0fb592..25fb4c61d26 100644
--- a/core/l10n/sv.json
+++ b/core/l10n/sv.json
@@ -167,8 +167,6 @@
"Line: %s" : "Rad: %s",
"Trace" : "Spåra",
"Security Warning" : "Säkerhetsvarning",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Din version av PHP är sårbar för NULL byte attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Var god uppdatera din PHP-installation för att använda %s säkert.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Din datakatalog och filer är förmodligen tillgängliga från Internet, eftersom .htaccess-filen inte fungerar.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "För information hur du korrekt konfigurerar din servern, se ownCloud <a href=\"%s\" target=\"_blank\">dokumentationen</a>.",
"Create an <strong>admin account</strong>" : "Skapa ett <strong>administratörskonto</strong>",
@@ -184,7 +182,6 @@
"Database host" : "Databasserver",
"Finish setup" : "Avsluta installation",
"Finishing …" : "Avslutar ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Denna applikation kräver JavaScript för att fungera korrekt. Vänligen <a href=\"http://enable-javascript.com/\" target=\"_blank\">slå på JavaScript</a> och ladda om denna sidan.",
"%s is available. Get more information on how to update." : "%s är tillgänglig. Få mer information om hur du går tillväga för att uppdatera.",
"Log out" : "Logga ut",
"Search" : "Sök",
diff --git a/core/l10n/tr.js b/core/l10n/tr.js
index 8fab80b5e15..f7f5e00fbd9 100644
--- a/core/l10n/tr.js
+++ b/core/l10n/tr.js
@@ -174,8 +174,6 @@ OC.L10N.register(
"Line: %s" : "Satır: %s",
"Trace" : "İz",
"Security Warning" : "Güvenlik Uyarısı",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "PHP sürümünüz NULL Byte saldırısına açık (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "%s yazılımını güvenli olarak kullanmak için, lütfen PHP kurulumunuzu güncelleyin.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Veri klasörünüz ve dosyalarınız .htaccess dosyası çalışmadığı için İnternet'ten erişime açık.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Sunucunuzu nasıl ayarlayacağınıza dair bilgi için, lütfen <a href=\"%s\" target=\"_blank\">belgelendirme sayfasını</a> ziyaret edin.",
"Create an <strong>admin account</strong>" : "Bir <strong>yönetici hesabı</strong> oluşturun",
@@ -195,7 +193,7 @@ OC.L10N.register(
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Özellikle dosya eşitleme için masaüstü istemcisi kullanılırken SQLite kullanımı önerilmez.",
"Finish setup" : "Kurulumu tamamla",
"Finishing …" : "Tamamlanıyor ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Uygulama, doğru çalışabilmesi için JavaScript gerektiriyor. Lütfen <a href=\"http://enable-javascript.com/\" target=\"_blank\">JavaScript'i etkinleştirin</a> ve sayfayı yeniden yükleyin.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Bu uygulama düzgün çalışabilmesi için JavaScript gerektirir. Lütfen {linkstart}JavaScript'i etkinleştirin{linkend} ve sayfayı yeniden yükleyin.",
"%s is available. Get more information on how to update." : "%s kullanılabilir. Nasıl güncelleyeceğiniz hakkında daha fazla bilgi alın.",
"Log out" : "Çıkış yap",
"Search" : "Ara",
diff --git a/core/l10n/tr.json b/core/l10n/tr.json
index 63079788154..dbedc32925e 100644
--- a/core/l10n/tr.json
+++ b/core/l10n/tr.json
@@ -172,8 +172,6 @@
"Line: %s" : "Satır: %s",
"Trace" : "İz",
"Security Warning" : "Güvenlik Uyarısı",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "PHP sürümünüz NULL Byte saldırısına açık (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "%s yazılımını güvenli olarak kullanmak için, lütfen PHP kurulumunuzu güncelleyin.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Veri klasörünüz ve dosyalarınız .htaccess dosyası çalışmadığı için İnternet'ten erişime açık.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Sunucunuzu nasıl ayarlayacağınıza dair bilgi için, lütfen <a href=\"%s\" target=\"_blank\">belgelendirme sayfasını</a> ziyaret edin.",
"Create an <strong>admin account</strong>" : "Bir <strong>yönetici hesabı</strong> oluşturun",
@@ -193,7 +191,7 @@
"Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Özellikle dosya eşitleme için masaüstü istemcisi kullanılırken SQLite kullanımı önerilmez.",
"Finish setup" : "Kurulumu tamamla",
"Finishing …" : "Tamamlanıyor ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Uygulama, doğru çalışabilmesi için JavaScript gerektiriyor. Lütfen <a href=\"http://enable-javascript.com/\" target=\"_blank\">JavaScript'i etkinleştirin</a> ve sayfayı yeniden yükleyin.",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Bu uygulama düzgün çalışabilmesi için JavaScript gerektirir. Lütfen {linkstart}JavaScript'i etkinleştirin{linkend} ve sayfayı yeniden yükleyin.",
"%s is available. Get more information on how to update." : "%s kullanılabilir. Nasıl güncelleyeceğiniz hakkında daha fazla bilgi alın.",
"Log out" : "Çıkış yap",
"Search" : "Ara",
diff --git a/core/l10n/uk.js b/core/l10n/uk.js
index 7041ec4fa96..abaa34cd71c 100644
--- a/core/l10n/uk.js
+++ b/core/l10n/uk.js
@@ -172,8 +172,6 @@ OC.L10N.register(
"Line: %s" : "Рядок: %s",
"Trace" : "Трасування",
"Security Warning" : "Попередження про небезпеку",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Ваша версія PHP вразлива для атак NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Будь ласка, оновіть вашу інсталяцію PHP для використання %s безпеки.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Ваші дані каталогів і файлів, ймовірно, доступні з інтернету, тому що .htaccess файл не працює.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Для отримання інформації, як правильно налаштувати сервер, див. <a href=\"%s\" target=\"_blank\">документацію</a>.",
"Create an <strong>admin account</strong>" : "Створити <strong>обліковий запис адміністратора</strong>",
@@ -189,7 +187,6 @@ OC.L10N.register(
"Database host" : "Хост бази даних",
"Finish setup" : "Завершити налаштування",
"Finishing …" : "Завершується ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Для цього додатка потрібна наявність Java для коректної роботи. Будь ласка, <a href=\"http://enable-javascript.com/\" target=\"_blank\"> увімкніть JavaScript </a> і перезавантажте сторінку.",
"%s is available. Get more information on how to update." : "%s доступний. Отримай більше інформації про те, як оновити.",
"Log out" : "Вихід",
"Search" : "Пошук",
diff --git a/core/l10n/uk.json b/core/l10n/uk.json
index b1e50c95523..9c10236ee06 100644
--- a/core/l10n/uk.json
+++ b/core/l10n/uk.json
@@ -170,8 +170,6 @@
"Line: %s" : "Рядок: %s",
"Trace" : "Трасування",
"Security Warning" : "Попередження про небезпеку",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Ваша версія PHP вразлива для атак NULL Byte (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Будь ласка, оновіть вашу інсталяцію PHP для використання %s безпеки.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Ваші дані каталогів і файлів, ймовірно, доступні з інтернету, тому що .htaccess файл не працює.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Для отримання інформації, як правильно налаштувати сервер, див. <a href=\"%s\" target=\"_blank\">документацію</a>.",
"Create an <strong>admin account</strong>" : "Створити <strong>обліковий запис адміністратора</strong>",
@@ -187,7 +185,6 @@
"Database host" : "Хост бази даних",
"Finish setup" : "Завершити налаштування",
"Finishing …" : "Завершується ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "Для цього додатка потрібна наявність Java для коректної роботи. Будь ласка, <a href=\"http://enable-javascript.com/\" target=\"_blank\"> увімкніть JavaScript </a> і перезавантажте сторінку.",
"%s is available. Get more information on how to update." : "%s доступний. Отримай більше інформації про те, як оновити.",
"Log out" : "Вихід",
"Search" : "Пошук",
diff --git a/core/l10n/ur_PK.js b/core/l10n/ur_PK.js
index 09d30bbece4..5d0ccc2f5e5 100644
--- a/core/l10n/ur_PK.js
+++ b/core/l10n/ur_PK.js
@@ -99,8 +99,6 @@ OC.L10N.register(
"Access forbidden" : "رسائ منقطع ہے",
"Cheers!" : "واہ!",
"Security Warning" : "حفاظتی انتباہ",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "آپ کا پی ایچ پی ورین نل بائٹ کے حملے کے خطرے سے دوچار ہے (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : " براہ مہربانی %s کو بحفاظت استعمال کرنے کے پی ایچ پی کی تنصیب اپڈیٹ کریں",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "آپ کی ڈیٹا ڈائریکٹری اور فائلیں امکان ہےانٹرنیٹ سے قابل رسائی ہیں کیونکہ htaccess. فائل کام نہیں کرتا ہے",
"Create an <strong>admin account</strong>" : "ایک<strong> ایڈمن اکاؤنٹ</strong> بنائیں",
"Username" : "یوزر نیم",
diff --git a/core/l10n/ur_PK.json b/core/l10n/ur_PK.json
index 9d0548ac815..77bfde9243c 100644
--- a/core/l10n/ur_PK.json
+++ b/core/l10n/ur_PK.json
@@ -97,8 +97,6 @@
"Access forbidden" : "رسائ منقطع ہے",
"Cheers!" : "واہ!",
"Security Warning" : "حفاظتی انتباہ",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "آپ کا پی ایچ پی ورین نل بائٹ کے حملے کے خطرے سے دوچار ہے (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : " براہ مہربانی %s کو بحفاظت استعمال کرنے کے پی ایچ پی کی تنصیب اپڈیٹ کریں",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "آپ کی ڈیٹا ڈائریکٹری اور فائلیں امکان ہےانٹرنیٹ سے قابل رسائی ہیں کیونکہ htaccess. فائل کام نہیں کرتا ہے",
"Create an <strong>admin account</strong>" : "ایک<strong> ایڈمن اکاؤنٹ</strong> بنائیں",
"Username" : "یوزر نیم",
diff --git a/core/l10n/vi.js b/core/l10n/vi.js
index 710649f87fb..03074de78e7 100644
--- a/core/l10n/vi.js
+++ b/core/l10n/vi.js
@@ -110,8 +110,6 @@ OC.L10N.register(
"The share will expire on %s." : "Chia sẻ này sẽ hết hiệu lực vào %s.",
"Cheers!" : "Chúc mừng!",
"Security Warning" : "Cảnh bảo bảo mật",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Phiên bản PHP của bạn có lỗ hổng NULL Byte attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Vui lòng cập nhật bản cài đặt PHP để sử dụng %s một cách an toàn.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Thư mục và file dữ liệu của bạn có thể được truy cập từ internet bởi vì file .htaccess không hoạt động",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Để biết thêm thông tin và cách cấu hình đúng vui lòng xem thêm <a href=\"%s\" target=\"_blank\">tài l</a>.",
"Create an <strong>admin account</strong>" : "Tạo một <strong>tài khoản quản trị</strong>",
diff --git a/core/l10n/vi.json b/core/l10n/vi.json
index 97f010a07a9..dbaef64fe01 100644
--- a/core/l10n/vi.json
+++ b/core/l10n/vi.json
@@ -108,8 +108,6 @@
"The share will expire on %s." : "Chia sẻ này sẽ hết hiệu lực vào %s.",
"Cheers!" : "Chúc mừng!",
"Security Warning" : "Cảnh bảo bảo mật",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Phiên bản PHP của bạn có lỗ hổng NULL Byte attack (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "Vui lòng cập nhật bản cài đặt PHP để sử dụng %s một cách an toàn.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Thư mục và file dữ liệu của bạn có thể được truy cập từ internet bởi vì file .htaccess không hoạt động",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "Để biết thêm thông tin và cách cấu hình đúng vui lòng xem thêm <a href=\"%s\" target=\"_blank\">tài l</a>.",
"Create an <strong>admin account</strong>" : "Tạo một <strong>tài khoản quản trị</strong>",
diff --git a/core/l10n/zh_CN.js b/core/l10n/zh_CN.js
index 18d92594d3c..2b253177472 100644
--- a/core/l10n/zh_CN.js
+++ b/core/l10n/zh_CN.js
@@ -167,8 +167,6 @@ OC.L10N.register(
"Line: %s" : "行: %s",
"Trace" : "追踪",
"Security Warning" : "安全警告",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "你的PHP版本容易受到空字节攻击 (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "为保证安全使用 %s 请更新您的PHP。",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "您的数据目录和文件可能可以直接被互联网访问,因为 .htaccess 并未正常工作。",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "关于如何配置服务器,请参见 <a href=\"%s\" target=\"_blank\">此文档</a>。",
"Create an <strong>admin account</strong>" : "创建<strong>管理员账号</strong>",
@@ -184,7 +182,6 @@ OC.L10N.register(
"Database host" : "数据库主机",
"Finish setup" : "安装完成",
"Finishing …" : "正在结束 ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "此程序需要启用JavaScript才能正常运行。请<a href=\"http://enable-javascript.com/\" target=\"_blank\">启用JavaScript</a> 并重新加载此页面。",
"%s is available. Get more information on how to update." : "%s 可用。获取更多关于如何升级的信息。",
"Log out" : "注销",
"Search" : "搜索",
diff --git a/core/l10n/zh_CN.json b/core/l10n/zh_CN.json
index dbe929b4b86..744dba28020 100644
--- a/core/l10n/zh_CN.json
+++ b/core/l10n/zh_CN.json
@@ -165,8 +165,6 @@
"Line: %s" : "行: %s",
"Trace" : "追踪",
"Security Warning" : "安全警告",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "你的PHP版本容易受到空字节攻击 (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "为保证安全使用 %s 请更新您的PHP。",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "您的数据目录和文件可能可以直接被互联网访问,因为 .htaccess 并未正常工作。",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "关于如何配置服务器,请参见 <a href=\"%s\" target=\"_blank\">此文档</a>。",
"Create an <strong>admin account</strong>" : "创建<strong>管理员账号</strong>",
@@ -182,7 +180,6 @@
"Database host" : "数据库主机",
"Finish setup" : "安装完成",
"Finishing …" : "正在结束 ...",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "此程序需要启用JavaScript才能正常运行。请<a href=\"http://enable-javascript.com/\" target=\"_blank\">启用JavaScript</a> 并重新加载此页面。",
"%s is available. Get more information on how to update." : "%s 可用。获取更多关于如何升级的信息。",
"Log out" : "注销",
"Search" : "搜索",
diff --git a/core/l10n/zh_TW.js b/core/l10n/zh_TW.js
index 223d3b4acba..606cb52a461 100644
--- a/core/l10n/zh_TW.js
+++ b/core/l10n/zh_TW.js
@@ -156,8 +156,6 @@ OC.L10N.register(
"Line: %s" : "行數:%s",
"Trace" : "追蹤",
"Security Warning" : "安全性警告",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "您的 PHP 版本無法抵抗 NULL Byte 攻擊 (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "請更新 PHP 以安全地使用 %s。",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "您的資料目錄看起來可以被 Internet 公開存取,因為 .htaccess 設定並未生效。",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "請參考<a href=\"%s\" target=\"_blank\">說明文件</a>以瞭解如何正確設定您的伺服器。",
"Create an <strong>admin account</strong>" : "建立一個<strong>管理者帳號</strong>",
@@ -173,7 +171,6 @@ OC.L10N.register(
"Database host" : "資料庫主機",
"Finish setup" : "完成設定",
"Finishing …" : "即將完成…",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "這個應用程式需要 Javascript 才能正常運作,請<a href=\"http://enable-javascript.com/\" target=\"_blank\">啟用 Javascript</a> 然後重新整理。",
"%s is available. Get more information on how to update." : "%s 已經釋出,瞭解更多資訊以進行更新。",
"Log out" : "登出",
"Search" : "搜尋",
diff --git a/core/l10n/zh_TW.json b/core/l10n/zh_TW.json
index f4c7fc2a0b1..d7d59312cce 100644
--- a/core/l10n/zh_TW.json
+++ b/core/l10n/zh_TW.json
@@ -154,8 +154,6 @@
"Line: %s" : "行數:%s",
"Trace" : "追蹤",
"Security Warning" : "安全性警告",
- "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "您的 PHP 版本無法抵抗 NULL Byte 攻擊 (CVE-2006-7243)",
- "Please update your PHP installation to use %s securely." : "請更新 PHP 以安全地使用 %s。",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "您的資料目錄看起來可以被 Internet 公開存取,因為 .htaccess 設定並未生效。",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." : "請參考<a href=\"%s\" target=\"_blank\">說明文件</a>以瞭解如何正確設定您的伺服器。",
"Create an <strong>admin account</strong>" : "建立一個<strong>管理者帳號</strong>",
@@ -171,7 +169,6 @@
"Database host" : "資料庫主機",
"Finish setup" : "完成設定",
"Finishing …" : "即將完成…",
- "This application requires JavaScript for correct operation. Please <a href=\"http://enable-javascript.com/\" target=\"_blank\">enable JavaScript</a> and reload the page." : "這個應用程式需要 Javascript 才能正常運作,請<a href=\"http://enable-javascript.com/\" target=\"_blank\">啟用 Javascript</a> 然後重新整理。",
"%s is available. Get more information on how to update." : "%s 已經釋出,瞭解更多資訊以進行更新。",
"Log out" : "登出",
"Search" : "搜尋",
diff --git a/core/register_command.php b/core/register_command.php
index 5aa55be3e2c..d7aaf9a41b7 100644
--- a/core/register_command.php
+++ b/core/register_command.php
@@ -15,6 +15,7 @@ $application->add(new OC\Core\Command\Db\ConvertType(\OC::$server->getConfig(),
$application->add(new OC\Core\Command\Upgrade(\OC::$server->getConfig()));
$application->add(new OC\Core\Command\Maintenance\SingleUser());
$application->add(new OC\Core\Command\Maintenance\Mode(\OC::$server->getConfig()));
+$application->add(new OC\Core\Command\App\CheckCode());
$application->add(new OC\Core\Command\App\Disable());
$application->add(new OC\Core\Command\App\Enable());
$application->add(new OC\Core\Command\App\ListApps());
diff --git a/core/setup/controller.php b/core/setup/controller.php
index 854c30ac769..c059a48655e 100644
--- a/core/setup/controller.php
+++ b/core/setup/controller.php
@@ -131,10 +131,6 @@ class Controller {
$databases = $setup->getSupportedDatabases();
$dataDir = $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT.'/data');
- $vulnerableToNullByte = false;
- if(@file_exists(__FILE__."\0Nullbyte")) { // Check if the used PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)
- $vulnerableToNullByte = true;
- }
$errors = array();
@@ -200,7 +196,6 @@ class Controller {
'databases' => $databases,
'directory' => $dataDir,
'htaccessWorking' => $htAccessWorking,
- 'vulnerableToNullByte' => $vulnerableToNullByte,
'errors' => $errors,
);
}
diff --git a/core/templates/installation.php b/core/templates/installation.php
index 53ab4a0b877..4e9cde205d8 100644
--- a/core/templates/installation.php
+++ b/core/templates/installation.php
@@ -26,13 +26,6 @@ script('core', [
<?php endforeach; ?>
</fieldset>
<?php endif; ?>
- <?php if($_['vulnerableToNullByte']): ?>
- <fieldset class="warning">
- <legend><strong><?php p($l->t('Security Warning'));?></strong></legend>
- <p><?php p($l->t('Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)'));?><br/>
- <?php p($l->t('Please update your PHP installation to use %s securely.', $theme->getName() )); ?></p>
- </fieldset>
- <?php endif; ?>
<?php if(!$_['htaccessWorking']): ?>
<fieldset class="warning">
<legend><strong><?php p($l->t('Security Warning'));?></strong></legend>
diff --git a/core/templates/layout.base.php b/core/templates/layout.base.php
index 96229fd370a..7069c0c2634 100644
--- a/core/templates/layout.base.php
+++ b/core/templates/layout.base.php
@@ -24,7 +24,7 @@
<?php print_unescaped($_['headers']); ?>
</head>
<body id="body-public">
- <noscript><div id="nojavascript"><div><?php print_unescaped($l->t('This application requires JavaScript for correct operation. Please <a href="http://enable-javascript.com/" target="_blank">enable JavaScript</a> and reload the page.')); ?></div></div></noscript>
+ <?php include('layout.noscript.warning.php'); ?>
<?php print_unescaped($_['content']); ?>
</body>
</html>
diff --git a/core/templates/layout.guest.php b/core/templates/layout.guest.php
index c799205b7cf..8deda443d98 100644
--- a/core/templates/layout.guest.php
+++ b/core/templates/layout.guest.php
@@ -25,7 +25,7 @@
<?php print_unescaped($_['headers']); ?>
</head>
<body id="<?php p($_['bodyid']);?>">
- <noscript><div id="nojavascript"><div><?php print_unescaped($l->t('This application requires JavaScript for correct operation. Please <a href="http://enable-javascript.com/" target="_blank">enable JavaScript</a> and reload the page.')); ?></div></div></noscript>
+ <?php include('layout.noscript.warning.php'); ?>
<div class="wrapper"><!-- for sticky footer -->
<div class="v-align"><!-- vertically centred box -->
<?php if ($_['bodyid'] === 'body-login' ): ?>
diff --git a/core/templates/layout.noscript.warning.php b/core/templates/layout.noscript.warning.php
new file mode 100644
index 00000000000..ba781f5502e
--- /dev/null
+++ b/core/templates/layout.noscript.warning.php
@@ -0,0 +1,11 @@
+<noscript>
+ <div id="nojavascript">
+ <div>
+ <?php print_unescaped(str_replace(
+ ['{linkstart}', '{linkend}'],
+ ['<a href="http://enable-javascript.com/" target="_blank" rel="noreferrer">', '</a>'],
+ $l->t('This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page.')
+ )); ?>
+ </div>
+ </div>
+</noscript>
diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php
index ffa5e557c64..075f72021c2 100644
--- a/core/templates/layout.user.php
+++ b/core/templates/layout.user.php
@@ -32,7 +32,7 @@
<?php print_unescaped($_['headers']); ?>
</head>
<body id="<?php p($_['bodyid']);?>">
- <noscript><div id="nojavascript"><div><?php print_unescaped($l->t('This application requires JavaScript for correct operation. Please <a href="http://enable-javascript.com/" target="_blank">enable JavaScript</a> and reload the page.')); ?></div></div></noscript>
+ <?php include('layout.noscript.warning.php'); ?>
<div id="notification-container">
<div id="notification"></div>
<?php if ($_['updateAvailable']): ?>
diff --git a/lib/base.php b/lib/base.php
index 558be6b570f..cdc662c28d9 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -100,7 +100,18 @@ class OC {
OC_Config::$object = new \OC\Config(self::$configDir);
OC::$SUBURI = str_replace("\\", "/", substr(realpath($_SERVER["SCRIPT_FILENAME"]), strlen(OC::$SERVERROOT)));
- $scriptName = OC_Request::scriptName();
+ /**
+ * FIXME: The following line is required because of a cyclic dependency
+ * on IRequest.
+ */
+ $params = [
+ 'server' => [
+ 'SCRIPT_NAME' => $_SERVER['SCRIPT_NAME'],
+ 'SCRIPT_FILENAME' => $_SERVER['SCRIPT_FILENAME'],
+ ],
+ ];
+ $fakeRequest = new \OC\AppFramework\Http\Request($params, null, new \OC\AllConfig(new \OC\SystemConfig()));
+ $scriptName = $fakeRequest->getScriptName();
if (substr($scriptName, -1) == '/') {
$scriptName .= 'index.php';
//make sure suburi follows the same rules as scriptName
@@ -230,6 +241,8 @@ class OC {
}
public static function checkSSL() {
+ $request = \OC::$server->getRequest();
+
// redirect to https site if configured
if (\OC::$server->getSystemConfig()->getValue('forcessl', false)) {
// Default HSTS policy
@@ -241,14 +254,15 @@ class OC {
}
header($header);
ini_set('session.cookie_secure', 'on');
- if (OC_Request::serverProtocol() <> 'https' and !OC::$CLI) {
- $url = 'https://' . OC_Request::serverHost() . OC_Request::requestUri();
+
+ if ($request->getServerProtocol() <> 'https' && !OC::$CLI) {
+ $url = 'https://' . $request->getServerHost() . $request->getRequestUri();
header("Location: $url");
exit();
}
} else {
// Invalidate HSTS headers
- if (OC_Request::serverProtocol() === 'https') {
+ if ($request->getServerProtocol() === 'https') {
header('Strict-Transport-Security: max-age=0');
}
}
@@ -478,7 +492,10 @@ class OC {
require_once $vendorAutoLoad;
} else {
OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE);
- OC_Template::printErrorPage('Composer autoloader not found, unable to continue.');
+ // we can't use the template error page here, because this needs the
+ // DI container which isn't available yet
+ print('Composer autoloader not found, unable to continue. Check the folder "3rdparty".');
+ exit();
}
// setup the basic server
@@ -609,18 +626,23 @@ class OC {
return;
}
- $host = OC_Request::insecureServerHost();
- // if the host passed in headers isn't trusted
+ $request = \OC::$server->getRequest();
+ $host = $request->getInsecureServerHost();
+ /**
+ * if the host passed in headers isn't trusted
+ * FIXME: Should not be in here at all :see_no_evil:
+ */
if (!OC::$CLI
- // overwritehost is always trusted
- && OC_Request::getOverwriteHost() === null
- && !OC_Request::isTrustedDomain($host)
+ // overwritehost is always trusted, workaround to not have to make
+ // \OC\AppFramework\Http\Request::getOverwriteHost public
+ && self::$server->getConfig()->getSystemValue('overwritehost') === ''
+ && !\OC::$server->getTrustedDomainHelper()->isTrustedDomain($host)
) {
header('HTTP/1.1 400 Bad Request');
header('Status: 400 Bad Request');
$tmpl = new OCP\Template('core', 'untrustedDomain', 'guest');
- $tmpl->assign('domain', $_SERVER['SERVER_NAME']);
+ $tmpl->assign('domain', $request->server['SERVER_NAME']);
$tmpl->printPage();
exit();
@@ -705,7 +727,8 @@ class OC {
$instanceId = \OC::$server->getSystemConfig()->getValue('instanceid', null);
if ($instanceId) {
try {
- $memcacheFactory = new \OC\Memcache\Factory($instanceId);
+ $memcacheFactory = new \OC\Memcache\Factory($instanceId,
+ \OC::$server->getLogger());
self::$loader->setMemoryCache($memcacheFactory->createLowLatency('Autoloader'));
} catch (\Exception $ex) {
}
@@ -716,6 +739,7 @@ class OC {
* Handle the request
*/
public static function handleRequest() {
+
\OC::$server->getEventLogger()->start('handle_request', 'Handle request');
$systemConfig = \OC::$server->getSystemConfig();
// load all the classpaths from the enabled apps so they are available
@@ -730,7 +754,7 @@ class OC {
exit();
}
- $request = OC_Request::getPathInfo();
+ $request = \OC::$server->getRequest()->getPathInfo();
if (substr($request, -3) !== '.js') { // we need these files during the upgrade
self::checkMaintenanceMode();
self::checkUpgrade();
@@ -760,7 +784,7 @@ class OC {
}
self::checkSingleUserMode();
OC_Util::setupFS();
- OC::$server->getRouter()->match(OC_Request::getRawPathInfo());
+ OC::$server->getRouter()->match(\OC::$server->getRequest()->getRawPathInfo());
return;
} catch (Symfony\Component\Routing\Exception\ResourceNotFoundException $e) {
//header('HTTP/1.0 404 Not Found');
@@ -891,7 +915,7 @@ class OC {
// if return is true we are logged in -> redirect to the default page
if ($return === true) {
- $_REQUEST['redirect_url'] = \OC_Request::requestUri();
+ $_REQUEST['redirect_url'] = \OC::$server->getRequest()->getRequestUri();
OC_Util::redirectToDefaultPage();
exit;
}
diff --git a/lib/l10n/af_ZA.js b/lib/l10n/af_ZA.js
index 953186be7fe..74f22e6ac46 100644
--- a/lib/l10n/af_ZA.js
+++ b/lib/l10n/af_ZA.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Hulp",
"Personal" : "Persoonlik",
- "Settings" : "Instellings",
"Users" : "Gebruikers",
"Admin" : "Admin",
"Unknown filetype" : "Onbekende leertipe",
diff --git a/lib/l10n/af_ZA.json b/lib/l10n/af_ZA.json
index 7dd4d1ef718..91f70c2bef0 100644
--- a/lib/l10n/af_ZA.json
+++ b/lib/l10n/af_ZA.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Hulp",
"Personal" : "Persoonlik",
- "Settings" : "Instellings",
"Users" : "Gebruikers",
"Admin" : "Admin",
"Unknown filetype" : "Onbekende leertipe",
diff --git a/lib/l10n/ar.js b/lib/l10n/ar.js
index 246bffb979c..731b59cfef0 100644
--- a/lib/l10n/ar.js
+++ b/lib/l10n/ar.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "المساعدة",
"Personal" : "شخصي",
- "Settings" : "إعدادات",
"Users" : "المستخدمين",
"Admin" : "المدير",
"No app name specified" : "لا يوجد برنامج بهذا الاسم",
diff --git a/lib/l10n/ar.json b/lib/l10n/ar.json
index e2eb4272c3e..7055154384c 100644
--- a/lib/l10n/ar.json
+++ b/lib/l10n/ar.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "المساعدة",
"Personal" : "شخصي",
- "Settings" : "إعدادات",
"Users" : "المستخدمين",
"Admin" : "المدير",
"No app name specified" : "لا يوجد برنامج بهذا الاسم",
diff --git a/lib/l10n/ast.js b/lib/l10n/ast.js
index e7a11ccfe22..7278e0c2418 100644
--- a/lib/l10n/ast.js
+++ b/lib/l10n/ast.js
@@ -10,7 +10,6 @@ OC.L10N.register(
"PHP %s or higher is required." : "Necesítase PHP %s o superior",
"Help" : "Ayuda",
"Personal" : "Personal",
- "Settings" : "Axustes",
"Users" : "Usuarios",
"Admin" : "Almin",
"Recommended" : "Recomendáu",
@@ -94,12 +93,12 @@ OC.L10N.register(
"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",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Nun hai controladores de bases de datos (sqlite, mysql, o postgresql)",
- "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.",
"Cannot write into \"config\" directory" : "Nun pue escribise nel direutoriu \"config\"",
"Cannot write into \"apps\" directory" : "Nun pue escribise nel direutoriu \"apps\"",
"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\">giving the webserver write access to the root directory</a>." : "Esto pue iguase davezu <a href=\"%s\" target=\"_blank\">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.",
"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.",
diff --git a/lib/l10n/ast.json b/lib/l10n/ast.json
index b8fce475855..8ec7d2536b1 100644
--- a/lib/l10n/ast.json
+++ b/lib/l10n/ast.json
@@ -8,7 +8,6 @@
"PHP %s or higher is required." : "Necesítase PHP %s o superior",
"Help" : "Ayuda",
"Personal" : "Personal",
- "Settings" : "Axustes",
"Users" : "Usuarios",
"Admin" : "Almin",
"Recommended" : "Recomendáu",
@@ -92,12 +91,12 @@
"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",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Nun hai controladores de bases de datos (sqlite, mysql, o postgresql)",
- "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.",
"Cannot write into \"config\" directory" : "Nun pue escribise nel direutoriu \"config\"",
"Cannot write into \"apps\" directory" : "Nun pue escribise nel direutoriu \"apps\"",
"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\">giving the webserver write access to the root directory</a>." : "Esto pue iguase davezu <a href=\"%s\" target=\"_blank\">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.",
"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.",
diff --git a/lib/l10n/az.js b/lib/l10n/az.js
index c9eb5ee2b3a..9598d4b62ff 100644
--- a/lib/l10n/az.js
+++ b/lib/l10n/az.js
@@ -8,7 +8,6 @@ OC.L10N.register(
"Sample configuration detected" : "Konfiqurasiya nüsxəsi təyin edildi",
"Help" : "Kömək",
"Personal" : "Şəxsi",
- "Settings" : "Quraşdırmalar",
"Users" : "İstifadəçilər",
"Admin" : "İnzibatçı",
"No app name specified" : "Proqram adı təyin edilməyib",
diff --git a/lib/l10n/az.json b/lib/l10n/az.json
index d9b3e95e08b..2d54f5df9ad 100644
--- a/lib/l10n/az.json
+++ b/lib/l10n/az.json
@@ -6,7 +6,6 @@
"Sample configuration detected" : "Konfiqurasiya nüsxəsi təyin edildi",
"Help" : "Kömək",
"Personal" : "Şəxsi",
- "Settings" : "Quraşdırmalar",
"Users" : "İstifadəçilər",
"Admin" : "İnzibatçı",
"No app name specified" : "Proqram adı təyin edilməyib",
diff --git a/lib/l10n/be.js b/lib/l10n/be.js
index f34545ade21..9e8bfb415e4 100644
--- a/lib/l10n/be.js
+++ b/lib/l10n/be.js
@@ -1,7 +1,6 @@
OC.L10N.register(
"lib",
{
- "Settings" : "Налады",
"today" : "Сёння",
"yesterday" : "Ўчора",
"_%n day ago_::_%n days ago_" : ["","","",""],
diff --git a/lib/l10n/be.json b/lib/l10n/be.json
index 91f99445d7a..93db93a7e91 100644
--- a/lib/l10n/be.json
+++ b/lib/l10n/be.json
@@ -1,5 +1,4 @@
{ "translations": {
- "Settings" : "Налады",
"today" : "Сёння",
"yesterday" : "Ўчора",
"_%n day ago_::_%n days ago_" : ["","","",""],
diff --git a/lib/l10n/bg_BG.js b/lib/l10n/bg_BG.js
index 009d582cb94..6d7238deb2b 100644
--- a/lib/l10n/bg_BG.js
+++ b/lib/l10n/bg_BG.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "Необходим е ownCloud с по-ниска версия от %s.",
"Help" : "Помощ",
"Personal" : "Лични",
- "Settings" : "Настройки",
"Users" : "Потребители",
"Admin" : "Админ",
"Recommended" : "Препоръчано",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Валидна парола трябва да бъде зададена.",
"The username is already being used" : "Това потребителско име е вече заето.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Липсват инсталирани драйвери за бази данни(sqlite, mysql или postgresql).",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Правата за достъп обикновено могат да бъдат оправени като %s даде разрешение на уеб сървъра да пише в root папката %s.",
"Cannot write into \"config\" directory" : "Неуспешен опит за запис в \"config\" папката.",
"Cannot write into \"apps\" directory" : "Неуспешен опит за запис в \"apps\" папката.",
"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 даде разрешение на уеб сървъра да записва в app папката %s или като изключи магазина за приложения в config файла.",
"Cannot create \"data\" directory (%s)" : "Неуспешен опит за създаване на \"data\" папката (%s).",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Това обикновено може да бъде оправено като <a href=\"%s\" target=\"_blank\">дадеш разрешение на уеб сървъра да записва в root папката</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Правата за достъп обикновено могат да бъдат оправени като %s даде разрешение на уеб сървъра да пише в root папката %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." : "Моля, поискай твоят администратор да инсталира модула.",
diff --git a/lib/l10n/bg_BG.json b/lib/l10n/bg_BG.json
index 2e9c228729d..8c88907836a 100644
--- a/lib/l10n/bg_BG.json
+++ b/lib/l10n/bg_BG.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "Необходим е ownCloud с по-ниска версия от %s.",
"Help" : "Помощ",
"Personal" : "Лични",
- "Settings" : "Настройки",
"Users" : "Потребители",
"Admin" : "Админ",
"Recommended" : "Препоръчано",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Валидна парола трябва да бъде зададена.",
"The username is already being used" : "Това потребителско име е вече заето.",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Липсват инсталирани драйвери за бази данни(sqlite, mysql или postgresql).",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Правата за достъп обикновено могат да бъдат оправени като %s даде разрешение на уеб сървъра да пише в root папката %s.",
"Cannot write into \"config\" directory" : "Неуспешен опит за запис в \"config\" папката.",
"Cannot write into \"apps\" directory" : "Неуспешен опит за запис в \"apps\" папката.",
"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 даде разрешение на уеб сървъра да записва в app папката %s или като изключи магазина за приложения в config файла.",
"Cannot create \"data\" directory (%s)" : "Неуспешен опит за създаване на \"data\" папката (%s).",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Това обикновено може да бъде оправено като <a href=\"%s\" target=\"_blank\">дадеш разрешение на уеб сървъра да записва в root папката</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Правата за достъп обикновено могат да бъдат оправени като %s даде разрешение на уеб сървъра да пише в root папката %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." : "Моля, поискай твоят администратор да инсталира модула.",
diff --git a/lib/l10n/bn_BD.js b/lib/l10n/bn_BD.js
index 432d033352f..3f26d26410e 100644
--- a/lib/l10n/bn_BD.js
+++ b/lib/l10n/bn_BD.js
@@ -8,7 +8,6 @@ OC.L10N.register(
"Sample configuration detected" : "নমুনা কনফিগারেশন পাওয়া গেছে",
"Help" : "সহায়িকা",
"Personal" : "ব্যক্তিগত",
- "Settings" : "নিয়ামকসমূহ",
"Users" : "ব্যবহারকারী",
"Admin" : "প্রশাসন",
"No app name specified" : "কোন অ্যাপ নাম সুনির্দিষ্ট নয়",
diff --git a/lib/l10n/bn_BD.json b/lib/l10n/bn_BD.json
index 08e5edc50d2..224d042a001 100644
--- a/lib/l10n/bn_BD.json
+++ b/lib/l10n/bn_BD.json
@@ -6,7 +6,6 @@
"Sample configuration detected" : "নমুনা কনফিগারেশন পাওয়া গেছে",
"Help" : "সহায়িকা",
"Personal" : "ব্যক্তিগত",
- "Settings" : "নিয়ামকসমূহ",
"Users" : "ব্যবহারকারী",
"Admin" : "প্রশাসন",
"No app name specified" : "কোন অ্যাপ নাম সুনির্দিষ্ট নয়",
diff --git a/lib/l10n/bn_IN.js b/lib/l10n/bn_IN.js
index 9933281c8d8..a12702211c2 100644
--- a/lib/l10n/bn_IN.js
+++ b/lib/l10n/bn_IN.js
@@ -1,7 +1,6 @@
OC.L10N.register(
"lib",
{
- "Settings" : "সেটিংস",
"_%n day ago_::_%n days ago_" : ["",""],
"_%n month ago_::_%n months ago_" : ["",""],
"_%n year ago_::_%n years ago_" : ["",""],
diff --git a/lib/l10n/bn_IN.json b/lib/l10n/bn_IN.json
index 239478adca6..b994fa289eb 100644
--- a/lib/l10n/bn_IN.json
+++ b/lib/l10n/bn_IN.json
@@ -1,5 +1,4 @@
{ "translations": {
- "Settings" : "সেটিংস",
"_%n day ago_::_%n days ago_" : ["",""],
"_%n month ago_::_%n months ago_" : ["",""],
"_%n year ago_::_%n years ago_" : ["",""],
diff --git a/lib/l10n/bs.js b/lib/l10n/bs.js
index cad023a3701..2685f38ea40 100644
--- a/lib/l10n/bs.js
+++ b/lib/l10n/bs.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Pomoć",
"Personal" : "Osobno",
- "Settings" : "Postavke",
"Users" : "Korisnici",
"Admin" : "Admin",
"Recommended" : "Preporučljivo",
diff --git a/lib/l10n/bs.json b/lib/l10n/bs.json
index df1b3fbd25e..2ae3317736e 100644
--- a/lib/l10n/bs.json
+++ b/lib/l10n/bs.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Pomoć",
"Personal" : "Osobno",
- "Settings" : "Postavke",
"Users" : "Korisnici",
"Admin" : "Admin",
"Recommended" : "Preporučljivo",
diff --git a/lib/l10n/ca.js b/lib/l10n/ca.js
index d086be8adac..570ffe4e83e 100644
--- a/lib/l10n/ca.js
+++ b/lib/l10n/ca.js
@@ -10,7 +10,6 @@ OC.L10N.register(
"PHP %s or higher is required." : "Es requereix PHP %s o superior.",
"Help" : "Ajuda",
"Personal" : "Personal",
- "Settings" : "Configuració",
"Users" : "Usuaris",
"Admin" : "Administració",
"Recommended" : "Recomanat",
@@ -93,12 +92,12 @@ OC.L10N.register(
"A valid password must be provided" : "Heu de facilitar una contrasenya vàlida",
"The username is already being used" : "El nom d'usuari ja està en ús",
"No database drivers (sqlite, mysql, or postgresql) installed." : "No hi ha instal·lats controladors de bases de dades (sqlite, mysql o postgresql).",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Això normalment es pot solucionar donant a %s permís d'escriptura a la carpeta de configuració %s",
"Cannot write into \"config\" directory" : "No es pot escriure a la carpeta \"config\"",
"Cannot write into \"apps\" directory" : "No es pot escriure a la carpeta \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Això normalment es pot solucionar donant a %s permís d'escriptura a la carpeta d'aplicacions %s o inhabilitant la botiga d'aplicacions en el fitxer de configuració.",
"Cannot create \"data\" directory (%s)" : "No es pot crear la carpeta \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Aixó normalment es por solucionar <a href=\"%s\" target=\"_blank\">donant al servidor web permís d'accés a la carpeta arrel</a>",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Això normalment es pot solucionar donant a %s permís d'escriptura a la carpeta de configuració %s",
"Setting locale to %s failed" : "Ha fallat en establir la llengua a %s",
"Please install one of these locales on your system and restart your webserver." : "Siusplau, instal·li un d'aquests arxius de localització en el seu sistema, i reinicii el seu servidor web.",
"Please ask your server administrator to install the module." : "Demaneu a l'administrador del sistema que instal·li el mòdul.",
diff --git a/lib/l10n/ca.json b/lib/l10n/ca.json
index e0928e6d606..23cea38826f 100644
--- a/lib/l10n/ca.json
+++ b/lib/l10n/ca.json
@@ -8,7 +8,6 @@
"PHP %s or higher is required." : "Es requereix PHP %s o superior.",
"Help" : "Ajuda",
"Personal" : "Personal",
- "Settings" : "Configuració",
"Users" : "Usuaris",
"Admin" : "Administració",
"Recommended" : "Recomanat",
@@ -91,12 +90,12 @@
"A valid password must be provided" : "Heu de facilitar una contrasenya vàlida",
"The username is already being used" : "El nom d'usuari ja està en ús",
"No database drivers (sqlite, mysql, or postgresql) installed." : "No hi ha instal·lats controladors de bases de dades (sqlite, mysql o postgresql).",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Això normalment es pot solucionar donant a %s permís d'escriptura a la carpeta de configuració %s",
"Cannot write into \"config\" directory" : "No es pot escriure a la carpeta \"config\"",
"Cannot write into \"apps\" directory" : "No es pot escriure a la carpeta \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Això normalment es pot solucionar donant a %s permís d'escriptura a la carpeta d'aplicacions %s o inhabilitant la botiga d'aplicacions en el fitxer de configuració.",
"Cannot create \"data\" directory (%s)" : "No es pot crear la carpeta \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Aixó normalment es por solucionar <a href=\"%s\" target=\"_blank\">donant al servidor web permís d'accés a la carpeta arrel</a>",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Això normalment es pot solucionar donant a %s permís d'escriptura a la carpeta de configuració %s",
"Setting locale to %s failed" : "Ha fallat en establir la llengua a %s",
"Please install one of these locales on your system and restart your webserver." : "Siusplau, instal·li un d'aquests arxius de localització en el seu sistema, i reinicii el seu servidor web.",
"Please ask your server administrator to install the module." : "Demaneu a l'administrador del sistema que instal·li el mòdul.",
diff --git a/lib/l10n/cs_CZ.js b/lib/l10n/cs_CZ.js
index 3eba7347b72..7f8bd1e75eb 100644
--- a/lib/l10n/cs_CZ.js
+++ b/lib/l10n/cs_CZ.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "Je vyžadován ownCloud ve verzi nižší než %s.",
"Help" : "Nápověda",
"Personal" : "Osobní",
- "Settings" : "Nastavení",
"Users" : "Uživatelé",
"Admin" : "Administrace",
"Recommended" : "Doporučené",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Musíte zadat platné heslo",
"The username is already being used" : "Uživatelské jméno je již využíváno",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Nejsou instalovány ovladače databází (sqlite, mysql nebo postresql).",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Oprávnění lze obvykle napravit %spovolením zápisu webovému serveru do kořenového adresáře%s.",
"Cannot write into \"config\" directory" : "Nelze zapisovat do adresáře \"config\"",
"Cannot write into \"apps\" directory" : "Nelze zapisovat do adresáře \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "To lze obvykle vyřešit %spovolením zápisu webovému serveru do adresáře apps%s nebo zakázáním appstore v konfiguračním souboru.",
"Cannot create \"data\" directory (%s)" : "Nelze vytvořit adresář \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "To lze obvykle vyřešit <a href=\"%s\" target=\"_blank\">povolením zápisu webovému serveru do kořenového adresáře</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Oprávnění lze obvykle napravit %spovolením zápisu webovému serveru do kořenového adresáře%s.",
"Setting locale to %s failed" : "Nastavení jazyka na %s selhalo",
"Please install one of these locales on your system and restart your webserver." : "Prosím nainstalujte alespoň jeden z těchto jazyků do svého systému a restartujte webový server.",
"Please ask your server administrator to install the module." : "Požádejte svého správce systému o instalaci tohoto modulu.",
diff --git a/lib/l10n/cs_CZ.json b/lib/l10n/cs_CZ.json
index dbbdccf9261..fefc6f0af7f 100644
--- a/lib/l10n/cs_CZ.json
+++ b/lib/l10n/cs_CZ.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "Je vyžadován ownCloud ve verzi nižší než %s.",
"Help" : "Nápověda",
"Personal" : "Osobní",
- "Settings" : "Nastavení",
"Users" : "Uživatelé",
"Admin" : "Administrace",
"Recommended" : "Doporučené",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Musíte zadat platné heslo",
"The username is already being used" : "Uživatelské jméno je již využíváno",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Nejsou instalovány ovladače databází (sqlite, mysql nebo postresql).",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Oprávnění lze obvykle napravit %spovolením zápisu webovému serveru do kořenového adresáře%s.",
"Cannot write into \"config\" directory" : "Nelze zapisovat do adresáře \"config\"",
"Cannot write into \"apps\" directory" : "Nelze zapisovat do adresáře \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "To lze obvykle vyřešit %spovolením zápisu webovému serveru do adresáře apps%s nebo zakázáním appstore v konfiguračním souboru.",
"Cannot create \"data\" directory (%s)" : "Nelze vytvořit adresář \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "To lze obvykle vyřešit <a href=\"%s\" target=\"_blank\">povolením zápisu webovému serveru do kořenového adresáře</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Oprávnění lze obvykle napravit %spovolením zápisu webovému serveru do kořenového adresáře%s.",
"Setting locale to %s failed" : "Nastavení jazyka na %s selhalo",
"Please install one of these locales on your system and restart your webserver." : "Prosím nainstalujte alespoň jeden z těchto jazyků do svého systému a restartujte webový server.",
"Please ask your server administrator to install the module." : "Požádejte svého správce systému o instalaci tohoto modulu.",
diff --git a/lib/l10n/cy_GB.js b/lib/l10n/cy_GB.js
index cd3772cd7c1..2b4a4c40221 100644
--- a/lib/l10n/cy_GB.js
+++ b/lib/l10n/cy_GB.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Cymorth",
"Personal" : "Personol",
- "Settings" : "Gosodiadau",
"Users" : "Defnyddwyr",
"Admin" : "Gweinyddu",
"today" : "heddiw",
diff --git a/lib/l10n/cy_GB.json b/lib/l10n/cy_GB.json
index 3d88f8b876b..8a5d8a9c5bb 100644
--- a/lib/l10n/cy_GB.json
+++ b/lib/l10n/cy_GB.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Cymorth",
"Personal" : "Personol",
- "Settings" : "Gosodiadau",
"Users" : "Defnyddwyr",
"Admin" : "Gweinyddu",
"today" : "heddiw",
diff --git a/lib/l10n/da.js b/lib/l10n/da.js
index 362f27e3416..b86e8997e6f 100644
--- a/lib/l10n/da.js
+++ b/lib/l10n/da.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "Der kræves ownCloud i en version som er lavere end %s.",
"Help" : "Hjælp",
"Personal" : "Personligt",
- "Settings" : "Indstillinger",
"Users" : "Brugere",
"Admin" : "Admin",
"Recommended" : "Anbefalet",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "En gyldig adgangskode skal angives",
"The username is already being used" : "Brugernavnet er allerede i brug",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ingen database driver (sqlite, mysql eller postgresql) er installeret.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Rettigheder kan som regel rettes ved %sat give webserveren skriveadgang til rodmappen%s.",
"Cannot write into \"config\" directory" : "Kan ikke skrive til mappen \"config\"",
"Cannot write into \"apps\" directory" : "Kan ikke skrive til mappen \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dette kan som regel rettes ved at %sgive webserveren skriveadgang til apps-mappen%s eller slå appstore fra i config-filen.",
"Cannot create \"data\" directory (%s)" : "Kan ikke oprette mappen \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Dette kan som regel rettes ved <a href=\"%s\" target=\"_blank\">give webserveren skriveadgang til rodmappen</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Rettigheder kan som regel rettes ved %sat give webserveren skriveadgang til rodmappen%s.",
"Setting locale to %s failed" : "Angivelse af %s for lokalitet mislykkedes",
"Please install one of these locales on your system and restart your webserver." : "Installér venligst én af disse lokaliteter på dit system, og genstart din webserver.",
"Please ask your server administrator to install the module." : "Du bedes anmode din serveradministrator om at installere modulet.",
diff --git a/lib/l10n/da.json b/lib/l10n/da.json
index b0ab2b4f6e7..94a060735f2 100644
--- a/lib/l10n/da.json
+++ b/lib/l10n/da.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "Der kræves ownCloud i en version som er lavere end %s.",
"Help" : "Hjælp",
"Personal" : "Personligt",
- "Settings" : "Indstillinger",
"Users" : "Brugere",
"Admin" : "Admin",
"Recommended" : "Anbefalet",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "En gyldig adgangskode skal angives",
"The username is already being used" : "Brugernavnet er allerede i brug",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ingen database driver (sqlite, mysql eller postgresql) er installeret.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Rettigheder kan som regel rettes ved %sat give webserveren skriveadgang til rodmappen%s.",
"Cannot write into \"config\" directory" : "Kan ikke skrive til mappen \"config\"",
"Cannot write into \"apps\" directory" : "Kan ikke skrive til mappen \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dette kan som regel rettes ved at %sgive webserveren skriveadgang til apps-mappen%s eller slå appstore fra i config-filen.",
"Cannot create \"data\" directory (%s)" : "Kan ikke oprette mappen \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Dette kan som regel rettes ved <a href=\"%s\" target=\"_blank\">give webserveren skriveadgang til rodmappen</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Rettigheder kan som regel rettes ved %sat give webserveren skriveadgang til rodmappen%s.",
"Setting locale to %s failed" : "Angivelse af %s for lokalitet mislykkedes",
"Please install one of these locales on your system and restart your webserver." : "Installér venligst én af disse lokaliteter på dit system, og genstart din webserver.",
"Please ask your server administrator to install the module." : "Du bedes anmode din serveradministrator om at installere modulet.",
diff --git a/lib/l10n/de.js b/lib/l10n/de.js
index 0ed8a3b208a..e8fc0cefdd9 100644
--- a/lib/l10n/de.js
+++ b/lib/l10n/de.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "ownCloud wird in einer früheren Version als %s benötigt.",
"Help" : "Hilfe",
"Personal" : "Persönlich",
- "Settings" : "Einstellungen",
"Users" : "Benutzer",
"Admin" : "Administration",
"Recommended" : "Empfohlen",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Es muss ein gültiges Passwort angegeben werden",
"The username is already being used" : "Dieser Benutzername existiert bereits",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Keine Datenbanktreiber (SQLite, MySQL oder PostgreSQL) installiert.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Berechtigungen können normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das Wurzelverzeichnis %s gegeben wird.",
"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 %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dies kann normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das Anwendungsverzeichnis %s gegeben wird oder die Anwendungsauswahl in der Konfigurationsdatei deaktiviert wird.",
"Cannot create \"data\" directory (%s)" : "Das Erstellen des „data“-Verzeichnisses ist nicht möglich (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Dies kann normalerweise repariert werden, indem dem Webserver <a href=\"%s\" target=\"_blank\" Schreibzugriff auf das Wurzelverzeichnis gegeben wird</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Berechtigungen können normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das Wurzelverzeichnis %s gegeben wird.",
"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 frage, für die Installation des Moduls, Deinen Server-Administrator.",
diff --git a/lib/l10n/de.json b/lib/l10n/de.json
index 6f101492749..fcebdf87fba 100644
--- a/lib/l10n/de.json
+++ b/lib/l10n/de.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "ownCloud wird in einer früheren Version als %s benötigt.",
"Help" : "Hilfe",
"Personal" : "Persönlich",
- "Settings" : "Einstellungen",
"Users" : "Benutzer",
"Admin" : "Administration",
"Recommended" : "Empfohlen",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Es muss ein gültiges Passwort angegeben werden",
"The username is already being used" : "Dieser Benutzername existiert bereits",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Keine Datenbanktreiber (SQLite, MySQL oder PostgreSQL) installiert.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Berechtigungen können normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das Wurzelverzeichnis %s gegeben wird.",
"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 %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dies kann normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das Anwendungsverzeichnis %s gegeben wird oder die Anwendungsauswahl in der Konfigurationsdatei deaktiviert wird.",
"Cannot create \"data\" directory (%s)" : "Das Erstellen des „data“-Verzeichnisses ist nicht möglich (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Dies kann normalerweise repariert werden, indem dem Webserver <a href=\"%s\" target=\"_blank\" Schreibzugriff auf das Wurzelverzeichnis gegeben wird</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Berechtigungen können normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das Wurzelverzeichnis %s gegeben wird.",
"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 frage, für die Installation des Moduls, Deinen Server-Administrator.",
diff --git a/lib/l10n/de_AT.js b/lib/l10n/de_AT.js
index 3c567ba4d2d..4dda0e03fd3 100644
--- a/lib/l10n/de_AT.js
+++ b/lib/l10n/de_AT.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Hilfe",
"Personal" : "Persönlich",
- "Settings" : "Einstellungen",
"_%n day ago_::_%n days ago_" : ["",""],
"_%n month ago_::_%n months ago_" : ["",""],
"_%n year ago_::_%n years ago_" : ["",""],
diff --git a/lib/l10n/de_AT.json b/lib/l10n/de_AT.json
index 6e81c34cf1a..90fce6927b0 100644
--- a/lib/l10n/de_AT.json
+++ b/lib/l10n/de_AT.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Hilfe",
"Personal" : "Persönlich",
- "Settings" : "Einstellungen",
"_%n day ago_::_%n days ago_" : ["",""],
"_%n month ago_::_%n months ago_" : ["",""],
"_%n year ago_::_%n years ago_" : ["",""],
diff --git a/lib/l10n/de_DE.js b/lib/l10n/de_DE.js
index 34b75e28884..8d106b62be3 100644
--- a/lib/l10n/de_DE.js
+++ b/lib/l10n/de_DE.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "ownCloud wird in einer früheren Version als %s benötigt.",
"Help" : "Hilfe",
"Personal" : "Persönlich",
- "Settings" : "Einstellungen",
"Users" : "Benutzer",
"Admin" : "Administrator",
"Recommended" : "Empfohlen",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Es muss ein gültiges Passwort angegeben werden",
"The username is already being used" : "Der Benutzername existiert bereits",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Keine Datenbanktreiber (SQLite, MYSQL oder PostgreSQL) installiert.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Berechtigungen können normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das Wurzelverzeichnis %s gegeben wird.",
"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 %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dies kann normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das Anwendungsverzeichnis %s gegeben wird oder die Anwendungsauswahl in der Konfigurationsdatei deaktiviert wird.",
"Cannot create \"data\" directory (%s)" : "Das Erstellen des „data“-Verzeichnisses ist nicht möglich (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Dies kann normalerweise repariert werden, indem dem Webserver <a href=\"%s\" target=\"_blank\" Schreibzugriff auf das Wurzelverzeichnis gegeben wird</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Berechtigungen können normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das Wurzelverzeichnis %s gegeben wird.",
"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 fragen Sie, für die Installation des Moduls, Ihren Server-Administrator.",
diff --git a/lib/l10n/de_DE.json b/lib/l10n/de_DE.json
index a64b625fa8e..4d22a549fa4 100644
--- a/lib/l10n/de_DE.json
+++ b/lib/l10n/de_DE.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "ownCloud wird in einer früheren Version als %s benötigt.",
"Help" : "Hilfe",
"Personal" : "Persönlich",
- "Settings" : "Einstellungen",
"Users" : "Benutzer",
"Admin" : "Administrator",
"Recommended" : "Empfohlen",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Es muss ein gültiges Passwort angegeben werden",
"The username is already being used" : "Der Benutzername existiert bereits",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Keine Datenbanktreiber (SQLite, MYSQL oder PostgreSQL) installiert.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Berechtigungen können normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das Wurzelverzeichnis %s gegeben wird.",
"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 %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dies kann normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das Anwendungsverzeichnis %s gegeben wird oder die Anwendungsauswahl in der Konfigurationsdatei deaktiviert wird.",
"Cannot create \"data\" directory (%s)" : "Das Erstellen des „data“-Verzeichnisses ist nicht möglich (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Dies kann normalerweise repariert werden, indem dem Webserver <a href=\"%s\" target=\"_blank\" Schreibzugriff auf das Wurzelverzeichnis gegeben wird</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Berechtigungen können normalerweise repariert werden, indem dem Webserver %s Schreibzugriff auf das Wurzelverzeichnis %s gegeben wird.",
"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 fragen Sie, für die Installation des Moduls, Ihren Server-Administrator.",
diff --git a/lib/l10n/el.js b/lib/l10n/el.js
index db45139a1cb..8272add406f 100644
--- a/lib/l10n/el.js
+++ b/lib/l10n/el.js
@@ -10,7 +10,6 @@ OC.L10N.register(
"PHP %s or higher is required." : "PHP %s ή νεώτερη απαιτείται.",
"Help" : "Βοήθεια",
"Personal" : "Προσωπικά",
- "Settings" : "Ρυθμίσεις",
"Users" : "Χρήστες",
"Admin" : "Διαχείριση",
"Recommended" : "Προτείνεται",
@@ -96,12 +95,12 @@ OC.L10N.register(
"A valid password must be provided" : "Πρέπει να δοθεί έγκυρο συνθηματικό",
"The username is already being used" : "Το όνομα χρήστη είναι κατειλημμένο",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Δεν βρέθηκαν εγκατεστημένοι οδηγοί βάσεων δεδομένων (sqlite, mysql, or postgresql).",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Τα δικαιώματα πρόσβασης μπορούν συνήθως να διορθωθούν %sδίνοντας δικαιώματα εγγραφής για τον βασικό κατάλογο στο διακομιστή δικτύου%s.",
"Cannot write into \"config\" directory" : "Αδυναμία εγγραφής στον κατάλογο \"config\"",
"Cannot write into \"apps\" directory" : "Αδυναμία εγγραφής στον κατάλογο \"apps\"",
"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)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Αυτό μπορεί συνήθως να διορθωθεί <a href=\"%s\" target=\"_blank\">δίνοντας δικαιώματα εγγραφής για το βασικό κατάλογο στο διακομιστή δικτύου</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Τα δικαιώματα πρόσβασης μπορούν συνήθως να διορθωθούν %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." : "Παρακαλώ ζητήστε από το διαχειριστή του διακομιστή σας να εγκαταστήσει τη μονάδα.",
diff --git a/lib/l10n/el.json b/lib/l10n/el.json
index da637c4a12b..c62fd99589b 100644
--- a/lib/l10n/el.json
+++ b/lib/l10n/el.json
@@ -8,7 +8,6 @@
"PHP %s or higher is required." : "PHP %s ή νεώτερη απαιτείται.",
"Help" : "Βοήθεια",
"Personal" : "Προσωπικά",
- "Settings" : "Ρυθμίσεις",
"Users" : "Χρήστες",
"Admin" : "Διαχείριση",
"Recommended" : "Προτείνεται",
@@ -94,12 +93,12 @@
"A valid password must be provided" : "Πρέπει να δοθεί έγκυρο συνθηματικό",
"The username is already being used" : "Το όνομα χρήστη είναι κατειλημμένο",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Δεν βρέθηκαν εγκατεστημένοι οδηγοί βάσεων δεδομένων (sqlite, mysql, or postgresql).",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Τα δικαιώματα πρόσβασης μπορούν συνήθως να διορθωθούν %sδίνοντας δικαιώματα εγγραφής για τον βασικό κατάλογο στο διακομιστή δικτύου%s.",
"Cannot write into \"config\" directory" : "Αδυναμία εγγραφής στον κατάλογο \"config\"",
"Cannot write into \"apps\" directory" : "Αδυναμία εγγραφής στον κατάλογο \"apps\"",
"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)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Αυτό μπορεί συνήθως να διορθωθεί <a href=\"%s\" target=\"_blank\">δίνοντας δικαιώματα εγγραφής για το βασικό κατάλογο στο διακομιστή δικτύου</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Τα δικαιώματα πρόσβασης μπορούν συνήθως να διορθωθούν %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." : "Παρακαλώ ζητήστε από το διαχειριστή του διακομιστή σας να εγκαταστήσει τη μονάδα.",
diff --git a/lib/l10n/en_GB.js b/lib/l10n/en_GB.js
index e3c2a7ab67d..6bf8f1ee211 100644
--- a/lib/l10n/en_GB.js
+++ b/lib/l10n/en_GB.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "ownCloud with a version lower than %s is required.",
"Help" : "Help",
"Personal" : "Personal",
- "Settings" : "Settings",
"Users" : "Users",
"Admin" : "Admin",
"Recommended" : "Recommended",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "A valid password must be provided",
"The username is already being used" : "The username is already being used",
"No database drivers (sqlite, mysql, or postgresql) installed." : "No database drivers (sqlite, mysql, or postgresql) installed.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s.",
"Cannot write into \"config\" directory" : "Cannot write into \"config\" directory",
"Cannot write into \"apps\" directory" : "Cannot write into \"apps\" directory",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file.",
"Cannot create \"data\" directory (%s)" : "Cannot create \"data\" directory (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s.",
"Setting locale to %s failed" : "Setting locale to %s failed",
"Please install one of these locales on your system and restart your webserver." : "Please install one of these locales on your system and restart your webserver.",
"Please ask your server administrator to install the module." : "Please ask your server administrator to install the module.",
diff --git a/lib/l10n/en_GB.json b/lib/l10n/en_GB.json
index 013afd3a0d1..f5672749549 100644
--- a/lib/l10n/en_GB.json
+++ b/lib/l10n/en_GB.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "ownCloud with a version lower than %s is required.",
"Help" : "Help",
"Personal" : "Personal",
- "Settings" : "Settings",
"Users" : "Users",
"Admin" : "Admin",
"Recommended" : "Recommended",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "A valid password must be provided",
"The username is already being used" : "The username is already being used",
"No database drivers (sqlite, mysql, or postgresql) installed." : "No database drivers (sqlite, mysql, or postgresql) installed.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s.",
"Cannot write into \"config\" directory" : "Cannot write into \"config\" directory",
"Cannot write into \"apps\" directory" : "Cannot write into \"apps\" directory",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file.",
"Cannot create \"data\" directory (%s)" : "Cannot create \"data\" directory (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s.",
"Setting locale to %s failed" : "Setting locale to %s failed",
"Please install one of these locales on your system and restart your webserver." : "Please install one of these locales on your system and restart your webserver.",
"Please ask your server administrator to install the module." : "Please ask your server administrator to install the module.",
diff --git a/lib/l10n/eo.js b/lib/l10n/eo.js
index fdf8d5b5ab0..9a3ca42ac23 100644
--- a/lib/l10n/eo.js
+++ b/lib/l10n/eo.js
@@ -5,7 +5,6 @@ OC.L10N.register(
"PHP %s or higher is required." : "PHP %s aŭ pli alta necesas.",
"Help" : "Helpo",
"Personal" : "Persona",
- "Settings" : "Agordo",
"Users" : "Uzantoj",
"Admin" : "Administranto",
"App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." : "La aplikaĵo “%s” ne povas instaliĝi ĉar ĝi ne kongruas kun ĉi tiu eldono de ownCloud.",
diff --git a/lib/l10n/eo.json b/lib/l10n/eo.json
index bd433423828..17aba175900 100644
--- a/lib/l10n/eo.json
+++ b/lib/l10n/eo.json
@@ -3,7 +3,6 @@
"PHP %s or higher is required." : "PHP %s aŭ pli alta necesas.",
"Help" : "Helpo",
"Personal" : "Persona",
- "Settings" : "Agordo",
"Users" : "Uzantoj",
"Admin" : "Administranto",
"App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." : "La aplikaĵo “%s” ne povas instaliĝi ĉar ĝi ne kongruas kun ĉi tiu eldono de ownCloud.",
diff --git a/lib/l10n/es.js b/lib/l10n/es.js
index d4a41b9e542..7a7c488bb19 100644
--- a/lib/l10n/es.js
+++ b/lib/l10n/es.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "ownCloud con una versión inferior que %s la requerida.",
"Help" : "Ayuda",
"Personal" : "Personal",
- "Settings" : "Ajustes",
"Users" : "Usuarios",
"Admin" : "Administración",
"Recommended" : "Recomendado",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Se debe proporcionar una contraseña válida",
"The username is already being used" : "El nombre de usuario ya está en uso",
"No database drivers (sqlite, mysql, or postgresql) installed." : "No están instalados los drivers de BBDD (sqlite, mysql, o postgresql)",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Los permisos normalmente puede solucionarse %sdándole al servidor permisos de escritura del directorio raíz%s.",
"Cannot write into \"config\" directory" : "No se puede escribir el el directorio de configuración",
"Cannot write into \"apps\" directory" : "No se puede escribir en el directorio de \"apps\"",
"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 puede solucionarse fácilmente %sdándole permisos de escritura al servidor en el directorio%s de apps o deshabilitando la tienda de apps en el archivo de configuración.",
"Cannot create \"data\" directory (%s)" : "No puedo crear del directorio \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Esto puede ser solucionado <a href=\"%s\" target=\"_blank\">dando al servidor web permisos de escritura en el directorio raíz</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Los permisos normalmente puede solucionarse %sdándole al servidor permisos de escritura del directorio raíz%s.",
"Setting locale to %s failed" : "Falló la activación del idioma %s ",
"Please install one of these locales on your system and restart your webserver." : "Instale uno de estos idiomas en su sistema y reinicie su servidor web.",
"Please ask your server administrator to install the module." : "Consulte al administrador de su servidor para instalar el módulo.",
diff --git a/lib/l10n/es.json b/lib/l10n/es.json
index 9ee46db45aa..d0a1218eb87 100644
--- a/lib/l10n/es.json
+++ b/lib/l10n/es.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "ownCloud con una versión inferior que %s la requerida.",
"Help" : "Ayuda",
"Personal" : "Personal",
- "Settings" : "Ajustes",
"Users" : "Usuarios",
"Admin" : "Administración",
"Recommended" : "Recomendado",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Se debe proporcionar una contraseña válida",
"The username is already being used" : "El nombre de usuario ya está en uso",
"No database drivers (sqlite, mysql, or postgresql) installed." : "No están instalados los drivers de BBDD (sqlite, mysql, o postgresql)",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Los permisos normalmente puede solucionarse %sdándole al servidor permisos de escritura del directorio raíz%s.",
"Cannot write into \"config\" directory" : "No se puede escribir el el directorio de configuración",
"Cannot write into \"apps\" directory" : "No se puede escribir en el directorio de \"apps\"",
"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 puede solucionarse fácilmente %sdándole permisos de escritura al servidor en el directorio%s de apps o deshabilitando la tienda de apps en el archivo de configuración.",
"Cannot create \"data\" directory (%s)" : "No puedo crear del directorio \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Esto puede ser solucionado <a href=\"%s\" target=\"_blank\">dando al servidor web permisos de escritura en el directorio raíz</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Los permisos normalmente puede solucionarse %sdándole al servidor permisos de escritura del directorio raíz%s.",
"Setting locale to %s failed" : "Falló la activación del idioma %s ",
"Please install one of these locales on your system and restart your webserver." : "Instale uno de estos idiomas en su sistema y reinicie su servidor web.",
"Please ask your server administrator to install the module." : "Consulte al administrador de su servidor para instalar el módulo.",
diff --git a/lib/l10n/es_AR.js b/lib/l10n/es_AR.js
index bc291ddb3b6..db0da45be58 100644
--- a/lib/l10n/es_AR.js
+++ b/lib/l10n/es_AR.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Ayuda",
"Personal" : "Personal",
- "Settings" : "Configuración",
"Users" : "Usuarios",
"Admin" : "Administración",
"No app name specified" : "No fue especificado el nombre de la app",
diff --git a/lib/l10n/es_AR.json b/lib/l10n/es_AR.json
index e1245fabfef..2b95e2ab678 100644
--- a/lib/l10n/es_AR.json
+++ b/lib/l10n/es_AR.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Ayuda",
"Personal" : "Personal",
- "Settings" : "Configuración",
"Users" : "Usuarios",
"Admin" : "Administración",
"No app name specified" : "No fue especificado el nombre de la app",
diff --git a/lib/l10n/es_CL.js b/lib/l10n/es_CL.js
index 84e47673937..70629b8d2db 100644
--- a/lib/l10n/es_CL.js
+++ b/lib/l10n/es_CL.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Generalmente esto se puede resolver %s otorgando permisos de escritura al servidor web en la carpeta configurada %s",
"Help" : "Ayuda",
"Personal" : "Personal",
- "Settings" : "Configuración",
"Users" : "Usuarios",
"Admin" : "Administración",
"App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." : "La aplicación \\\"%s\\\" no puede ser instalada debido a que no es compatible con esta versión de ownCloud.",
diff --git a/lib/l10n/es_CL.json b/lib/l10n/es_CL.json
index 946cf11dc09..f9b9abab6c1 100644
--- a/lib/l10n/es_CL.json
+++ b/lib/l10n/es_CL.json
@@ -5,7 +5,6 @@
"This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Generalmente esto se puede resolver %s otorgando permisos de escritura al servidor web en la carpeta configurada %s",
"Help" : "Ayuda",
"Personal" : "Personal",
- "Settings" : "Configuración",
"Users" : "Usuarios",
"Admin" : "Administración",
"App \\\"%s\\\" can't be installed because it is not compatible with this version of ownCloud." : "La aplicación \\\"%s\\\" no puede ser instalada debido a que no es compatible con esta versión de ownCloud.",
diff --git a/lib/l10n/es_MX.js b/lib/l10n/es_MX.js
index e739b14c9fd..f607baaf755 100644
--- a/lib/l10n/es_MX.js
+++ b/lib/l10n/es_MX.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Ayuda",
"Personal" : "Personal",
- "Settings" : "Ajustes",
"Users" : "Usuarios",
"Admin" : "Administración",
"No app name specified" : "No se ha especificado nombre de la aplicación",
diff --git a/lib/l10n/es_MX.json b/lib/l10n/es_MX.json
index 9b63e52244c..55f23534ea6 100644
--- a/lib/l10n/es_MX.json
+++ b/lib/l10n/es_MX.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Ayuda",
"Personal" : "Personal",
- "Settings" : "Ajustes",
"Users" : "Usuarios",
"Admin" : "Administración",
"No app name specified" : "No se ha especificado nombre de la aplicación",
diff --git a/lib/l10n/et_EE.js b/lib/l10n/et_EE.js
index 2718a1e4223..e952ca79f8c 100644
--- a/lib/l10n/et_EE.js
+++ b/lib/l10n/et_EE.js
@@ -10,7 +10,6 @@ OC.L10N.register(
"PHP %s or higher is required." : "PHP %s või uuem on nõutav.",
"Help" : "Abiinfo",
"Personal" : "Isiklik",
- "Settings" : "Seaded",
"Users" : "Kasutajad",
"Admin" : "Admin",
"Recommended" : "Soovitatud",
@@ -94,12 +93,12 @@ OC.L10N.register(
"A valid password must be provided" : "Sisesta nõuetele vastav parool",
"The username is already being used" : "Kasutajanimi on juba kasutuses",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ühtegi andmebaasi (sqlite, mysql või postgresql) draiverit pole paigaldatud.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Õigused saab tavaliselt paika %s andes veebiserverile juurkataloogile kirjutusõigused %s",
"Cannot write into \"config\" directory" : "Ei saa kirjutada \"config\" kataloogi",
"Cannot write into \"apps\" directory" : "Ei saa kirjutada \"apps\" kataloogi!",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Tavaliselt saab selle lahendada %s andes veebiserverile rakendite kataloogile kirjutusõigused %s või keelates seadetes rakendikogu.",
"Cannot create \"data\" directory (%s)" : "Ei suuda luua \"data\" kataloogi (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Tavaliselt saab selle lahendada <a href=\"%s\" target=\"_blank\">andes veebiserverile juur-kataloogile kirjutusõigused</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Õigused saab tavaliselt paika %s andes veebiserverile juurkataloogile kirjutusõigused %s",
"Setting locale to %s failed" : "Lokaadi %s määramine ebaõnnestus.",
"Please install one of these locales on your system and restart your webserver." : "Palun paigalda mõni neist lokaatides oma süsteemi ning taaskäivita veebiserver.",
"Please ask your server administrator to install the module." : "Palu oma serveri haldajal moodul paigadalda.",
diff --git a/lib/l10n/et_EE.json b/lib/l10n/et_EE.json
index f71ee98481d..911afbe449b 100644
--- a/lib/l10n/et_EE.json
+++ b/lib/l10n/et_EE.json
@@ -8,7 +8,6 @@
"PHP %s or higher is required." : "PHP %s või uuem on nõutav.",
"Help" : "Abiinfo",
"Personal" : "Isiklik",
- "Settings" : "Seaded",
"Users" : "Kasutajad",
"Admin" : "Admin",
"Recommended" : "Soovitatud",
@@ -92,12 +91,12 @@
"A valid password must be provided" : "Sisesta nõuetele vastav parool",
"The username is already being used" : "Kasutajanimi on juba kasutuses",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ühtegi andmebaasi (sqlite, mysql või postgresql) draiverit pole paigaldatud.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Õigused saab tavaliselt paika %s andes veebiserverile juurkataloogile kirjutusõigused %s",
"Cannot write into \"config\" directory" : "Ei saa kirjutada \"config\" kataloogi",
"Cannot write into \"apps\" directory" : "Ei saa kirjutada \"apps\" kataloogi!",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Tavaliselt saab selle lahendada %s andes veebiserverile rakendite kataloogile kirjutusõigused %s või keelates seadetes rakendikogu.",
"Cannot create \"data\" directory (%s)" : "Ei suuda luua \"data\" kataloogi (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Tavaliselt saab selle lahendada <a href=\"%s\" target=\"_blank\">andes veebiserverile juur-kataloogile kirjutusõigused</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Õigused saab tavaliselt paika %s andes veebiserverile juurkataloogile kirjutusõigused %s",
"Setting locale to %s failed" : "Lokaadi %s määramine ebaõnnestus.",
"Please install one of these locales on your system and restart your webserver." : "Palun paigalda mõni neist lokaatides oma süsteemi ning taaskäivita veebiserver.",
"Please ask your server administrator to install the module." : "Palu oma serveri haldajal moodul paigadalda.",
diff --git a/lib/l10n/eu.js b/lib/l10n/eu.js
index e28eec8e214..9c96dca09df 100644
--- a/lib/l10n/eu.js
+++ b/lib/l10n/eu.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "ownCloud %s baino bertsio txikiagoa behar da.",
"Help" : "Laguntza",
"Personal" : "Pertsonala",
- "Settings" : "Ezarpenak",
"Users" : "Erabiltzaileak",
"Admin" : "Admin",
"Recommended" : "Aholkatuta",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Baliozko pasahitza eman behar da",
"The username is already being used" : "Erabiltzaile izena dagoeneko erabiltzen ari da",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ez dago datubaseen (sqlite, mysql edo postgresql) driverrik instalatuta.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Hau normalean konpondu daiteke %sweb zerbitzarira erro karpetan idazteko baimenak emanez%s.",
"Cannot write into \"config\" directory" : "Ezin da idatzi \"config\" karpetan",
"Cannot write into \"apps\" directory" : "Ezin da idatzi \"apps\" karpetan",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Hau normalean konpondu daiteke %sweb zerbitzarira apps karpetan idazteko baimenak emanez%s edo konfigurazio fitxategian appstorea ez gaituz.",
"Cannot create \"data\" directory (%s)" : "Ezin da \"data\" karpeta sortu (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Hau normalean konpondu daiteke <a href=\"%s\" target=\"_blank\">web zerbitzarira erro karpetan idazteko baimenak emanez</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Hau normalean konpondu daiteke %sweb zerbitzarira erro karpetan idazteko baimenak emanez%s.",
"Setting locale to %s failed" : "Lokala %sra ezartzeak huts egin du",
"Please install one of these locales on your system and restart your webserver." : "Instalatu hauetako lokal bat zure sisteman eta berrabiarazi zure web zerbitzaria.",
"Please ask your server administrator to install the module." : "Mesedez eskatu zure zerbitzariaren kudeatzaileari modulua instala dezan.",
diff --git a/lib/l10n/eu.json b/lib/l10n/eu.json
index 6405f8968fb..286d9e763fe 100644
--- a/lib/l10n/eu.json
+++ b/lib/l10n/eu.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "ownCloud %s baino bertsio txikiagoa behar da.",
"Help" : "Laguntza",
"Personal" : "Pertsonala",
- "Settings" : "Ezarpenak",
"Users" : "Erabiltzaileak",
"Admin" : "Admin",
"Recommended" : "Aholkatuta",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Baliozko pasahitza eman behar da",
"The username is already being used" : "Erabiltzaile izena dagoeneko erabiltzen ari da",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ez dago datubaseen (sqlite, mysql edo postgresql) driverrik instalatuta.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Hau normalean konpondu daiteke %sweb zerbitzarira erro karpetan idazteko baimenak emanez%s.",
"Cannot write into \"config\" directory" : "Ezin da idatzi \"config\" karpetan",
"Cannot write into \"apps\" directory" : "Ezin da idatzi \"apps\" karpetan",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Hau normalean konpondu daiteke %sweb zerbitzarira apps karpetan idazteko baimenak emanez%s edo konfigurazio fitxategian appstorea ez gaituz.",
"Cannot create \"data\" directory (%s)" : "Ezin da \"data\" karpeta sortu (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Hau normalean konpondu daiteke <a href=\"%s\" target=\"_blank\">web zerbitzarira erro karpetan idazteko baimenak emanez</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Hau normalean konpondu daiteke %sweb zerbitzarira erro karpetan idazteko baimenak emanez%s.",
"Setting locale to %s failed" : "Lokala %sra ezartzeak huts egin du",
"Please install one of these locales on your system and restart your webserver." : "Instalatu hauetako lokal bat zure sisteman eta berrabiarazi zure web zerbitzaria.",
"Please ask your server administrator to install the module." : "Mesedez eskatu zure zerbitzariaren kudeatzaileari modulua instala dezan.",
diff --git a/lib/l10n/fa.js b/lib/l10n/fa.js
index e5cacb279d4..33f9633e65f 100644
--- a/lib/l10n/fa.js
+++ b/lib/l10n/fa.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "راه‌نما",
"Personal" : "شخصی",
- "Settings" : "تنظیمات",
"Users" : "کاربران",
"Admin" : "مدیر",
"Unknown filetype" : "نوع فایل ناشناخته",
diff --git a/lib/l10n/fa.json b/lib/l10n/fa.json
index 608d66645da..5f419ccf229 100644
--- a/lib/l10n/fa.json
+++ b/lib/l10n/fa.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "راه‌نما",
"Personal" : "شخصی",
- "Settings" : "تنظیمات",
"Users" : "کاربران",
"Admin" : "مدیر",
"Unknown filetype" : "نوع فایل ناشناخته",
diff --git a/lib/l10n/fi_FI.js b/lib/l10n/fi_FI.js
index 5c37b9c4093..8be70237972 100644
--- a/lib/l10n/fi_FI.js
+++ b/lib/l10n/fi_FI.js
@@ -18,7 +18,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "ownCloud versiota %s alempi vaaditaan.",
"Help" : "Ohje",
"Personal" : "Henkilökohtainen",
- "Settings" : "Asetukset",
"Users" : "Käyttäjät",
"Admin" : "Ylläpito",
"Recommended" : "Suositeltu",
diff --git a/lib/l10n/fi_FI.json b/lib/l10n/fi_FI.json
index 38215ca862d..c19b81afa72 100644
--- a/lib/l10n/fi_FI.json
+++ b/lib/l10n/fi_FI.json
@@ -16,7 +16,6 @@
"ownCloud with a version lower than %s is required." : "ownCloud versiota %s alempi vaaditaan.",
"Help" : "Ohje",
"Personal" : "Henkilökohtainen",
- "Settings" : "Asetukset",
"Users" : "Käyttäjät",
"Admin" : "Ylläpito",
"Recommended" : "Suositeltu",
diff --git a/lib/l10n/fr.js b/lib/l10n/fr.js
index 6e86a0fb4fb..aff31f2cd44 100644
--- a/lib/l10n/fr.js
+++ b/lib/l10n/fr.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "Une version antérieure à %s d'ownCloud est requise.",
"Help" : "Aide",
"Personal" : "Personnel",
- "Settings" : "Paramètres",
"Users" : "Utilisateurs",
"Admin" : "Administration",
"Recommended" : "Recommandée",
@@ -93,7 +92,7 @@ OC.L10N.register(
"Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Le réglage des permissions pour %s a échoué car les permissions dépassent celles accordées à %s",
"Setting permissions for %s failed, because the item was not found" : "Le réglage des permissions pour %s a échoué car l'objet n'a pas été trouvé",
"Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Impossible de configurer la date d'expiration. Un partage ne peut expirer plus de %s après sa création",
- "Cannot set expiration date. Expiration date is in the past" : "Impossible de configurer la date d'expiration. La date d'expiration est dans le passé.",
+ "Cannot set expiration date. Expiration date is in the past" : "Impossible de configurer la date d'expiration : elle est dans le passé.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Le service de partage %s doit implémenter l'interface OCP\\Share_Backend",
"Sharing backend %s not found" : "Service de partage %s non trouvé",
"Sharing backend for %s not found" : "Le service de partage pour %s est introuvable",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Un mot de passe valide doit être saisi",
"The username is already being used" : "Ce nom d'utilisateur est déjà utilisé",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Aucun pilote de base de données (sqlite, mysql, ou postgresql) n’est installé.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Les permissions peuvent, généralement, être résolues %sen donnant au serveur web un accès en écriture au répertoire racine%s",
"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 %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Ce problème est généralement résolu %sen donnant au serveur web un accès en écriture au répertoire apps%s ou en désactivant l'appstore dans le fichier de configuration.",
"Cannot create \"data\" directory (%s)" : "Impossible de créer le répertoire \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Ce problème est généralement résolu <a href=\"%s\" target=\"_blank\">en donnant au serveur web un accès en écriture au répertoire racine</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Les permissions peuvent, généralement, être résolues %sen donnant au serveur web un accès en écriture au répertoire racine%s",
"Setting locale to %s failed" : "Le choix de la langue pour %s a échoué",
"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 46384b46402..460822d3e8b 100644
--- a/lib/l10n/fr.json
+++ b/lib/l10n/fr.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "Une version antérieure à %s d'ownCloud est requise.",
"Help" : "Aide",
"Personal" : "Personnel",
- "Settings" : "Paramètres",
"Users" : "Utilisateurs",
"Admin" : "Administration",
"Recommended" : "Recommandée",
@@ -91,7 +90,7 @@
"Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Le réglage des permissions pour %s a échoué car les permissions dépassent celles accordées à %s",
"Setting permissions for %s failed, because the item was not found" : "Le réglage des permissions pour %s a échoué car l'objet n'a pas été trouvé",
"Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Impossible de configurer la date d'expiration. Un partage ne peut expirer plus de %s après sa création",
- "Cannot set expiration date. Expiration date is in the past" : "Impossible de configurer la date d'expiration. La date d'expiration est dans le passé.",
+ "Cannot set expiration date. Expiration date is in the past" : "Impossible de configurer la date d'expiration : elle est dans le passé.",
"Sharing backend %s must implement the interface OCP\\Share_Backend" : "Le service de partage %s doit implémenter l'interface OCP\\Share_Backend",
"Sharing backend %s not found" : "Service de partage %s non trouvé",
"Sharing backend for %s not found" : "Le service de partage pour %s est introuvable",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Un mot de passe valide doit être saisi",
"The username is already being used" : "Ce nom d'utilisateur est déjà utilisé",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Aucun pilote de base de données (sqlite, mysql, ou postgresql) n’est installé.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Les permissions peuvent, généralement, être résolues %sen donnant au serveur web un accès en écriture au répertoire racine%s",
"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 %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Ce problème est généralement résolu %sen donnant au serveur web un accès en écriture au répertoire apps%s ou en désactivant l'appstore dans le fichier de configuration.",
"Cannot create \"data\" directory (%s)" : "Impossible de créer le répertoire \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Ce problème est généralement résolu <a href=\"%s\" target=\"_blank\">en donnant au serveur web un accès en écriture au répertoire racine</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Les permissions peuvent, généralement, être résolues %sen donnant au serveur web un accès en écriture au répertoire racine%s",
"Setting locale to %s failed" : "Le choix de la langue pour %s a échoué",
"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/gl.js b/lib/l10n/gl.js
index 6a6704799ff..a26629e9418 100644
--- a/lib/l10n/gl.js
+++ b/lib/l10n/gl.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "Requírese ownCloud cunha versión inferior a %s.",
"Help" : "Axuda",
"Personal" : "Persoal",
- "Settings" : "Axustes",
"Users" : "Usuarios",
"Admin" : "Administración",
"Recommended" : "Recomendado",
@@ -108,19 +107,19 @@ OC.L10N.register(
"A valid password must be provided" : "Debe fornecer un contrasinal",
"The username is already being used" : "Este nome de usuario xa está a ser usado",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Non hay controladores de base de datos (sqlite, mysql, ou postgresql) instalados.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Polo xeral, isto pode ser fixado para %spermitirlle ao servidor web acceso de escritura ao directorio «root»%s.",
"Cannot write into \"config\" directory" : "Non é posíbel escribir no directorio «config»",
"Cannot write into \"apps\" directory" : "Non é posíbel escribir no directorio «apps»",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Polo xeral, isto pode ser fixado para %spermitirlle ao servidor web acceso de escritura ao directorio «apps»%s ou a desactivación da «appstore» no ficheiro de configuración.",
"Cannot create \"data\" directory (%s)" : "Non é posíbel crear o directorio «data» (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Polo xeral, isto pode ser fixado para <a href=\"%s\" target=\"_blank\">permitirlle ao servidor web acceso de escritura ao directorio «root»</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Polo xeral, isto pode ser fixado para %spermitirlle ao servidor web acceso de escritura ao directorio «root»%s.",
"Setting locale to %s failed" : "Fallou o axuste da configuración local a %s",
"Please install one of these locales on your system and restart your webserver." : "Instale unha destas configuracións locais no seu sistema e reinicie o servidor web.",
"Please ask your server administrator to install the module." : "Pregúntelle ao administrador do servidor pola instalación do módulo.",
"PHP module %s not installed." : "O módulo PHP %s non está instalado.",
"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." : "Pregúntelle ao administrador do servidor pola actualización de PHP á versión máis recente. A súa versión de PHP xa non é asistida polas comunidades de ownCloud e PHP.",
- "PHP is configured to populate raw post data. Since PHP 5.6 this will lead to PHP throwing notices for perfectly valid code." : "PHP está configurado para surtir datos de código en bruto. Desde PHP 5.6 esto levará a que PHP proporcione avisos con código perfectamente válido.",
- "To fix this issue set <code>always_populate_raw_post_data</code> to <code>-1</code> in your php.ini" : "Para solucionar este asunto estableza <code>always_populate_raw_post_data</code> a <code>-1</code> no seu php.ini",
+ "PHP is configured to populate raw post data. Since PHP 5.6 this will lead to PHP throwing notices for perfectly valid code." : "PHP está configurado para encher datos de código en bruto. Desde PHP 5.6 isto levará a que PHP forneza avisos con código perfectamente correcto.",
+ "To fix this issue set <code>always_populate_raw_post_data</code> to <code>-1</code> in your php.ini" : "Para solucionar este problema estabeleza <code>always_populate_raw_post_data</code> a <code>-1</code> no seu php.ini",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Parece que PHP foi configuración para substituír bloques de documentos en liña. Isto fará que varias aplicacións sexan inaccesíbeis.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isto probabelmente se debe unha caché/acelerador como Zend OPcache ou eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "Instaláronse os módulos de PHP, mais aínda aparecen listados como perdidos?",
diff --git a/lib/l10n/gl.json b/lib/l10n/gl.json
index c9feefa2f53..ff5c6861120 100644
--- a/lib/l10n/gl.json
+++ b/lib/l10n/gl.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "Requírese ownCloud cunha versión inferior a %s.",
"Help" : "Axuda",
"Personal" : "Persoal",
- "Settings" : "Axustes",
"Users" : "Usuarios",
"Admin" : "Administración",
"Recommended" : "Recomendado",
@@ -106,19 +105,19 @@
"A valid password must be provided" : "Debe fornecer un contrasinal",
"The username is already being used" : "Este nome de usuario xa está a ser usado",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Non hay controladores de base de datos (sqlite, mysql, ou postgresql) instalados.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Polo xeral, isto pode ser fixado para %spermitirlle ao servidor web acceso de escritura ao directorio «root»%s.",
"Cannot write into \"config\" directory" : "Non é posíbel escribir no directorio «config»",
"Cannot write into \"apps\" directory" : "Non é posíbel escribir no directorio «apps»",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Polo xeral, isto pode ser fixado para %spermitirlle ao servidor web acceso de escritura ao directorio «apps»%s ou a desactivación da «appstore» no ficheiro de configuración.",
"Cannot create \"data\" directory (%s)" : "Non é posíbel crear o directorio «data» (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Polo xeral, isto pode ser fixado para <a href=\"%s\" target=\"_blank\">permitirlle ao servidor web acceso de escritura ao directorio «root»</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Polo xeral, isto pode ser fixado para %spermitirlle ao servidor web acceso de escritura ao directorio «root»%s.",
"Setting locale to %s failed" : "Fallou o axuste da configuración local a %s",
"Please install one of these locales on your system and restart your webserver." : "Instale unha destas configuracións locais no seu sistema e reinicie o servidor web.",
"Please ask your server administrator to install the module." : "Pregúntelle ao administrador do servidor pola instalación do módulo.",
"PHP module %s not installed." : "O módulo PHP %s non está instalado.",
"Please ask your server administrator to update PHP to the latest version. Your PHP version is no longer supported by ownCloud and the PHP community." : "Pregúntelle ao administrador do servidor pola actualización de PHP á versión máis recente. A súa versión de PHP xa non é asistida polas comunidades de ownCloud e PHP.",
- "PHP is configured to populate raw post data. Since PHP 5.6 this will lead to PHP throwing notices for perfectly valid code." : "PHP está configurado para surtir datos de código en bruto. Desde PHP 5.6 esto levará a que PHP proporcione avisos con código perfectamente válido.",
- "To fix this issue set <code>always_populate_raw_post_data</code> to <code>-1</code> in your php.ini" : "Para solucionar este asunto estableza <code>always_populate_raw_post_data</code> a <code>-1</code> no seu php.ini",
+ "PHP is configured to populate raw post data. Since PHP 5.6 this will lead to PHP throwing notices for perfectly valid code." : "PHP está configurado para encher datos de código en bruto. Desde PHP 5.6 isto levará a que PHP forneza avisos con código perfectamente correcto.",
+ "To fix this issue set <code>always_populate_raw_post_data</code> to <code>-1</code> in your php.ini" : "Para solucionar este problema estabeleza <code>always_populate_raw_post_data</code> a <code>-1</code> no seu php.ini",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Parece que PHP foi configuración para substituír bloques de documentos en liña. Isto fará que varias aplicacións sexan inaccesíbeis.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Isto probabelmente se debe unha caché/acelerador como Zend OPcache ou eAccelerator.",
"PHP modules have been installed, but they are still listed as missing?" : "Instaláronse os módulos de PHP, mais aínda aparecen listados como perdidos?",
diff --git a/lib/l10n/he.js b/lib/l10n/he.js
index 200d3d7035a..23561a4d3a5 100644
--- a/lib/l10n/he.js
+++ b/lib/l10n/he.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "עזרה",
"Personal" : "אישי",
- "Settings" : "הגדרות",
"Users" : "משתמשים",
"Admin" : "מנהל",
"today" : "היום",
diff --git a/lib/l10n/he.json b/lib/l10n/he.json
index 0cadc7beba2..2e1453c7916 100644
--- a/lib/l10n/he.json
+++ b/lib/l10n/he.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "עזרה",
"Personal" : "אישי",
- "Settings" : "הגדרות",
"Users" : "משתמשים",
"Admin" : "מנהל",
"today" : "היום",
diff --git a/lib/l10n/hi.js b/lib/l10n/hi.js
index fdc0ecac1a2..b4741e9aa06 100644
--- a/lib/l10n/hi.js
+++ b/lib/l10n/hi.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "सहयोग",
"Personal" : "यक्तिगत",
- "Settings" : "सेटिंग्स",
"Users" : "उपयोगकर्ता",
"_%n day ago_::_%n days ago_" : ["",""],
"_%n month ago_::_%n months ago_" : ["",""],
diff --git a/lib/l10n/hi.json b/lib/l10n/hi.json
index b231ead2917..b7347838a83 100644
--- a/lib/l10n/hi.json
+++ b/lib/l10n/hi.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "सहयोग",
"Personal" : "यक्तिगत",
- "Settings" : "सेटिंग्स",
"Users" : "उपयोगकर्ता",
"_%n day ago_::_%n days ago_" : ["",""],
"_%n month ago_::_%n months ago_" : ["",""],
diff --git a/lib/l10n/hr.js b/lib/l10n/hr.js
index 3c2df29120a..34d5ec9f160 100644
--- a/lib/l10n/hr.js
+++ b/lib/l10n/hr.js
@@ -16,7 +16,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "ownCloud sa verzijom manjom od %s je potrebna.",
"Help" : "Pomoć",
"Personal" : "Osobno",
- "Settings" : "Postavke",
"Users" : "Korisnici",
"Admin" : "Admin",
"Recommended" : "Preporuceno",
@@ -102,12 +101,12 @@ OC.L10N.register(
"A valid password must be provided" : "Nužno je navesti ispravnu lozinku",
"The username is already being used" : "Korisničko ime se već koristi",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Pogonski programi baze podataka (sqlite, mysql, ili postgresql) nisu instalirani.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dozvole se obično mogu popraviti %sdavanjem pristupa web poslužitelju za pisanje u korijenskom direktoriju%s",
"Cannot write into \"config\" directory" : "Nije moguće zapisivati u \"config\" direktorij",
"Cannot write into \"apps\" directory" : "Nije moguće zapisivati u \"apps\" direktorij",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Ovo se obično može popraviti %sdavanjem pristupa web poslužitelju za pisanje u apps direktorij%sili isključivanjem appstorea u konfiguracijskoj datoteci.",
"Cannot create \"data\" directory (%s)" : "Kreiranje \"data\" direktorija (%s) nije moguće",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Ovo obično može popraviti <a href=\"%s\"target=\"_blank\">davanjem pristupa web poslužiteljuza pisanje u korijenskom direktoriju</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dozvole se obično mogu popraviti %sdavanjem pristupa web poslužitelju za pisanje u korijenskom direktoriju%s",
"Setting locale to %s failed" : "Postavljanje regionalne sheme u %s nije uspjelo",
"Please install one of these locales on your system and restart your webserver." : "Molimo instalirajte jednu od ovih regionalnih shema u svoj sustav i ponovno pokrenite svoj web poslužitelj.",
"Please ask your server administrator to install the module." : "Molimo zamolite svog administratora poslužitelja da instalira modul.",
diff --git a/lib/l10n/hr.json b/lib/l10n/hr.json
index 372d5515966..5e933fead22 100644
--- a/lib/l10n/hr.json
+++ b/lib/l10n/hr.json
@@ -14,7 +14,6 @@
"ownCloud with a version lower than %s is required." : "ownCloud sa verzijom manjom od %s je potrebna.",
"Help" : "Pomoć",
"Personal" : "Osobno",
- "Settings" : "Postavke",
"Users" : "Korisnici",
"Admin" : "Admin",
"Recommended" : "Preporuceno",
@@ -100,12 +99,12 @@
"A valid password must be provided" : "Nužno je navesti ispravnu lozinku",
"The username is already being used" : "Korisničko ime se već koristi",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Pogonski programi baze podataka (sqlite, mysql, ili postgresql) nisu instalirani.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dozvole se obično mogu popraviti %sdavanjem pristupa web poslužitelju za pisanje u korijenskom direktoriju%s",
"Cannot write into \"config\" directory" : "Nije moguće zapisivati u \"config\" direktorij",
"Cannot write into \"apps\" directory" : "Nije moguće zapisivati u \"apps\" direktorij",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Ovo se obično može popraviti %sdavanjem pristupa web poslužitelju za pisanje u apps direktorij%sili isključivanjem appstorea u konfiguracijskoj datoteci.",
"Cannot create \"data\" directory (%s)" : "Kreiranje \"data\" direktorija (%s) nije moguće",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Ovo obično može popraviti <a href=\"%s\"target=\"_blank\">davanjem pristupa web poslužiteljuza pisanje u korijenskom direktoriju</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dozvole se obično mogu popraviti %sdavanjem pristupa web poslužitelju za pisanje u korijenskom direktoriju%s",
"Setting locale to %s failed" : "Postavljanje regionalne sheme u %s nije uspjelo",
"Please install one of these locales on your system and restart your webserver." : "Molimo instalirajte jednu od ovih regionalnih shema u svoj sustav i ponovno pokrenite svoj web poslužitelj.",
"Please ask your server administrator to install the module." : "Molimo zamolite svog administratora poslužitelja da instalira modul.",
diff --git a/lib/l10n/hu_HU.js b/lib/l10n/hu_HU.js
index f1f645b1616..849740ad57d 100644
--- a/lib/l10n/hu_HU.js
+++ b/lib/l10n/hu_HU.js
@@ -10,7 +10,6 @@ OC.L10N.register(
"PHP %s or higher is required." : "PHP %s vagy ennél újabb szükséges.",
"Help" : "Súgó",
"Personal" : "Személyes",
- "Settings" : "Beállítások",
"Users" : "Felhasználók",
"Admin" : "Adminsztráció",
"Recommended" : "Ajánlott",
@@ -94,12 +93,12 @@ OC.L10N.register(
"A valid password must be provided" : "Érvényes jelszót kell megadnia",
"The username is already being used" : "Ez a bejelentkezési név már foglalt",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Nincs telepítve adatbázis-meghajtóprogram (sqlite, mysql vagy postgresql).",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Az elérési problémák rendszerint megoldhatók azzal, ha a %swebszervernek írásjogot adunk a gyökérkönyvtárra%s.",
"Cannot write into \"config\" directory" : "Nem írható a \"config\" könyvtár",
"Cannot write into \"apps\" directory" : "Nem írható az \"apps\" könyvtár",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Ez rendszerint úgy oldható meg, hogy %sírási jogot adunk a webszervernek az app könyvtárra%s, vagy letiltjuk a config fájlban az appstore használatát.",
"Cannot create \"data\" directory (%s)" : "Nem sikerült létrehozni a \"data\" könyvtárt (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Ez rendszerint úgy oldható meg, hogy <a href=\"%s\" target=\"_blank\">írásjogot adunk a webszervernek a gyökérkönyvtárra</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Az elérési problémák rendszerint megoldhatók azzal, ha a %swebszervernek írásjogot adunk a gyökérkönyvtárra%s.",
"Setting locale to %s failed" : "A lokalizáció %s-re való állítása nem sikerült",
"Please install one of these locales on your system and restart your webserver." : "Kérjük állítsa be a következő lokalizációk valamelyikét a rendszeren és indítsa újra a webszervert!",
"Please ask your server administrator to install the module." : "Kérje meg a rendszergazdát, hogy telepítse a modult!",
diff --git a/lib/l10n/hu_HU.json b/lib/l10n/hu_HU.json
index ac09b9d84ef..265c1a5264e 100644
--- a/lib/l10n/hu_HU.json
+++ b/lib/l10n/hu_HU.json
@@ -8,7 +8,6 @@
"PHP %s or higher is required." : "PHP %s vagy ennél újabb szükséges.",
"Help" : "Súgó",
"Personal" : "Személyes",
- "Settings" : "Beállítások",
"Users" : "Felhasználók",
"Admin" : "Adminsztráció",
"Recommended" : "Ajánlott",
@@ -92,12 +91,12 @@
"A valid password must be provided" : "Érvényes jelszót kell megadnia",
"The username is already being used" : "Ez a bejelentkezési név már foglalt",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Nincs telepítve adatbázis-meghajtóprogram (sqlite, mysql vagy postgresql).",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Az elérési problémák rendszerint megoldhatók azzal, ha a %swebszervernek írásjogot adunk a gyökérkönyvtárra%s.",
"Cannot write into \"config\" directory" : "Nem írható a \"config\" könyvtár",
"Cannot write into \"apps\" directory" : "Nem írható az \"apps\" könyvtár",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Ez rendszerint úgy oldható meg, hogy %sírási jogot adunk a webszervernek az app könyvtárra%s, vagy letiltjuk a config fájlban az appstore használatát.",
"Cannot create \"data\" directory (%s)" : "Nem sikerült létrehozni a \"data\" könyvtárt (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Ez rendszerint úgy oldható meg, hogy <a href=\"%s\" target=\"_blank\">írásjogot adunk a webszervernek a gyökérkönyvtárra</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Az elérési problémák rendszerint megoldhatók azzal, ha a %swebszervernek írásjogot adunk a gyökérkönyvtárra%s.",
"Setting locale to %s failed" : "A lokalizáció %s-re való állítása nem sikerült",
"Please install one of these locales on your system and restart your webserver." : "Kérjük állítsa be a következő lokalizációk valamelyikét a rendszeren és indítsa újra a webszervert!",
"Please ask your server administrator to install the module." : "Kérje meg a rendszergazdát, hogy telepítse a modult!",
diff --git a/lib/l10n/ia.js b/lib/l10n/ia.js
index 345df54ec33..336aff70234 100644
--- a/lib/l10n/ia.js
+++ b/lib/l10n/ia.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Adjuta",
"Personal" : "Personal",
- "Settings" : "Configurationes",
"Users" : "Usatores",
"Admin" : "Administration",
"Unknown filetype" : "Typo de file incognite",
diff --git a/lib/l10n/ia.json b/lib/l10n/ia.json
index 3f722b77a0d..b768db5aed2 100644
--- a/lib/l10n/ia.json
+++ b/lib/l10n/ia.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Adjuta",
"Personal" : "Personal",
- "Settings" : "Configurationes",
"Users" : "Usatores",
"Admin" : "Administration",
"Unknown filetype" : "Typo de file incognite",
diff --git a/lib/l10n/id.js b/lib/l10n/id.js
index 072380ddf86..994c543d070 100644
--- a/lib/l10n/id.js
+++ b/lib/l10n/id.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "Diperlukan ownCloud dengan versi yang lebih rendah dari %s.",
"Help" : "Bantuan",
"Personal" : "Pribadi",
- "Settings" : "Pengaturan",
"Users" : "Pengguna",
"Admin" : "Admin",
"Recommended" : "Direkomendasikan",
@@ -103,12 +102,12 @@ OC.L10N.register(
"A valid password must be provided" : "Tuliskan sandi yang valid",
"The username is already being used" : "Nama pengguna ini telah digunakan",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Tidak ada driver (sqlite, mysql, or postgresql) yang terinstal.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Perizinan biasanya dapat diperbaiki dengan %s memberikan akses tulis bagi situs web ke %s direktori root.",
"Cannot write into \"config\" directory" : "Tidak dapat menulis kedalam direktori \"config\"",
"Cannot write into \"apps\" directory" : "Tidak dapat menulis kedalam direktori \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Hal ini biasanya dapat diperbaiki dengan %s memberikan akses tulis bagi situs web ke %s direktori apps atau menonaktifkan toko aplikasi didalam berkas config.",
"Cannot create \"data\" directory (%s)" : "Tidak dapat membuat direktori (%s) \"data\"",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Hal ini biasanya dapat diperbaiki dengan <a href=\"%s\" target=\"_blank\">memberikan akses tulis bagi situs web ke direktori root</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Perizinan biasanya dapat diperbaiki dengan %s memberikan akses tulis bagi situs web ke %s direktori root.",
"Setting locale to %s failed" : "Pengaturan lokal ke %s gagal",
"Please install one of these locales on your system and restart your webserver." : "Mohon instal paling tidak satu lokal pada sistem Anda dan jalankan ulang server web.",
"Please ask your server administrator to install the module." : "Mohon tanyakan administrator Anda untuk menginstal module.",
diff --git a/lib/l10n/id.json b/lib/l10n/id.json
index 6e9271e4ec5..f5743dc4166 100644
--- a/lib/l10n/id.json
+++ b/lib/l10n/id.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "Diperlukan ownCloud dengan versi yang lebih rendah dari %s.",
"Help" : "Bantuan",
"Personal" : "Pribadi",
- "Settings" : "Pengaturan",
"Users" : "Pengguna",
"Admin" : "Admin",
"Recommended" : "Direkomendasikan",
@@ -101,12 +100,12 @@
"A valid password must be provided" : "Tuliskan sandi yang valid",
"The username is already being used" : "Nama pengguna ini telah digunakan",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Tidak ada driver (sqlite, mysql, or postgresql) yang terinstal.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Perizinan biasanya dapat diperbaiki dengan %s memberikan akses tulis bagi situs web ke %s direktori root.",
"Cannot write into \"config\" directory" : "Tidak dapat menulis kedalam direktori \"config\"",
"Cannot write into \"apps\" directory" : "Tidak dapat menulis kedalam direktori \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Hal ini biasanya dapat diperbaiki dengan %s memberikan akses tulis bagi situs web ke %s direktori apps atau menonaktifkan toko aplikasi didalam berkas config.",
"Cannot create \"data\" directory (%s)" : "Tidak dapat membuat direktori (%s) \"data\"",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Hal ini biasanya dapat diperbaiki dengan <a href=\"%s\" target=\"_blank\">memberikan akses tulis bagi situs web ke direktori root</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Perizinan biasanya dapat diperbaiki dengan %s memberikan akses tulis bagi situs web ke %s direktori root.",
"Setting locale to %s failed" : "Pengaturan lokal ke %s gagal",
"Please install one of these locales on your system and restart your webserver." : "Mohon instal paling tidak satu lokal pada sistem Anda dan jalankan ulang server web.",
"Please ask your server administrator to install the module." : "Mohon tanyakan administrator Anda untuk menginstal module.",
diff --git a/lib/l10n/is.js b/lib/l10n/is.js
index 712b8bbd10a..25c1b18a47c 100644
--- a/lib/l10n/is.js
+++ b/lib/l10n/is.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Hjálp",
"Personal" : "Um mig",
- "Settings" : "Stillingar",
"Users" : "Notendur",
"Admin" : "Stjórnun",
"today" : "í dag",
diff --git a/lib/l10n/is.json b/lib/l10n/is.json
index fd0291c96c3..8a320228277 100644
--- a/lib/l10n/is.json
+++ b/lib/l10n/is.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Hjálp",
"Personal" : "Um mig",
- "Settings" : "Stillingar",
"Users" : "Notendur",
"Admin" : "Stjórnun",
"today" : "í dag",
diff --git a/lib/l10n/it.js b/lib/l10n/it.js
index 229bb8bd2ec..9166b48cc6f 100644
--- a/lib/l10n/it.js
+++ b/lib/l10n/it.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "Richiesta una versione di ownCloud minore di %s.",
"Help" : "Aiuto",
"Personal" : "Personale",
- "Settings" : "Impostazioni",
"Users" : "Utenti",
"Admin" : "Admin",
"Recommended" : "Consigliata",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Deve essere fornita una password valida",
"The username is already being used" : "Il nome utente è già utilizzato",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Nessun driver di database (sqlite, mysql o postgresql) installato",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "I permessi possono essere normalmente corretti %sfornendo al server web accesso in scrittura alla cartella radice%s.",
"Cannot write into \"config\" directory" : "Impossibile scrivere nella cartella \"config\"",
"Cannot write into \"apps\" directory" : "Impossibile scrivere nella cartella \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Ciò può essere normalmente corretto %sfornendo al server web accesso in scrittura alla cartella \"apps\"%s o disabilitando il negozio di applicazioni nel file di configurazione.",
"Cannot create \"data\" directory (%s)" : "Impossibile creare la cartella \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Ciò può essere normalmente corretto <a href=\"%s\" target=\"_blank\">fornendo al server web accesso in scrittura alla cartella radice</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "I permessi possono essere normalmente corretti %sfornendo al server web accesso in scrittura alla cartella radice%s.",
"Setting locale to %s failed" : "L'impostazione della localizzazione a %s non è riuscita",
"Please install one of these locales on your system and restart your webserver." : "Installa una delle seguenti localizzazioni sul tuo sistema e riavvia il server web.",
"Please ask your server administrator to install the module." : "Chiedi all'amministratore del tuo server di installare il modulo.",
diff --git a/lib/l10n/it.json b/lib/l10n/it.json
index 8fca8b4684c..2b90ad9d892 100644
--- a/lib/l10n/it.json
+++ b/lib/l10n/it.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "Richiesta una versione di ownCloud minore di %s.",
"Help" : "Aiuto",
"Personal" : "Personale",
- "Settings" : "Impostazioni",
"Users" : "Utenti",
"Admin" : "Admin",
"Recommended" : "Consigliata",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Deve essere fornita una password valida",
"The username is already being used" : "Il nome utente è già utilizzato",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Nessun driver di database (sqlite, mysql o postgresql) installato",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "I permessi possono essere normalmente corretti %sfornendo al server web accesso in scrittura alla cartella radice%s.",
"Cannot write into \"config\" directory" : "Impossibile scrivere nella cartella \"config\"",
"Cannot write into \"apps\" directory" : "Impossibile scrivere nella cartella \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Ciò può essere normalmente corretto %sfornendo al server web accesso in scrittura alla cartella \"apps\"%s o disabilitando il negozio di applicazioni nel file di configurazione.",
"Cannot create \"data\" directory (%s)" : "Impossibile creare la cartella \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Ciò può essere normalmente corretto <a href=\"%s\" target=\"_blank\">fornendo al server web accesso in scrittura alla cartella radice</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "I permessi possono essere normalmente corretti %sfornendo al server web accesso in scrittura alla cartella radice%s.",
"Setting locale to %s failed" : "L'impostazione della localizzazione a %s non è riuscita",
"Please install one of these locales on your system and restart your webserver." : "Installa una delle seguenti localizzazioni sul tuo sistema e riavvia il server web.",
"Please ask your server administrator to install the module." : "Chiedi all'amministratore del tuo server di installare il modulo.",
diff --git a/lib/l10n/ja.js b/lib/l10n/ja.js
index 8d5d005ce79..4082c06140d 100644
--- a/lib/l10n/ja.js
+++ b/lib/l10n/ja.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "ownCloud %s 以下が必要です。",
"Help" : "ヘルプ",
"Personal" : "個人",
- "Settings" : "設定",
"Users" : "ユーザー",
"Admin" : "管理",
"Recommended" : "おすすめ",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "有効なパスワードを指定する必要があります",
"The username is already being used" : "ユーザー名はすでに使われています",
"No database drivers (sqlite, mysql, or postgresql) installed." : "データベースドライバー (sqlite, mysql, postgresql) がインストールされていません。",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "多くの場合、パーミッションは %s Webサーバーにルートディレクトリ %s への書き込み権限を与えることで解決できます。",
"Cannot write into \"config\" directory" : "\"config\" ディレクトリに書き込みができません",
"Cannot write into \"apps\" directory" : "\"apps\" ディレクトリに書き込みができません",
"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 Webサーバーにappsディレクトリ %s への書き込み権限を与えるか、設定ファイルでアプリストアを無効化することで解決できます。",
"Cannot create \"data\" directory (%s)" : "\"data\" ディレクトリ (%s) を作成できません",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "多くの場合、これは<a href=\"%s\" target=\"_blank\">Webサーバーにルートディレクトリへの書き込み権限を与える</a>ことで解決できます。",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "多くの場合、パーミッションは %s Webサーバーにルートディレクトリ %s への書き込み権限を与えることで解決できます。",
"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." : "サーバー管理者にモジュールのインストールを依頼してください。",
diff --git a/lib/l10n/ja.json b/lib/l10n/ja.json
index 5b6e8f4f212..b4da8536f82 100644
--- a/lib/l10n/ja.json
+++ b/lib/l10n/ja.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "ownCloud %s 以下が必要です。",
"Help" : "ヘルプ",
"Personal" : "個人",
- "Settings" : "設定",
"Users" : "ユーザー",
"Admin" : "管理",
"Recommended" : "おすすめ",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "有効なパスワードを指定する必要があります",
"The username is already being used" : "ユーザー名はすでに使われています",
"No database drivers (sqlite, mysql, or postgresql) installed." : "データベースドライバー (sqlite, mysql, postgresql) がインストールされていません。",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "多くの場合、パーミッションは %s Webサーバーにルートディレクトリ %s への書き込み権限を与えることで解決できます。",
"Cannot write into \"config\" directory" : "\"config\" ディレクトリに書き込みができません",
"Cannot write into \"apps\" directory" : "\"apps\" ディレクトリに書き込みができません",
"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 Webサーバーにappsディレクトリ %s への書き込み権限を与えるか、設定ファイルでアプリストアを無効化することで解決できます。",
"Cannot create \"data\" directory (%s)" : "\"data\" ディレクトリ (%s) を作成できません",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "多くの場合、これは<a href=\"%s\" target=\"_blank\">Webサーバーにルートディレクトリへの書き込み権限を与える</a>ことで解決できます。",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "多くの場合、パーミッションは %s Webサーバーにルートディレクトリ %s への書き込み権限を与えることで解決できます。",
"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." : "サーバー管理者にモジュールのインストールを依頼してください。",
diff --git a/lib/l10n/ka_GE.js b/lib/l10n/ka_GE.js
index 63b886e6ce1..b10774e806c 100644
--- a/lib/l10n/ka_GE.js
+++ b/lib/l10n/ka_GE.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "დახმარება",
"Personal" : "პირადი",
- "Settings" : "პარამეტრები",
"Users" : "მომხმარებელი",
"Admin" : "ადმინისტრატორი",
"today" : "დღეს",
diff --git a/lib/l10n/ka_GE.json b/lib/l10n/ka_GE.json
index 0371cfcfc90..29f7be8e261 100644
--- a/lib/l10n/ka_GE.json
+++ b/lib/l10n/ka_GE.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "დახმარება",
"Personal" : "პირადი",
- "Settings" : "პარამეტრები",
"Users" : "მომხმარებელი",
"Admin" : "ადმინისტრატორი",
"today" : "დღეს",
diff --git a/lib/l10n/km.js b/lib/l10n/km.js
index 4f96e661179..5bdbc74176b 100644
--- a/lib/l10n/km.js
+++ b/lib/l10n/km.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "ជំនួយ",
"Personal" : "ផ្ទាល់​ខ្លួន",
- "Settings" : "ការកំណត់",
"Users" : "អ្នកប្រើ",
"Admin" : "អ្នក​គ្រប់​គ្រង",
"No app name specified" : "មិន​បាន​បញ្ជាក់​ឈ្មោះ​កម្មវិធី",
diff --git a/lib/l10n/km.json b/lib/l10n/km.json
index 9c1010b0020..690d937a11e 100644
--- a/lib/l10n/km.json
+++ b/lib/l10n/km.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "ជំនួយ",
"Personal" : "ផ្ទាល់​ខ្លួន",
- "Settings" : "ការកំណត់",
"Users" : "អ្នកប្រើ",
"Admin" : "អ្នក​គ្រប់​គ្រង",
"No app name specified" : "មិន​បាន​បញ្ជាក់​ឈ្មោះ​កម្មវិធី",
diff --git a/lib/l10n/kn.js b/lib/l10n/kn.js
index 75314b0abea..7bcde5e4d6a 100644
--- a/lib/l10n/kn.js
+++ b/lib/l10n/kn.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "ಸಹಾಯ",
"Personal" : "ವೈಯಕ್ತಿಕ",
- "Settings" : "ಆಯ್ಕೆ",
"Users" : "ಬಳಕೆದಾರರು",
"Admin" : "ನಿರ್ವಹಕ",
"Recommended" : "ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ",
diff --git a/lib/l10n/kn.json b/lib/l10n/kn.json
index ae5f3359a13..28b9d581d93 100644
--- a/lib/l10n/kn.json
+++ b/lib/l10n/kn.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "ಸಹಾಯ",
"Personal" : "ವೈಯಕ್ತಿಕ",
- "Settings" : "ಆಯ್ಕೆ",
"Users" : "ಬಳಕೆದಾರರು",
"Admin" : "ನಿರ್ವಹಕ",
"Recommended" : "ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ",
diff --git a/lib/l10n/ko.js b/lib/l10n/ko.js
index 41f87248eef..a2661ff9494 100644
--- a/lib/l10n/ko.js
+++ b/lib/l10n/ko.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "ownCloud 버전 %s 미만이 필요합니다.",
"Help" : "도움말",
"Personal" : "개인",
- "Settings" : "설정",
"Users" : "사용자",
"Admin" : "관리자",
"Recommended" : "추천",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "올바른 암호를 입력해야 합니다",
"The username is already being used" : "사용자 이름이 이미 존재합니다",
"No database drivers (sqlite, mysql, or postgresql) installed." : "데이터베이스 드라이버(sqlite, mysql, postgresql)가 설치되지 않았습니다.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "%s루트 디렉터리에 웹 서버 쓰기 권한%s을 주면 해결됩니다.",
"Cannot write into \"config\" directory" : "\"config\" 디렉터리에 기록할 수 없습니다",
"Cannot write into \"apps\" directory" : "\"apps\" 디렉터리에 기록할 수 없습니다",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "%sapps 디렉터리에 웹 서버 쓰기 권한%s을 주거나 설정 파일에서 앱 스토어를 비활성화하면 해결됩니다.",
"Cannot create \"data\" directory (%s)" : "\"data\" 디렉터리를 만들 수 없음(%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "<a href=\"%s\" target=\"_blank\">루트 디렉터리에 웹 서버 쓰기 권한</a>을 주면 해결됩니다.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "%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." : "서버 관리자에게 모듈 설치를 요청하십시오.",
diff --git a/lib/l10n/ko.json b/lib/l10n/ko.json
index 768dbeafefe..d2ab229e4ba 100644
--- a/lib/l10n/ko.json
+++ b/lib/l10n/ko.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "ownCloud 버전 %s 미만이 필요합니다.",
"Help" : "도움말",
"Personal" : "개인",
- "Settings" : "설정",
"Users" : "사용자",
"Admin" : "관리자",
"Recommended" : "추천",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "올바른 암호를 입력해야 합니다",
"The username is already being used" : "사용자 이름이 이미 존재합니다",
"No database drivers (sqlite, mysql, or postgresql) installed." : "데이터베이스 드라이버(sqlite, mysql, postgresql)가 설치되지 않았습니다.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "%s루트 디렉터리에 웹 서버 쓰기 권한%s을 주면 해결됩니다.",
"Cannot write into \"config\" directory" : "\"config\" 디렉터리에 기록할 수 없습니다",
"Cannot write into \"apps\" directory" : "\"apps\" 디렉터리에 기록할 수 없습니다",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "%sapps 디렉터리에 웹 서버 쓰기 권한%s을 주거나 설정 파일에서 앱 스토어를 비활성화하면 해결됩니다.",
"Cannot create \"data\" directory (%s)" : "\"data\" 디렉터리를 만들 수 없음(%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "<a href=\"%s\" target=\"_blank\">루트 디렉터리에 웹 서버 쓰기 권한</a>을 주면 해결됩니다.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "%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." : "서버 관리자에게 모듈 설치를 요청하십시오.",
diff --git a/lib/l10n/ku_IQ.js b/lib/l10n/ku_IQ.js
index eea2d55138e..d618f2f1fa0 100644
--- a/lib/l10n/ku_IQ.js
+++ b/lib/l10n/ku_IQ.js
@@ -2,7 +2,6 @@ OC.L10N.register(
"lib",
{
"Help" : "یارمەتی",
- "Settings" : "ده‌ستكاری",
"Users" : "به‌كارهێنه‌ر",
"Admin" : "به‌ڕێوه‌به‌ری سه‌ره‌كی",
"_%n day ago_::_%n days ago_" : ["",""],
diff --git a/lib/l10n/ku_IQ.json b/lib/l10n/ku_IQ.json
index b2ab2dc219d..08ec5ba660d 100644
--- a/lib/l10n/ku_IQ.json
+++ b/lib/l10n/ku_IQ.json
@@ -1,6 +1,5 @@
{ "translations": {
"Help" : "یارمەتی",
- "Settings" : "ده‌ستكاری",
"Users" : "به‌كارهێنه‌ر",
"Admin" : "به‌ڕێوه‌به‌ری سه‌ره‌كی",
"_%n day ago_::_%n days ago_" : ["",""],
diff --git a/lib/l10n/lb.js b/lib/l10n/lb.js
index 470652f4017..94a3d4639f5 100644
--- a/lib/l10n/lb.js
+++ b/lib/l10n/lb.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Hëllef",
"Personal" : "Perséinlech",
- "Settings" : "Astellungen",
"Users" : "Benotzer",
"Admin" : "Admin",
"Unknown filetype" : "Onbekannten Fichier Typ",
diff --git a/lib/l10n/lb.json b/lib/l10n/lb.json
index 2f63f042538..e83729d0f92 100644
--- a/lib/l10n/lb.json
+++ b/lib/l10n/lb.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Hëllef",
"Personal" : "Perséinlech",
- "Settings" : "Astellungen",
"Users" : "Benotzer",
"Admin" : "Admin",
"Unknown filetype" : "Onbekannten Fichier Typ",
diff --git a/lib/l10n/lt_LT.js b/lib/l10n/lt_LT.js
index 1f05855b77e..a17e3d26ceb 100644
--- a/lib/l10n/lt_LT.js
+++ b/lib/l10n/lt_LT.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Pagalba",
"Personal" : "Asmeniniai",
- "Settings" : "Nustatymai",
"Users" : "Vartotojai",
"Admin" : "Administravimas",
"No app name specified" : "Nenurodytas programos pavadinimas",
diff --git a/lib/l10n/lt_LT.json b/lib/l10n/lt_LT.json
index a3a53baf010..ea389f40c1b 100644
--- a/lib/l10n/lt_LT.json
+++ b/lib/l10n/lt_LT.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Pagalba",
"Personal" : "Asmeniniai",
- "Settings" : "Nustatymai",
"Users" : "Vartotojai",
"Admin" : "Administravimas",
"No app name specified" : "Nenurodytas programos pavadinimas",
diff --git a/lib/l10n/lv.js b/lib/l10n/lv.js
index 1f381ecb9bf..f3ecf0a94fc 100644
--- a/lib/l10n/lv.js
+++ b/lib/l10n/lv.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Palīdzība",
"Personal" : "Personīgi",
- "Settings" : "Iestatījumi",
"Users" : "Lietotāji",
"Admin" : "Administratori",
"Recommended" : "Rekomendēts",
diff --git a/lib/l10n/lv.json b/lib/l10n/lv.json
index a729e3a40b9..c7a556ab665 100644
--- a/lib/l10n/lv.json
+++ b/lib/l10n/lv.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Palīdzība",
"Personal" : "Personīgi",
- "Settings" : "Iestatījumi",
"Users" : "Lietotāji",
"Admin" : "Administratori",
"Recommended" : "Rekomendēts",
diff --git a/lib/l10n/mk.js b/lib/l10n/mk.js
index 5ab596f4c95..760a1286172 100644
--- a/lib/l10n/mk.js
+++ b/lib/l10n/mk.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Помош",
"Personal" : "Лично",
- "Settings" : "Подесувања",
"Users" : "Корисници",
"Admin" : "Админ",
"No app name specified" : "Не е специфицирано име на апликацијата",
diff --git a/lib/l10n/mk.json b/lib/l10n/mk.json
index de9fff6b1a1..d58784f6c1d 100644
--- a/lib/l10n/mk.json
+++ b/lib/l10n/mk.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Помош",
"Personal" : "Лично",
- "Settings" : "Подесувања",
"Users" : "Корисници",
"Admin" : "Админ",
"No app name specified" : "Не е специфицирано име на апликацијата",
diff --git a/lib/l10n/mn.js b/lib/l10n/mn.js
index 3d8b52309d6..d84aa82c14e 100644
--- a/lib/l10n/mn.js
+++ b/lib/l10n/mn.js
@@ -1,7 +1,6 @@
OC.L10N.register(
"lib",
{
- "Settings" : "Тохиргоо",
"_%n day ago_::_%n days ago_" : ["",""],
"_%n month ago_::_%n months ago_" : ["",""],
"_%n year ago_::_%n years ago_" : ["",""],
diff --git a/lib/l10n/mn.json b/lib/l10n/mn.json
index 8b0f4650d50..82cdad16805 100644
--- a/lib/l10n/mn.json
+++ b/lib/l10n/mn.json
@@ -1,5 +1,4 @@
{ "translations": {
- "Settings" : "Тохиргоо",
"_%n day ago_::_%n days ago_" : ["",""],
"_%n month ago_::_%n months ago_" : ["",""],
"_%n year ago_::_%n years ago_" : ["",""],
diff --git a/lib/l10n/mr.js b/lib/l10n/mr.js
new file mode 100644
index 00000000000..a12702211c2
--- /dev/null
+++ b/lib/l10n/mr.js
@@ -0,0 +1,10 @@
+OC.L10N.register(
+ "lib",
+ {
+ "_%n day ago_::_%n days ago_" : ["",""],
+ "_%n month ago_::_%n months ago_" : ["",""],
+ "_%n year ago_::_%n years ago_" : ["",""],
+ "_%n hour ago_::_%n hours ago_" : ["",""],
+ "_%n minute ago_::_%n minutes ago_" : ["",""]
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/lib/l10n/mr.json b/lib/l10n/mr.json
new file mode 100644
index 00000000000..b994fa289eb
--- /dev/null
+++ b/lib/l10n/mr.json
@@ -0,0 +1,8 @@
+{ "translations": {
+ "_%n day ago_::_%n days ago_" : ["",""],
+ "_%n month ago_::_%n months ago_" : ["",""],
+ "_%n year ago_::_%n years ago_" : ["",""],
+ "_%n hour ago_::_%n hours ago_" : ["",""],
+ "_%n minute ago_::_%n minutes ago_" : ["",""]
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/lib/l10n/ms_MY.js b/lib/l10n/ms_MY.js
index a501399af5c..0e4d4becc84 100644
--- a/lib/l10n/ms_MY.js
+++ b/lib/l10n/ms_MY.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Bantuan",
"Personal" : "Peribadi",
- "Settings" : "Tetapan",
"Users" : "Pengguna",
"Admin" : "Admin",
"_%n day ago_::_%n days ago_" : [""],
diff --git a/lib/l10n/ms_MY.json b/lib/l10n/ms_MY.json
index 8c2a83136ee..c4b0b5d0569 100644
--- a/lib/l10n/ms_MY.json
+++ b/lib/l10n/ms_MY.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Bantuan",
"Personal" : "Peribadi",
- "Settings" : "Tetapan",
"Users" : "Pengguna",
"Admin" : "Admin",
"_%n day ago_::_%n days ago_" : [""],
diff --git a/lib/l10n/nb_NO.js b/lib/l10n/nb_NO.js
index fea128e6f0a..62f9e45a8f0 100644
--- a/lib/l10n/nb_NO.js
+++ b/lib/l10n/nb_NO.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "ownCloud med en versjon lavere enn %s kreves.",
"Help" : "Hjelp",
"Personal" : "Personlig",
- "Settings" : "Innstillinger",
"Users" : "Brukere",
"Admin" : "Admin",
"Recommended" : "Anbefalt",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Oppgi et gyldig passord",
"The username is already being used" : "Brukernavnet er allerede i bruk",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ingen databasedrivere (sqlite, mysql, or postgresql) installert.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Tillatelser kan vanligvis ordnes ved %så gi web-serveren skrivetilgang til rotmappen%s.",
"Cannot write into \"config\" directory" : "Kan ikke skrive i \"config\"-mappen",
"Cannot write into \"apps\" directory" : "Kan ikke skrive i \"apps\"-mappen",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dette kan vanligvis ordnes ved %så gi web-serveren skrivetilgang til apps-mappen%s eller ved å deaktivere app-butikken i config-filen.",
"Cannot create \"data\" directory (%s)" : "Kan ikke opprette \"data\"-mappen (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Dette kan vanligvis ordnes ved <a href=\"%s\" target=\"_blank\">gi web-serveren skrivetilgang til rotmappen</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Tillatelser kan vanligvis ordnes ved %så gi web-serveren skrivetilgang til rotmappen%s.",
"Setting locale to %s failed" : "Setting av nasjonale innstillinger til %s feilet.",
"Please install one of these locales on your system and restart your webserver." : "Vennligst installer en av disse nasjonale innstillingene på systemet ditt og start webserveren på nytt.",
"Please ask your server administrator to install the module." : "Be server-administratoren om å installere modulen.",
diff --git a/lib/l10n/nb_NO.json b/lib/l10n/nb_NO.json
index 0fe634772f7..d432aba266a 100644
--- a/lib/l10n/nb_NO.json
+++ b/lib/l10n/nb_NO.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "ownCloud med en versjon lavere enn %s kreves.",
"Help" : "Hjelp",
"Personal" : "Personlig",
- "Settings" : "Innstillinger",
"Users" : "Brukere",
"Admin" : "Admin",
"Recommended" : "Anbefalt",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Oppgi et gyldig passord",
"The username is already being used" : "Brukernavnet er allerede i bruk",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ingen databasedrivere (sqlite, mysql, or postgresql) installert.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Tillatelser kan vanligvis ordnes ved %så gi web-serveren skrivetilgang til rotmappen%s.",
"Cannot write into \"config\" directory" : "Kan ikke skrive i \"config\"-mappen",
"Cannot write into \"apps\" directory" : "Kan ikke skrive i \"apps\"-mappen",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Dette kan vanligvis ordnes ved %så gi web-serveren skrivetilgang til apps-mappen%s eller ved å deaktivere app-butikken i config-filen.",
"Cannot create \"data\" directory (%s)" : "Kan ikke opprette \"data\"-mappen (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Dette kan vanligvis ordnes ved <a href=\"%s\" target=\"_blank\">gi web-serveren skrivetilgang til rotmappen</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Tillatelser kan vanligvis ordnes ved %så gi web-serveren skrivetilgang til rotmappen%s.",
"Setting locale to %s failed" : "Setting av nasjonale innstillinger til %s feilet.",
"Please install one of these locales on your system and restart your webserver." : "Vennligst installer en av disse nasjonale innstillingene på systemet ditt og start webserveren på nytt.",
"Please ask your server administrator to install the module." : "Be server-administratoren om å installere modulen.",
diff --git a/lib/l10n/nl.js b/lib/l10n/nl.js
index b44fd91d594..1235e233b78 100644
--- a/lib/l10n/nl.js
+++ b/lib/l10n/nl.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "ownCloud met een versie lager dan %s is vereist.",
"Help" : "Help",
"Personal" : "Persoonlijk",
- "Settings" : "Instellingen",
"Users" : "Gebruikers",
"Admin" : "Beheerder",
"Recommended" : "Aanbevolen",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Er moet een geldig wachtwoord worden opgegeven",
"The username is already being used" : "De gebruikersnaam bestaat al",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Geen database drivers (sqlite, mysql of postgres) geïnstalleerd.",
- "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.",
"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 %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\">giving the webserver write access to the root directory</a>." : "Dit kan worden hersteld door <a href=\"%s\" target=\"_blank\"> 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.",
"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 uw systeem en herstart uw webserver.",
"Please ask your server administrator to install the module." : "Vraag uw beheerder om de module te installeren.",
diff --git a/lib/l10n/nl.json b/lib/l10n/nl.json
index e453aa0f6a0..5a076e4b0ba 100644
--- a/lib/l10n/nl.json
+++ b/lib/l10n/nl.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "ownCloud met een versie lager dan %s is vereist.",
"Help" : "Help",
"Personal" : "Persoonlijk",
- "Settings" : "Instellingen",
"Users" : "Gebruikers",
"Admin" : "Beheerder",
"Recommended" : "Aanbevolen",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Er moet een geldig wachtwoord worden opgegeven",
"The username is already being used" : "De gebruikersnaam bestaat al",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Geen database drivers (sqlite, mysql of postgres) geïnstalleerd.",
- "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.",
"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 %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\">giving the webserver write access to the root directory</a>." : "Dit kan worden hersteld door <a href=\"%s\" target=\"_blank\"> 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.",
"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 uw systeem en herstart uw webserver.",
"Please ask your server administrator to install the module." : "Vraag uw beheerder om de module te installeren.",
diff --git a/lib/l10n/nn_NO.js b/lib/l10n/nn_NO.js
index b16dd54cc18..79a9c335980 100644
--- a/lib/l10n/nn_NO.js
+++ b/lib/l10n/nn_NO.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Hjelp",
"Personal" : "Personleg",
- "Settings" : "Innstillingar",
"Users" : "Brukarar",
"Admin" : "Administrer",
"Unknown filetype" : "Ukjend filtype",
diff --git a/lib/l10n/nn_NO.json b/lib/l10n/nn_NO.json
index 6dad7797027..a465496723b 100644
--- a/lib/l10n/nn_NO.json
+++ b/lib/l10n/nn_NO.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Hjelp",
"Personal" : "Personleg",
- "Settings" : "Innstillingar",
"Users" : "Brukarar",
"Admin" : "Administrer",
"Unknown filetype" : "Ukjend filtype",
diff --git a/lib/l10n/oc.js b/lib/l10n/oc.js
index 4c16d7ec821..f4cb27ec628 100644
--- a/lib/l10n/oc.js
+++ b/lib/l10n/oc.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Ajuda",
"Personal" : "Personal",
- "Settings" : "Configuracion",
"Users" : "Usancièrs",
"Admin" : "Admin",
"today" : "uèi",
diff --git a/lib/l10n/oc.json b/lib/l10n/oc.json
index 9ebedb6f913..097e5553718 100644
--- a/lib/l10n/oc.json
+++ b/lib/l10n/oc.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Ajuda",
"Personal" : "Personal",
- "Settings" : "Configuracion",
"Users" : "Usancièrs",
"Admin" : "Admin",
"today" : "uèi",
diff --git a/lib/l10n/pa.js b/lib/l10n/pa.js
index 5b3f0a80f6a..13e4ed1fde8 100644
--- a/lib/l10n/pa.js
+++ b/lib/l10n/pa.js
@@ -1,7 +1,6 @@
OC.L10N.register(
"lib",
{
- "Settings" : "ਸੈਟਿੰਗ",
"today" : "ਅੱਜ",
"yesterday" : "ਕੱਲ੍ਹ",
"_%n day ago_::_%n days ago_" : ["",""],
diff --git a/lib/l10n/pa.json b/lib/l10n/pa.json
index 254909bc8b4..d42044e460f 100644
--- a/lib/l10n/pa.json
+++ b/lib/l10n/pa.json
@@ -1,5 +1,4 @@
{ "translations": {
- "Settings" : "ਸੈਟਿੰਗ",
"today" : "ਅੱਜ",
"yesterday" : "ਕੱਲ੍ਹ",
"_%n day ago_::_%n days ago_" : ["",""],
diff --git a/lib/l10n/pl.js b/lib/l10n/pl.js
index 9663e705324..b706afeb282 100644
--- a/lib/l10n/pl.js
+++ b/lib/l10n/pl.js
@@ -13,7 +13,6 @@ OC.L10N.register(
"Following platforms are supported: %s" : "Obsługiwane są następujące platformy: %s",
"Help" : "Pomoc",
"Personal" : "Osobiste",
- "Settings" : "Ustawienia",
"Users" : "Użytkownicy",
"Admin" : "Administrator",
"Recommended" : "Polecane",
@@ -99,12 +98,12 @@ OC.L10N.register(
"A valid password must be provided" : "Należy podać prawidłowe hasło",
"The username is already being used" : "Ta nazwa użytkownika jest już używana",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Brak sterowników bazy danych (sqlite, mysql or postgresql).",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Problemy z uprawnieniami można zwykle naprawić przez %sdodanie serwerowi www uprawnień zapisu do katalogu głównego%s.",
"Cannot write into \"config\" directory" : "Nie można zapisać do katalogu \"config\"",
"Cannot write into \"apps\" directory" : "Nie można zapisać do katalogu \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Można to zwykle rozwiązać przez %sdodanie serwerowi www uprawnień zapisu do katalogu apps%s lub wyłączenie appstore w pliku konfiguracyjnym.",
"Cannot create \"data\" directory (%s)" : "Nie można utworzyć katalogu \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Można to zwykle rozwiązać przez <a href=\"%s\" target=\"_blank\">dodanie serwerowi www uprawnień zapisu do katalogu głównego</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Problemy z uprawnieniami można zwykle naprawić przez %sdodanie serwerowi www uprawnień zapisu do katalogu głównego%s.",
"Setting locale to %s failed" : "Nie udało się zmienić języka na %s",
"Please install one of these locales on your system and restart your webserver." : "Proszę zainstalować jedno z poniższych locale w Twoim systemie i uruchomić ponownie serwer www.",
"Please ask your server administrator to install the module." : "Proszę poproś administratora serwera aby zainstalował ten moduł.",
diff --git a/lib/l10n/pl.json b/lib/l10n/pl.json
index 575f0fddf31..52a0508475c 100644
--- a/lib/l10n/pl.json
+++ b/lib/l10n/pl.json
@@ -11,7 +11,6 @@
"Following platforms are supported: %s" : "Obsługiwane są następujące platformy: %s",
"Help" : "Pomoc",
"Personal" : "Osobiste",
- "Settings" : "Ustawienia",
"Users" : "Użytkownicy",
"Admin" : "Administrator",
"Recommended" : "Polecane",
@@ -97,12 +96,12 @@
"A valid password must be provided" : "Należy podać prawidłowe hasło",
"The username is already being used" : "Ta nazwa użytkownika jest już używana",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Brak sterowników bazy danych (sqlite, mysql or postgresql).",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Problemy z uprawnieniami można zwykle naprawić przez %sdodanie serwerowi www uprawnień zapisu do katalogu głównego%s.",
"Cannot write into \"config\" directory" : "Nie można zapisać do katalogu \"config\"",
"Cannot write into \"apps\" directory" : "Nie można zapisać do katalogu \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Można to zwykle rozwiązać przez %sdodanie serwerowi www uprawnień zapisu do katalogu apps%s lub wyłączenie appstore w pliku konfiguracyjnym.",
"Cannot create \"data\" directory (%s)" : "Nie można utworzyć katalogu \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Można to zwykle rozwiązać przez <a href=\"%s\" target=\"_blank\">dodanie serwerowi www uprawnień zapisu do katalogu głównego</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Problemy z uprawnieniami można zwykle naprawić przez %sdodanie serwerowi www uprawnień zapisu do katalogu głównego%s.",
"Setting locale to %s failed" : "Nie udało się zmienić języka na %s",
"Please install one of these locales on your system and restart your webserver." : "Proszę zainstalować jedno z poniższych locale w Twoim systemie i uruchomić ponownie serwer www.",
"Please ask your server administrator to install the module." : "Proszę poproś administratora serwera aby zainstalował ten moduł.",
diff --git a/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js
index f3d765fa0a9..517f746d84e 100644
--- a/lib/l10n/pt_BR.js
+++ b/lib/l10n/pt_BR.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "É necessário um ownCloud com uma versão menor que %s.",
"Help" : "Ajuda",
"Personal" : "Pessoal",
- "Settings" : "Configurações",
"Users" : "Usuários",
"Admin" : "Admin",
"Recommended" : "Recomendado",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Forneça uma senha válida",
"The username is already being used" : "Este nome de usuário já está sendo usado",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Nenhum driver de banco de dados (sqlite, mysql, or postgresql) instalado.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Permissões podem ser corrigidas dando permissão de escita %sgiving ao webserver para o diretório raiz directory%s",
"Cannot write into \"config\" directory" : "Não é possível gravar no diretório \"config\"",
"Cannot write into \"apps\" directory" : "Não é possível gravar no diretório \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Isto pode ser corrigido dando ao webserver permissão de escrita %sgiving para o diretório apps directory%s ou desabilitando o appstore no arquivo de configuração.",
"Cannot create \"data\" directory (%s)" : "Não pode ser criado \"dados\" no diretório (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Isto pode ser corrigido por <a href=\"%s\" target=\"_blank\">dando ao webserver permissão de escrita ao diretório raiz</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Permissões podem ser corrigidas dando permissão de escita %sgiving ao webserver para o diretório raiz directory%s",
"Setting locale to %s failed" : "Falha ao configurar localidade 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 seu administrador do servidor para instalar o módulo.",
diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json
index e2f27123d3f..990579539c0 100644
--- a/lib/l10n/pt_BR.json
+++ b/lib/l10n/pt_BR.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "É necessário um ownCloud com uma versão menor que %s.",
"Help" : "Ajuda",
"Personal" : "Pessoal",
- "Settings" : "Configurações",
"Users" : "Usuários",
"Admin" : "Admin",
"Recommended" : "Recomendado",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Forneça uma senha válida",
"The username is already being used" : "Este nome de usuário já está sendo usado",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Nenhum driver de banco de dados (sqlite, mysql, or postgresql) instalado.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Permissões podem ser corrigidas dando permissão de escita %sgiving ao webserver para o diretório raiz directory%s",
"Cannot write into \"config\" directory" : "Não é possível gravar no diretório \"config\"",
"Cannot write into \"apps\" directory" : "Não é possível gravar no diretório \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Isto pode ser corrigido dando ao webserver permissão de escrita %sgiving para o diretório apps directory%s ou desabilitando o appstore no arquivo de configuração.",
"Cannot create \"data\" directory (%s)" : "Não pode ser criado \"dados\" no diretório (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Isto pode ser corrigido por <a href=\"%s\" target=\"_blank\">dando ao webserver permissão de escrita ao diretório raiz</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Permissões podem ser corrigidas dando permissão de escita %sgiving ao webserver para o diretório raiz directory%s",
"Setting locale to %s failed" : "Falha ao configurar localidade 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 seu administrador do servidor para instalar o módulo.",
diff --git a/lib/l10n/pt_PT.js b/lib/l10n/pt_PT.js
index 5abfa3f57cd..de189883eca 100644
--- a/lib/l10n/pt_PT.js
+++ b/lib/l10n/pt_PT.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "É necessário uma versão do ownCloud inferior a %s.",
"Help" : "Ajuda",
"Personal" : "Pessoal",
- "Settings" : "Configurações",
"Users" : "Utilizadores",
"Admin" : "Admin",
"Recommended" : "Recomendado",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Uma password válida deve ser fornecida",
"The username is already being used" : "O nome de utilizador já está a ser usado",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Nenhuma base de dados de drivers (sqlite, mysql, or postgresql) instaladas.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "As autorizações podem ser resolvidas normalmente %sdando ao servidor web direito de escrita para o directório root%s.",
"Cannot write into \"config\" directory" : "Não é possível escrever na directoria \"configurar\"",
"Cannot write into \"apps\" directory" : "Não é possivel escrever na directoria \"aplicações\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Isto pode ser normalmente resolvido %sdando ao servidor web direito de escrita para o directório de aplicação%s ou desactivando a loja de aplicações no ficheiro de configuração.",
"Cannot create \"data\" directory (%s)" : "Não é possivel criar a directoria \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Isto pode ser normalmente resolvido <a href=\"%s\" target=\"_blank\">dando ao servidor web direito de escrita para o directório do root</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "As autorizações podem ser resolvidas normalmente %sdando ao servidor web direito de escrita para o directório root%s.",
"Setting locale to %s failed" : "Definindo local para %s falhado",
"Please install one of these locales on your system and restart your webserver." : "Por favor instale um destes locais no seu sistema e reinicie o seu servidor web.",
"Please ask your server administrator to install the module." : "Por favor pergunte ao seu administrador do servidor para instalar o modulo.",
diff --git a/lib/l10n/pt_PT.json b/lib/l10n/pt_PT.json
index fff334cb3b0..dcf1a893f82 100644
--- a/lib/l10n/pt_PT.json
+++ b/lib/l10n/pt_PT.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "É necessário uma versão do ownCloud inferior a %s.",
"Help" : "Ajuda",
"Personal" : "Pessoal",
- "Settings" : "Configurações",
"Users" : "Utilizadores",
"Admin" : "Admin",
"Recommended" : "Recomendado",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Uma password válida deve ser fornecida",
"The username is already being used" : "O nome de utilizador já está a ser usado",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Nenhuma base de dados de drivers (sqlite, mysql, or postgresql) instaladas.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "As autorizações podem ser resolvidas normalmente %sdando ao servidor web direito de escrita para o directório root%s.",
"Cannot write into \"config\" directory" : "Não é possível escrever na directoria \"configurar\"",
"Cannot write into \"apps\" directory" : "Não é possivel escrever na directoria \"aplicações\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Isto pode ser normalmente resolvido %sdando ao servidor web direito de escrita para o directório de aplicação%s ou desactivando a loja de aplicações no ficheiro de configuração.",
"Cannot create \"data\" directory (%s)" : "Não é possivel criar a directoria \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Isto pode ser normalmente resolvido <a href=\"%s\" target=\"_blank\">dando ao servidor web direito de escrita para o directório do root</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "As autorizações podem ser resolvidas normalmente %sdando ao servidor web direito de escrita para o directório root%s.",
"Setting locale to %s failed" : "Definindo local para %s falhado",
"Please install one of these locales on your system and restart your webserver." : "Por favor instale um destes locais no seu sistema e reinicie o seu servidor web.",
"Please ask your server administrator to install the module." : "Por favor pergunte ao seu administrador do servidor para instalar o modulo.",
diff --git a/lib/l10n/ro.js b/lib/l10n/ro.js
index 08d5d9bb5b4..b06836c7fc3 100644
--- a/lib/l10n/ro.js
+++ b/lib/l10n/ro.js
@@ -6,7 +6,6 @@ OC.L10N.register(
"PHP %s or higher is required." : "Versiunea PHP %s sau mai mare este necesară.",
"Help" : "Ajutor",
"Personal" : "Personal",
- "Settings" : "Setări",
"Users" : "Utilizatori",
"Admin" : "Admin",
"Recommended" : "Recomandat",
diff --git a/lib/l10n/ro.json b/lib/l10n/ro.json
index 9a0a316a57d..20b71834e23 100644
--- a/lib/l10n/ro.json
+++ b/lib/l10n/ro.json
@@ -4,7 +4,6 @@
"PHP %s or higher is required." : "Versiunea PHP %s sau mai mare este necesară.",
"Help" : "Ajutor",
"Personal" : "Personal",
- "Settings" : "Setări",
"Users" : "Utilizatori",
"Admin" : "Admin",
"Recommended" : "Recomandat",
diff --git a/lib/l10n/ru.js b/lib/l10n/ru.js
index 79a53ab3302..6ee348d2fa1 100644
--- a/lib/l10n/ru.js
+++ b/lib/l10n/ru.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "Требуется версия ownCloud ниже %s.",
"Help" : "Помощь",
"Personal" : "Личное",
- "Settings" : "Настройки",
"Users" : "Пользователи",
"Admin" : "Администрирование",
"Recommended" : "Рекомендовано",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Укажите правильный пароль",
"The username is already being used" : "Имя пользователя уже используется",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Не установлены драйвера баз данных (sqlite, mysql или postgresql)",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Обычно это можно исправить, %sпредоставив веб-серверу права на запись в корневой каталог%s.",
"Cannot write into \"config\" directory" : "Запись в каталог \"config\" невозможна",
"Cannot write into \"apps\" directory" : "Запись в каталог \"app\" невозможна",
"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)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Обычно это можно исправить, <a href=\"%s\" target=\"_blank\">предоставив веб-серверу права на запись в корневом каталоге.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Обычно это можно исправить, %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." : "Пожалуйста, попростите администратора сервера установить модуль.",
diff --git a/lib/l10n/ru.json b/lib/l10n/ru.json
index 8863fe4c0a9..124b68038bd 100644
--- a/lib/l10n/ru.json
+++ b/lib/l10n/ru.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "Требуется версия ownCloud ниже %s.",
"Help" : "Помощь",
"Personal" : "Личное",
- "Settings" : "Настройки",
"Users" : "Пользователи",
"Admin" : "Администрирование",
"Recommended" : "Рекомендовано",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Укажите правильный пароль",
"The username is already being used" : "Имя пользователя уже используется",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Не установлены драйвера баз данных (sqlite, mysql или postgresql)",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Обычно это можно исправить, %sпредоставив веб-серверу права на запись в корневой каталог%s.",
"Cannot write into \"config\" directory" : "Запись в каталог \"config\" невозможна",
"Cannot write into \"apps\" directory" : "Запись в каталог \"app\" невозможна",
"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)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Обычно это можно исправить, <a href=\"%s\" target=\"_blank\">предоставив веб-серверу права на запись в корневом каталоге.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Обычно это можно исправить, %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." : "Пожалуйста, попростите администратора сервера установить модуль.",
diff --git a/lib/l10n/si_LK.js b/lib/l10n/si_LK.js
index 09d5d0c84da..e3eea5e0b9b 100644
--- a/lib/l10n/si_LK.js
+++ b/lib/l10n/si_LK.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "උදව්",
"Personal" : "පෞද්ගලික",
- "Settings" : "සිටුවම්",
"Users" : "පරිශීලකයන්",
"Admin" : "පරිපාලක",
"today" : "අද",
diff --git a/lib/l10n/si_LK.json b/lib/l10n/si_LK.json
index 6c65802af2e..f1ac256a740 100644
--- a/lib/l10n/si_LK.json
+++ b/lib/l10n/si_LK.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "උදව්",
"Personal" : "පෞද්ගලික",
- "Settings" : "සිටුවම්",
"Users" : "පරිශීලකයන්",
"Admin" : "පරිපාලක",
"today" : "අද",
diff --git a/lib/l10n/sk_SK.js b/lib/l10n/sk_SK.js
index 47b404ff4a1..ef1a55d444e 100644
--- a/lib/l10n/sk_SK.js
+++ b/lib/l10n/sk_SK.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "ownCloud je vyžadovaný v nižšej verzii ako %s.",
"Help" : "Pomoc",
"Personal" : "Osobné",
- "Settings" : "Nastavenia",
"Users" : "Používatelia",
"Admin" : "Administrátor",
"Recommended" : "Odporúčané",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Musíte zadať platné heslo",
"The username is already being used" : "Meno používateľa je už použité",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ovládače databázy (sqlite, mysql, alebo postgresql) nie sú nainštalované.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Oprávnenia je zvyčajne možné opraviť tým, že %sudelíte webovému serveru oprávnenie na zápis do koreňového priečinka%s.",
"Cannot write into \"config\" directory" : "Nie je možné zapisovať do priečinka \"config\"",
"Cannot write into \"apps\" directory" : "Nie je možné zapisovať do priečinka \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Toto je zvyčajne možné opraviť tým, že %s udelíte webovému serveru oprávnenie na zápis do priečinka aplikácií %s alebo vypnete obchod s aplikáciami v konfiguračnom súbore.",
"Cannot create \"data\" directory (%s)" : "Nie je možné vytvoriť priečinok \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Toto je zvyčajne možné opraviť tým, že <a href=\"%s\" target=\"_blank\">udelíte webovému serveru oprávnenie na zápis do koreňového adresára</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Oprávnenia je zvyčajne možné opraviť tým, že %sudelíte webovému serveru oprávnenie na zápis do koreňového priečinka%s.",
"Setting locale to %s failed" : "Nastavenie locale na %s zlyhalo",
"Please install one of these locales on your system and restart your webserver." : "Prosím, nainštalujte si aspoň jeden z týchto jazykov so svojho systému a reštartujte webserver.",
"Please ask your server administrator to install the module." : "Prosím, požiadajte administrátora vášho servera o inštaláciu modulu.",
diff --git a/lib/l10n/sk_SK.json b/lib/l10n/sk_SK.json
index 6d9768f569a..4a16e934053 100644
--- a/lib/l10n/sk_SK.json
+++ b/lib/l10n/sk_SK.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "ownCloud je vyžadovaný v nižšej verzii ako %s.",
"Help" : "Pomoc",
"Personal" : "Osobné",
- "Settings" : "Nastavenia",
"Users" : "Používatelia",
"Admin" : "Administrátor",
"Recommended" : "Odporúčané",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Musíte zadať platné heslo",
"The username is already being used" : "Meno používateľa je už použité",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ovládače databázy (sqlite, mysql, alebo postgresql) nie sú nainštalované.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Oprávnenia je zvyčajne možné opraviť tým, že %sudelíte webovému serveru oprávnenie na zápis do koreňového priečinka%s.",
"Cannot write into \"config\" directory" : "Nie je možné zapisovať do priečinka \"config\"",
"Cannot write into \"apps\" directory" : "Nie je možné zapisovať do priečinka \"apps\"",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Toto je zvyčajne možné opraviť tým, že %s udelíte webovému serveru oprávnenie na zápis do priečinka aplikácií %s alebo vypnete obchod s aplikáciami v konfiguračnom súbore.",
"Cannot create \"data\" directory (%s)" : "Nie je možné vytvoriť priečinok \"data\" (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Toto je zvyčajne možné opraviť tým, že <a href=\"%s\" target=\"_blank\">udelíte webovému serveru oprávnenie na zápis do koreňového adresára</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Oprávnenia je zvyčajne možné opraviť tým, že %sudelíte webovému serveru oprávnenie na zápis do koreňového priečinka%s.",
"Setting locale to %s failed" : "Nastavenie locale na %s zlyhalo",
"Please install one of these locales on your system and restart your webserver." : "Prosím, nainštalujte si aspoň jeden z týchto jazykov so svojho systému a reštartujte webserver.",
"Please ask your server administrator to install the module." : "Prosím, požiadajte administrátora vášho servera o inštaláciu modulu.",
diff --git a/lib/l10n/sl.js b/lib/l10n/sl.js
index 91efdf6d6eb..70224c5e391 100644
--- a/lib/l10n/sl.js
+++ b/lib/l10n/sl.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "Zahtevana je različica ownCloud %s ali nižja.",
"Help" : "Pomoč",
"Personal" : "Osebno",
- "Settings" : "Nastavitve",
"Users" : "Uporabniki",
"Admin" : "Skrbništvo",
"Recommended" : "Priporočljivo",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Navedeno mora biti veljavno geslo",
"The username is already being used" : "Vpisano uporabniško ime je že v uporabi",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ni nameščenih programnikov podatkovnih zbirk (sqlite, mysql, ali postgresql).",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dovoljenja je mogoče odpraviti z %sdodelitvijo dovoljenja spletnemu strežniku za pisanje korensko mapo%s.",
"Cannot write into \"config\" directory" : "Mapa 'config' nima nastavljenih ustreznih dovoljenj za pisanje!",
"Cannot write into \"apps\" directory" : "Mapa \"apps\" nima nastavljenih ustreznih dovoljenj za pisanje!",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Napako je mogoče odpraviti z dodelitvijo dovoljenja spletnemu strežniku %s za pisanje v mapo programov %s, ali pa z onemogočanjem nameščanja programov v nastavitveni datoteki.",
"Cannot create \"data\" directory (%s)" : "Ni mogoče ustvariti\"podatkovne\" mape (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Napako je mogoče odpraviti z <a href=\"%s\" target=\"_blank\">dodelitvijo dovoljenja spletnemu strežniku za pisanje v korensko mapo</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dovoljenja je mogoče odpraviti z %sdodelitvijo dovoljenja spletnemu strežniku za pisanje korensko mapo%s.",
"Setting locale to %s failed" : "Nastavljanje jezikovnih določil na %s je spodletelo.",
"Please install one of these locales on your system and restart your webserver." : "Namestiti je treba podporo za vsaj eno od navedenih jezikovnih določil v sistemu in nato ponovno zagnati spletni strežnik.",
"Please ask your server administrator to install the module." : "Obvestite skrbnika strežnika, da je treba namestiti manjkajoč modul.",
diff --git a/lib/l10n/sl.json b/lib/l10n/sl.json
index 3c70d01bc66..3556e9f70f4 100644
--- a/lib/l10n/sl.json
+++ b/lib/l10n/sl.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "Zahtevana je različica ownCloud %s ali nižja.",
"Help" : "Pomoč",
"Personal" : "Osebno",
- "Settings" : "Nastavitve",
"Users" : "Uporabniki",
"Admin" : "Skrbništvo",
"Recommended" : "Priporočljivo",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Navedeno mora biti veljavno geslo",
"The username is already being used" : "Vpisano uporabniško ime je že v uporabi",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Ni nameščenih programnikov podatkovnih zbirk (sqlite, mysql, ali postgresql).",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dovoljenja je mogoče odpraviti z %sdodelitvijo dovoljenja spletnemu strežniku za pisanje korensko mapo%s.",
"Cannot write into \"config\" directory" : "Mapa 'config' nima nastavljenih ustreznih dovoljenj za pisanje!",
"Cannot write into \"apps\" directory" : "Mapa \"apps\" nima nastavljenih ustreznih dovoljenj za pisanje!",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Napako je mogoče odpraviti z dodelitvijo dovoljenja spletnemu strežniku %s za pisanje v mapo programov %s, ali pa z onemogočanjem nameščanja programov v nastavitveni datoteki.",
"Cannot create \"data\" directory (%s)" : "Ni mogoče ustvariti\"podatkovne\" mape (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Napako je mogoče odpraviti z <a href=\"%s\" target=\"_blank\">dodelitvijo dovoljenja spletnemu strežniku za pisanje v korensko mapo</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Dovoljenja je mogoče odpraviti z %sdodelitvijo dovoljenja spletnemu strežniku za pisanje korensko mapo%s.",
"Setting locale to %s failed" : "Nastavljanje jezikovnih določil na %s je spodletelo.",
"Please install one of these locales on your system and restart your webserver." : "Namestiti je treba podporo za vsaj eno od navedenih jezikovnih določil v sistemu in nato ponovno zagnati spletni strežnik.",
"Please ask your server administrator to install the module." : "Obvestite skrbnika strežnika, da je treba namestiti manjkajoč modul.",
diff --git a/lib/l10n/sq.js b/lib/l10n/sq.js
index a92d868f116..3c89e0cbbad 100644
--- a/lib/l10n/sq.js
+++ b/lib/l10n/sq.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Ndihmë",
"Personal" : "Personale",
- "Settings" : "Parametra",
"Users" : "Përdoruesit",
"Admin" : "Admin",
"Recommended" : "E rekomanduar",
diff --git a/lib/l10n/sq.json b/lib/l10n/sq.json
index 4903e1be195..1af0e50c65b 100644
--- a/lib/l10n/sq.json
+++ b/lib/l10n/sq.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Ndihmë",
"Personal" : "Personale",
- "Settings" : "Parametra",
"Users" : "Përdoruesit",
"Admin" : "Admin",
"Recommended" : "E rekomanduar",
diff --git a/lib/l10n/sr.js b/lib/l10n/sr.js
index 4b2b401c127..a439016568a 100644
--- a/lib/l10n/sr.js
+++ b/lib/l10n/sr.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Помоћ",
"Personal" : "Лично",
- "Settings" : "Поставке",
"Users" : "Корисници",
"Admin" : "Администратор",
"today" : "данас",
diff --git a/lib/l10n/sr.json b/lib/l10n/sr.json
index a9d28c1ea5a..a8139cecf2d 100644
--- a/lib/l10n/sr.json
+++ b/lib/l10n/sr.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Помоћ",
"Personal" : "Лично",
- "Settings" : "Поставке",
"Users" : "Корисници",
"Admin" : "Администратор",
"today" : "данас",
diff --git a/lib/l10n/sr@latin.js b/lib/l10n/sr@latin.js
index be1a41c85ff..263365f9e35 100644
--- a/lib/l10n/sr@latin.js
+++ b/lib/l10n/sr@latin.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Pomoć",
"Personal" : "Lično",
- "Settings" : "Podešavanja",
"Users" : "Korisnici",
"Admin" : "Adninistracija",
"Unknown filetype" : "Nepoznat tip fajla",
diff --git a/lib/l10n/sr@latin.json b/lib/l10n/sr@latin.json
index b6aeff717c0..753466c538d 100644
--- a/lib/l10n/sr@latin.json
+++ b/lib/l10n/sr@latin.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Pomoć",
"Personal" : "Lično",
- "Settings" : "Podešavanja",
"Users" : "Korisnici",
"Admin" : "Adninistracija",
"Unknown filetype" : "Nepoznat tip fajla",
diff --git a/lib/l10n/sv.js b/lib/l10n/sv.js
index b4c471592b5..cd714ba567f 100644
--- a/lib/l10n/sv.js
+++ b/lib/l10n/sv.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "ownCloud med version lägre än %s krävs.",
"Help" : "Hjälp",
"Personal" : "Personligt",
- "Settings" : "Inställningar",
"Users" : "Användare",
"Admin" : "Admin",
"Recommended" : "Rekomenderad",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Ett giltigt lösenord måste anges",
"The username is already being used" : "Användarnamnet används redan",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Inga databasdrivrutiner (sqlite, mysql, eller postgresql) installerade.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Rättigheterna kan vanligtvis åtgärdas genom att %s ger webbservern skrivrättigheter till rootkatalogen %s.",
"Cannot write into \"config\" directory" : "Kan inte skriva till \"config\" katalogen",
"Cannot write into \"apps\" directory" : "Kan inte skriva till \"apps\" katalogen!",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Detta kan vanligtvis åtgärdas genom att %s ger webbservern skrivrättigheter till applikationskatalogen %s eller stänga av app-butik i konfigurationsfilen.",
"Cannot create \"data\" directory (%s)" : "Kan inte skapa \"data\" katalog (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Detta kan vanligtvis åtgärdas genom att ge <a href=\"%s\" target=\"_blank\">webservern skrivrättigheter till rootkatalogen</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Rättigheterna kan vanligtvis åtgärdas genom att %s ger webbservern skrivrättigheter till rootkatalogen %s.",
"Setting locale to %s failed" : "Sätta locale till %s misslyckades",
"Please install one of these locales on your system and restart your webserver." : "Vänligen installera en av dessa locale på din server och starta om dinn webbserver,",
"Please ask your server administrator to install the module." : "Vänligen be din administratör att installera modulen.",
diff --git a/lib/l10n/sv.json b/lib/l10n/sv.json
index c9af123467b..2af4aec4a71 100644
--- a/lib/l10n/sv.json
+++ b/lib/l10n/sv.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "ownCloud med version lägre än %s krävs.",
"Help" : "Hjälp",
"Personal" : "Personligt",
- "Settings" : "Inställningar",
"Users" : "Användare",
"Admin" : "Admin",
"Recommended" : "Rekomenderad",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Ett giltigt lösenord måste anges",
"The username is already being used" : "Användarnamnet används redan",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Inga databasdrivrutiner (sqlite, mysql, eller postgresql) installerade.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Rättigheterna kan vanligtvis åtgärdas genom att %s ger webbservern skrivrättigheter till rootkatalogen %s.",
"Cannot write into \"config\" directory" : "Kan inte skriva till \"config\" katalogen",
"Cannot write into \"apps\" directory" : "Kan inte skriva till \"apps\" katalogen!",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Detta kan vanligtvis åtgärdas genom att %s ger webbservern skrivrättigheter till applikationskatalogen %s eller stänga av app-butik i konfigurationsfilen.",
"Cannot create \"data\" directory (%s)" : "Kan inte skapa \"data\" katalog (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "Detta kan vanligtvis åtgärdas genom att ge <a href=\"%s\" target=\"_blank\">webservern skrivrättigheter till rootkatalogen</a>.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Rättigheterna kan vanligtvis åtgärdas genom att %s ger webbservern skrivrättigheter till rootkatalogen %s.",
"Setting locale to %s failed" : "Sätta locale till %s misslyckades",
"Please install one of these locales on your system and restart your webserver." : "Vänligen installera en av dessa locale på din server och starta om dinn webbserver,",
"Please ask your server administrator to install the module." : "Vänligen be din administratör att installera modulen.",
diff --git a/lib/l10n/ta_IN.js b/lib/l10n/ta_IN.js
index 27a3f155da1..a12702211c2 100644
--- a/lib/l10n/ta_IN.js
+++ b/lib/l10n/ta_IN.js
@@ -1,7 +1,6 @@
OC.L10N.register(
"lib",
{
- "Settings" : "அமைப்புகள்",
"_%n day ago_::_%n days ago_" : ["",""],
"_%n month ago_::_%n months ago_" : ["",""],
"_%n year ago_::_%n years ago_" : ["",""],
diff --git a/lib/l10n/ta_IN.json b/lib/l10n/ta_IN.json
index 937923e8068..b994fa289eb 100644
--- a/lib/l10n/ta_IN.json
+++ b/lib/l10n/ta_IN.json
@@ -1,5 +1,4 @@
{ "translations": {
- "Settings" : "அமைப்புகள்",
"_%n day ago_::_%n days ago_" : ["",""],
"_%n month ago_::_%n months ago_" : ["",""],
"_%n year ago_::_%n years ago_" : ["",""],
diff --git a/lib/l10n/ta_LK.js b/lib/l10n/ta_LK.js
index 758ad47a78d..fbf1b5c9e70 100644
--- a/lib/l10n/ta_LK.js
+++ b/lib/l10n/ta_LK.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "உதவி",
"Personal" : "தனிப்பட்ட",
- "Settings" : "அமைப்புகள்",
"Users" : "பயனாளர்",
"Admin" : "நிர்வாகம்",
"today" : "இன்று",
diff --git a/lib/l10n/ta_LK.json b/lib/l10n/ta_LK.json
index 378f926337e..89928821e59 100644
--- a/lib/l10n/ta_LK.json
+++ b/lib/l10n/ta_LK.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "உதவி",
"Personal" : "தனிப்பட்ட",
- "Settings" : "அமைப்புகள்",
"Users" : "பயனாளர்",
"Admin" : "நிர்வாகம்",
"today" : "இன்று",
diff --git a/lib/l10n/te.js b/lib/l10n/te.js
index 615c6bd68ca..2a3f206338a 100644
--- a/lib/l10n/te.js
+++ b/lib/l10n/te.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "సహాయం",
"Personal" : "వ్యక్తిగతం",
- "Settings" : "అమరికలు",
"Users" : "వాడుకరులు",
"today" : "ఈరోజు",
"yesterday" : "నిన్న",
diff --git a/lib/l10n/te.json b/lib/l10n/te.json
index 4b243366da1..1f9d621fdc0 100644
--- a/lib/l10n/te.json
+++ b/lib/l10n/te.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "సహాయం",
"Personal" : "వ్యక్తిగతం",
- "Settings" : "అమరికలు",
"Users" : "వాడుకరులు",
"today" : "ఈరోజు",
"yesterday" : "నిన్న",
diff --git a/lib/l10n/th_TH.js b/lib/l10n/th_TH.js
index 9ab8b29e5a0..536b6f52ce2 100644
--- a/lib/l10n/th_TH.js
+++ b/lib/l10n/th_TH.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "ช่วยเหลือ",
"Personal" : "ส่วนตัว",
- "Settings" : "ตั้งค่า",
"Users" : "ผู้ใช้งาน",
"Admin" : "ผู้ดูแล",
"today" : "วันนี้",
diff --git a/lib/l10n/th_TH.json b/lib/l10n/th_TH.json
index 13452ec720a..21b2cf74d6a 100644
--- a/lib/l10n/th_TH.json
+++ b/lib/l10n/th_TH.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "ช่วยเหลือ",
"Personal" : "ส่วนตัว",
- "Settings" : "ตั้งค่า",
"Users" : "ผู้ใช้งาน",
"Admin" : "ผู้ดูแล",
"today" : "วันนี้",
diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js
index f6f8a89713f..2a53c0606b5 100644
--- a/lib/l10n/tr.js
+++ b/lib/l10n/tr.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"ownCloud with a version lower than %s is required." : "ownCloud %s sürümünden daha öncesi gerekli.",
"Help" : "Yardım",
"Personal" : "Kişisel",
- "Settings" : "Ayarlar",
"Users" : "Kullanıcılar",
"Admin" : "Yönetici",
"Recommended" : "Önerilen",
@@ -108,12 +107,12 @@ OC.L10N.register(
"A valid password must be provided" : "Geçerli bir parola mutlaka sağlanmalı",
"The username is already being used" : "Bu kullanıcı adı zaten kullanımda",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Yüklü veritabanı sürücüsü (sqlite, mysql veya postgresql) yok.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "İzinler genellikle, %sweb sunucusuna kök dizinine yazma erişimi verilerek%s çözülebilir",
"Cannot write into \"config\" directory" : "\"config\" dizinine yazılamıyor",
"Cannot write into \"apps\" directory" : "\"apps\" dizinine yazılamıyor",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Bu genellikle, %sweb sunucusuna apps dizinine yazma erişimi verilerek%s veya yapılandırma dosyasında appstore (uygulama mağazası) devre dışı bırakılarak çözülebilir.",
"Cannot create \"data\" directory (%s)" : "\"Veri\" dizini oluşturulamıyor (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "İzinler genellikle, <a href=\"%s\" target=\"_blank\">web sunucusuna kök dizinine yazma erişimi verilerek</a> çözülebilir.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "İzinler genellikle, %sweb sunucusuna kök dizinine yazma erişimi verilerek%s çözülebilir",
"Setting locale to %s failed" : "Dili %s olarak ayarlama başarısız",
"Please install one of these locales on your system and restart your webserver." : "Lütfen bu yerellerden birini sisteminize yükleyin ve web sunucunuzu yeniden başlatın.",
"Please ask your server administrator to install the module." : "Lütfen modülün kurulması için sunucu yöneticinize danışın.",
diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json
index 778818c8a86..93c2a7b98c5 100644
--- a/lib/l10n/tr.json
+++ b/lib/l10n/tr.json
@@ -17,7 +17,6 @@
"ownCloud with a version lower than %s is required." : "ownCloud %s sürümünden daha öncesi gerekli.",
"Help" : "Yardım",
"Personal" : "Kişisel",
- "Settings" : "Ayarlar",
"Users" : "Kullanıcılar",
"Admin" : "Yönetici",
"Recommended" : "Önerilen",
@@ -106,12 +105,12 @@
"A valid password must be provided" : "Geçerli bir parola mutlaka sağlanmalı",
"The username is already being used" : "Bu kullanıcı adı zaten kullanımda",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Yüklü veritabanı sürücüsü (sqlite, mysql veya postgresql) yok.",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "İzinler genellikle, %sweb sunucusuna kök dizinine yazma erişimi verilerek%s çözülebilir",
"Cannot write into \"config\" directory" : "\"config\" dizinine yazılamıyor",
"Cannot write into \"apps\" directory" : "\"apps\" dizinine yazılamıyor",
"This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Bu genellikle, %sweb sunucusuna apps dizinine yazma erişimi verilerek%s veya yapılandırma dosyasında appstore (uygulama mağazası) devre dışı bırakılarak çözülebilir.",
"Cannot create \"data\" directory (%s)" : "\"Veri\" dizini oluşturulamıyor (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "İzinler genellikle, <a href=\"%s\" target=\"_blank\">web sunucusuna kök dizinine yazma erişimi verilerek</a> çözülebilir.",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "İzinler genellikle, %sweb sunucusuna kök dizinine yazma erişimi verilerek%s çözülebilir",
"Setting locale to %s failed" : "Dili %s olarak ayarlama başarısız",
"Please install one of these locales on your system and restart your webserver." : "Lütfen bu yerellerden birini sisteminize yükleyin ve web sunucunuzu yeniden başlatın.",
"Please ask your server administrator to install the module." : "Lütfen modülün kurulması için sunucu yöneticinize danışın.",
diff --git a/lib/l10n/ug.js b/lib/l10n/ug.js
index 5ee6ccadd82..03369e132d3 100644
--- a/lib/l10n/ug.js
+++ b/lib/l10n/ug.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "ياردەم",
"Personal" : "شەخسىي",
- "Settings" : "تەڭشەكلەر",
"Users" : "ئىشلەتكۈچىلەر",
"today" : "بۈگۈن",
"yesterday" : "تۈنۈگۈن",
diff --git a/lib/l10n/ug.json b/lib/l10n/ug.json
index b73fb7e1b35..824bb116a40 100644
--- a/lib/l10n/ug.json
+++ b/lib/l10n/ug.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "ياردەم",
"Personal" : "شەخسىي",
- "Settings" : "تەڭشەكلەر",
"Users" : "ئىشلەتكۈچىلەر",
"today" : "بۈگۈن",
"yesterday" : "تۈنۈگۈن",
diff --git a/lib/l10n/uk.js b/lib/l10n/uk.js
index ee35acd8dab..cca57d41549 100644
--- a/lib/l10n/uk.js
+++ b/lib/l10n/uk.js
@@ -10,7 +10,6 @@ OC.L10N.register(
"PHP %s or higher is required." : "Необхідно PHP %s або вище",
"Help" : "Допомога",
"Personal" : "Особисте",
- "Settings" : "Налаштування",
"Users" : "Користувачі",
"Admin" : "Адмін",
"Recommended" : "Рекомендуємо",
diff --git a/lib/l10n/uk.json b/lib/l10n/uk.json
index 2969c10ea97..bc4d2ac5890 100644
--- a/lib/l10n/uk.json
+++ b/lib/l10n/uk.json
@@ -8,7 +8,6 @@
"PHP %s or higher is required." : "Необхідно PHP %s або вище",
"Help" : "Допомога",
"Personal" : "Особисте",
- "Settings" : "Налаштування",
"Users" : "Користувачі",
"Admin" : "Адмін",
"Recommended" : "Рекомендуємо",
diff --git a/lib/l10n/ur_PK.js b/lib/l10n/ur_PK.js
index d02b480fd13..e4fcea7f162 100644
--- a/lib/l10n/ur_PK.js
+++ b/lib/l10n/ur_PK.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "مدد",
"Personal" : "ذاتی",
- "Settings" : "سیٹینگز",
"Users" : "یوزرز",
"Admin" : "ایڈمن",
"Unknown filetype" : "غیر معرروف قسم کی فائل",
diff --git a/lib/l10n/ur_PK.json b/lib/l10n/ur_PK.json
index bbe6e221b2a..605653eddcf 100644
--- a/lib/l10n/ur_PK.json
+++ b/lib/l10n/ur_PK.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "مدد",
"Personal" : "ذاتی",
- "Settings" : "سیٹینگز",
"Users" : "یوزرز",
"Admin" : "ایڈمن",
"Unknown filetype" : "غیر معرروف قسم کی فائل",
diff --git a/lib/l10n/vi.js b/lib/l10n/vi.js
index a7e68528166..bab0698ef76 100644
--- a/lib/l10n/vi.js
+++ b/lib/l10n/vi.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "Giúp đỡ",
"Personal" : "Cá nhân",
- "Settings" : "Cài đặt",
"Users" : "Người dùng",
"Admin" : "Quản trị",
"Unknown filetype" : "Không biết kiểu tập tin",
diff --git a/lib/l10n/vi.json b/lib/l10n/vi.json
index a7a29de350a..6f6aa42f7c9 100644
--- a/lib/l10n/vi.json
+++ b/lib/l10n/vi.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "Giúp đỡ",
"Personal" : "Cá nhân",
- "Settings" : "Cài đặt",
"Users" : "Người dùng",
"Admin" : "Quản trị",
"Unknown filetype" : "Không biết kiểu tập tin",
diff --git a/lib/l10n/zh_CN.js b/lib/l10n/zh_CN.js
index 75f97fc6879..6079f2a42e8 100644
--- a/lib/l10n/zh_CN.js
+++ b/lib/l10n/zh_CN.js
@@ -6,7 +6,6 @@ OC.L10N.register(
"PHP %s or higher is required." : "要求 PHP 版本 %s 或者更高。",
"Help" : "帮助",
"Personal" : "个人",
- "Settings" : "设置",
"Users" : "用户",
"Admin" : "管理",
"No app name specified" : "没有指定的 App 名称",
diff --git a/lib/l10n/zh_CN.json b/lib/l10n/zh_CN.json
index 46e10f91993..a26f75ee226 100644
--- a/lib/l10n/zh_CN.json
+++ b/lib/l10n/zh_CN.json
@@ -4,7 +4,6 @@
"PHP %s or higher is required." : "要求 PHP 版本 %s 或者更高。",
"Help" : "帮助",
"Personal" : "个人",
- "Settings" : "设置",
"Users" : "用户",
"Admin" : "管理",
"No app name specified" : "没有指定的 App 名称",
diff --git a/lib/l10n/zh_HK.js b/lib/l10n/zh_HK.js
index 1fa04277511..734c1679fac 100644
--- a/lib/l10n/zh_HK.js
+++ b/lib/l10n/zh_HK.js
@@ -3,7 +3,6 @@ OC.L10N.register(
{
"Help" : "幫助",
"Personal" : "個人",
- "Settings" : "設定",
"Users" : "用戶",
"Admin" : "管理",
"Recommended" : "建議",
diff --git a/lib/l10n/zh_HK.json b/lib/l10n/zh_HK.json
index 3ad83045700..e8226d3936b 100644
--- a/lib/l10n/zh_HK.json
+++ b/lib/l10n/zh_HK.json
@@ -1,7 +1,6 @@
{ "translations": {
"Help" : "幫助",
"Personal" : "個人",
- "Settings" : "設定",
"Users" : "用戶",
"Admin" : "管理",
"Recommended" : "建議",
diff --git a/lib/l10n/zh_TW.js b/lib/l10n/zh_TW.js
index 477fa6bda3a..195cee01757 100644
--- a/lib/l10n/zh_TW.js
+++ b/lib/l10n/zh_TW.js
@@ -10,7 +10,6 @@ OC.L10N.register(
"PHP %s or higher is required." : "需要 PHP %s 或更高版本",
"Help" : "說明",
"Personal" : "個人",
- "Settings" : "設定",
"Users" : "使用者",
"Admin" : "管理",
"Recommended" : "建議",
@@ -94,12 +93,12 @@ OC.L10N.register(
"A valid password must be provided" : "一定要提供一個有效的密碼",
"The username is already being used" : "這個使用者名稱已經有人使用了",
"No database drivers (sqlite, mysql, or postgresql) installed." : "沒有安裝資料庫驅動程式 (sqlite, mysql, 或 postgresql)",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "通常藉由%s開放網頁伺服器對根目錄的權限%s就可以修正權限問題",
"Cannot write into \"config\" directory" : "無法寫入 config 目錄",
"Cannot write into \"apps\" directory" : "無法寫入 apps 目錄",
"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開放網頁伺服器對 apps 目錄的權限%s或是在設定檔中關閉 appstore 就可以修正這個問題",
"Cannot create \"data\" directory (%s)" : "無法建立 data 目錄 (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "通常藉由<a href=\"%s\" target=\"_blank\">開放網頁伺服器對根目錄的權限</a>就可以修正權限問題",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "通常藉由%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." : "請詢問系統管理員來安裝這些模組",
diff --git a/lib/l10n/zh_TW.json b/lib/l10n/zh_TW.json
index 685214cbc06..cbfd15b060f 100644
--- a/lib/l10n/zh_TW.json
+++ b/lib/l10n/zh_TW.json
@@ -8,7 +8,6 @@
"PHP %s or higher is required." : "需要 PHP %s 或更高版本",
"Help" : "說明",
"Personal" : "個人",
- "Settings" : "設定",
"Users" : "使用者",
"Admin" : "管理",
"Recommended" : "建議",
@@ -92,12 +91,12 @@
"A valid password must be provided" : "一定要提供一個有效的密碼",
"The username is already being used" : "這個使用者名稱已經有人使用了",
"No database drivers (sqlite, mysql, or postgresql) installed." : "沒有安裝資料庫驅動程式 (sqlite, mysql, 或 postgresql)",
- "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "通常藉由%s開放網頁伺服器對根目錄的權限%s就可以修正權限問題",
"Cannot write into \"config\" directory" : "無法寫入 config 目錄",
"Cannot write into \"apps\" directory" : "無法寫入 apps 目錄",
"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開放網頁伺服器對 apps 目錄的權限%s或是在設定檔中關閉 appstore 就可以修正這個問題",
"Cannot create \"data\" directory (%s)" : "無法建立 data 目錄 (%s)",
"This can usually be fixed by <a href=\"%s\" target=\"_blank\">giving the webserver write access to the root directory</a>." : "通常藉由<a href=\"%s\" target=\"_blank\">開放網頁伺服器對根目錄的權限</a>就可以修正權限問題",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "通常藉由%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." : "請詢問系統管理員來安裝這些模組",
diff --git a/lib/private/app.php b/lib/private/app.php
index a92ddd40e6f..1af2c36e19f 100644
--- a/lib/private/app.php
+++ b/lib/private/app.php
@@ -35,13 +35,11 @@ use OC\App\Platform;
*/
class OC_App {
static private $appVersion = [];
- static private $settingsForms = array();
static private $adminForms = array();
static private $personalForms = array();
static private $appInfo = array();
static private $appTypes = array();
static private $loadedApps = array();
- static private $checkedApps = array();
static private $altLogin = array();
/**
@@ -320,6 +318,7 @@ class OC_App {
/**
* This function set an app as disabled in appconfig.
* @param string $app app
+ * @throws Exception
*/
public static function disable($app) {
if($app === 'files') {
@@ -431,18 +430,6 @@ class OC_App {
"icon" => OC_Helper::imagePath("settings", "personal.svg")
);
- // if there are some settings forms
- if (!empty(self::$settingsForms)) {
- // settings menu
- $settings[] = array(
- "id" => "settings",
- "order" => 1000,
- "href" => OC_Helper::linkToRoute("settings_settings"),
- "name" => $l->t("Settings"),
- "icon" => OC_Helper::imagePath("settings", "settings.svg")
- );
- }
-
//SubAdmins are also allowed to access user management
if (OC_SubAdmin::isSubAdmin(OC_User::getUser())) {
// admin users menu
@@ -455,7 +442,6 @@ class OC_App {
);
}
-
// if the user is an admin
if (OC_User::isAdminUser(OC_User::getUser())) {
// admin settings
@@ -679,10 +665,11 @@ class OC_App {
* @return string
*/
public static function getCurrentApp() {
- $script = substr(OC_Request::scriptName(), strlen(OC::$WEBROOT) + 1);
+ $request = \OC::$server->getRequest();
+ $script = substr($request->getScriptName(), strlen(OC::$WEBROOT) + 1);
$topFolder = substr($script, 0, strpos($script, '/'));
if (empty($topFolder)) {
- $path_info = OC_Request::getPathInfo();
+ $path_info = $request->getPathInfo();
if ($path_info) {
$topFolder = substr($path_info, 1, strpos($path_info, '/', 1) - 1);
}
@@ -696,14 +683,12 @@ class OC_App {
}
/**
- * get the forms for either settings, admin or personal
+ * @param string $type
+ * @return array
*/
public static function getForms($type) {
$forms = array();
switch ($type) {
- case 'settings':
- $source = self::$settingsForms;
- break;
case 'admin':
$source = self::$adminForms;
break;
@@ -720,13 +705,6 @@ class OC_App {
}
/**
- * register a settings form to be shown
- */
- public static function registerSettings($app, $page) {
- self::$settingsForms[] = $app . '/' . $page . '.php';
- }
-
- /**
* register an admin form to be shown
*
* @param string $app
@@ -743,10 +721,16 @@ class OC_App {
self::$personalForms[] = $app . '/' . $page . '.php';
}
- public static function registerLogIn($entry) {
+ /**
+ * @param array $entry
+ */
+ public static function registerLogIn(array $entry) {
self::$altLogin[] = $entry;
}
+ /**
+ * @return array
+ */
public static function getAlternativeLogIns() {
return self::$altLogin;
}
diff --git a/lib/private/app/codechecker.php b/lib/private/app/codechecker.php
new file mode 100644
index 00000000000..dbec53579a8
--- /dev/null
+++ b/lib/private/app/codechecker.php
@@ -0,0 +1,130 @@
+<?php
+/**
+ * Copyright (c) 2015 Thomas Müller <deepdiver@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\App;
+
+use OC\Hooks\BasicEmitter;
+use PhpParser\Lexer;
+use PhpParser\Node;
+use PhpParser\Node\Name;
+use PhpParser\NodeTraverser;
+use PhpParser\NodeVisitorAbstract;
+use PhpParser\Parser;
+use RecursiveCallbackFilterIterator;
+use RecursiveDirectoryIterator;
+use RecursiveIteratorIterator;
+use RegexIterator;
+use SplFileInfo;
+
+class CodeChecker extends BasicEmitter {
+
+ const CLASS_EXTENDS_NOT_ALLOWED = 1000;
+ const CLASS_IMPLEMENTS_NOT_ALLOWED = 1001;
+ const STATIC_CALL_NOT_ALLOWED = 1002;
+ const CLASS_CONST_FETCH_NOT_ALLOWED = 1003;
+ const CLASS_NEW_FETCH_NOT_ALLOWED = 1004;
+
+ /** @var Parser */
+ private $parser;
+
+ /** @var string[] */
+ private $blackListedClassNames;
+
+ public function __construct() {
+ $this->parser = new Parser(new Lexer);
+ $this->blackListedClassNames = [
+ // classes replaced by the public api
+ 'OC_API',
+ 'OC_App',
+ 'OC_AppConfig',
+ 'OC_Avatar',
+ 'OC_BackgroundJob',
+ 'OC_Config',
+ 'OC_DB',
+ 'OC_Files',
+ 'OC_Helper',
+ 'OC_Hook',
+ 'OC_Image',
+ 'OC_JSON',
+ 'OC_L10N',
+ 'OC_Log',
+ 'OC_Mail',
+ 'OC_Preferences',
+ 'OC_Request',
+ 'OC_Response',
+ 'OC_Template',
+ 'OC_User',
+ 'OC_Util',
+ ];
+ }
+
+ /**
+ * @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.");
+ }
+
+ return $this->analyseFolder($appPath);
+ }
+
+ /**
+ * @param string $folder
+ * @return array
+ */
+ public function analyseFolder($folder) {
+ $errors = [];
+
+ $excludes = array_map(function($item) use ($folder) {
+ return $folder . '/' . $item;
+ }, ['vendor', '3rdparty', '.git', 'l10n']);
+
+ $iterator = new RecursiveDirectoryIterator($folder, RecursiveDirectoryIterator::SKIP_DOTS);
+ $iterator = new RecursiveCallbackFilterIterator($iterator, function($item) use ($folder, $excludes){
+ /** @var SplFileInfo $item */
+ foreach($excludes as $exclude) {
+ if (substr($item->getPath(), 0, strlen($exclude)) === $exclude) {
+ return false;
+ }
+ }
+ return true;
+ });
+ $iterator = new RecursiveIteratorIterator($iterator);
+ $iterator = new RegexIterator($iterator, '/^.+\.php$/i');
+
+ foreach ($iterator as $file) {
+ /** @var SplFileInfo $file */
+ $this->emit('CodeChecker', 'analyseFileBegin', [$file->getPathname()]);
+ $errors = array_merge($this->analyseFile($file), $errors);
+ $this->emit('CodeChecker', 'analyseFileFinished', [$errors]);
+ }
+
+ return $errors;
+ }
+
+
+ /**
+ * @param string $file
+ * @return array
+ */
+ public function analyseFile($file) {
+ $code = file_get_contents($file);
+ $statements = $this->parser->parse($code);
+
+ $visitor = new CodeCheckVisitor($this->blackListedClassNames);
+ $traverser = new NodeTraverser;
+ $traverser->addVisitor($visitor);
+
+ $traverser->traverse($statements);
+
+ return $visitor->errors;
+ }
+}
diff --git a/lib/private/app/codecheckvisitor.php b/lib/private/app/codecheckvisitor.php
new file mode 100644
index 00000000000..939c905bcf6
--- /dev/null
+++ b/lib/private/app/codecheckvisitor.php
@@ -0,0 +1,111 @@
+<?php
+/**
+ * Copyright (c) 2015 Thomas Müller <deepdiver@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\App;
+
+use OC\Hooks\BasicEmitter;
+use PhpParser\Lexer;
+use PhpParser\Node;
+use PhpParser\Node\Name;
+use PhpParser\NodeTraverser;
+use PhpParser\NodeVisitorAbstract;
+use PhpParser\Parser;
+use RecursiveCallbackFilterIterator;
+use RecursiveDirectoryIterator;
+use RecursiveIteratorIterator;
+use RegexIterator;
+use SplFileInfo;
+
+class CodeCheckVisitor extends NodeVisitorAbstract {
+
+ public function __construct($blackListedClassNames) {
+ $this->blackListedClassNames = array_map('strtolower', $blackListedClassNames);
+ }
+
+ public $errors = [];
+
+ public function enterNode(Node $node) {
+ if ($node instanceof Node\Stmt\Class_) {
+ if (!is_null($node->extends)) {
+ $this->checkBlackList($node->extends->toString(), CodeChecker::CLASS_EXTENDS_NOT_ALLOWED, $node);
+ }
+ foreach ($node->implements as $implements) {
+ $this->checkBlackList($implements->toString(), CodeChecker::CLASS_IMPLEMENTS_NOT_ALLOWED, $node);
+ }
+ }
+ if ($node instanceof Node\Expr\StaticCall) {
+ if (!is_null($node->class)) {
+ if ($node->class instanceof Name) {
+ $this->checkBlackList($node->class->toString(), CodeChecker::STATIC_CALL_NOT_ALLOWED, $node);
+ }
+ if ($node->class instanceof Node\Expr\Variable) {
+ /**
+ * TODO: find a way to detect something like this:
+ * $c = "OC_API";
+ * $n = $i::call();
+ */
+ }
+ }
+ }
+ if ($node instanceof Node\Expr\ClassConstFetch) {
+ if (!is_null($node->class)) {
+ if ($node->class instanceof Name) {
+ $this->checkBlackList($node->class->toString(), CodeChecker::CLASS_CONST_FETCH_NOT_ALLOWED, $node);
+ }
+ if ($node->class instanceof Node\Expr\Variable) {
+ /**
+ * TODO: find a way to detect something like this:
+ * $c = "OC_API";
+ * $n = $i::ADMIN_AUTH;
+ */
+ }
+ }
+ }
+ if ($node instanceof Node\Expr\New_) {
+ if (!is_null($node->class)) {
+ if ($node->class instanceof Name) {
+ $this->checkBlackList($node->class->toString(), CodeChecker::CLASS_NEW_FETCH_NOT_ALLOWED, $node);
+ }
+ if ($node->class instanceof Node\Expr\Variable) {
+ /**
+ * TODO: find a way to detect something like this:
+ * $c = "OC_API";
+ * $n = new $i;
+ */
+ }
+ }
+ }
+ }
+
+ private function checkBlackList($name, $errorCode, Node $node) {
+ if (in_array(strtolower($name), $this->blackListedClassNames)) {
+ $this->errors[]= [
+ 'disallowedToken' => $name,
+ 'errorCode' => $errorCode,
+ 'line' => $node->getLine(),
+ 'reason' => $this->buildReason($name, $errorCode)
+ ];
+ }
+ }
+
+ private function buildReason($name, $errorCode) {
+ static $errorMessages= [
+ CodeChecker::CLASS_EXTENDS_NOT_ALLOWED => "used as base class",
+ CodeChecker::CLASS_IMPLEMENTS_NOT_ALLOWED => "used as interface",
+ CodeChecker::STATIC_CALL_NOT_ALLOWED => "static method call on private class",
+ CodeChecker::CLASS_CONST_FETCH_NOT_ALLOWED => "used to fetch a const from",
+ CodeChecker::CLASS_NEW_FETCH_NOT_ALLOWED => "is instanciated",
+ ];
+
+ if (isset($errorMessages[$errorCode])) {
+ return $errorMessages[$errorCode];
+ }
+
+ return "$name usage not allowed - error: $errorCode";
+ }
+}
diff --git a/lib/private/appframework/http/request.php b/lib/private/appframework/http/request.php
index 4902671d4b8..d85bfd4f30a 100644
--- a/lib/private/appframework/http/request.php
+++ b/lib/private/appframework/http/request.php
@@ -24,6 +24,8 @@
namespace OC\AppFramework\Http;
+use OC\Security\TrustedDomainHelper;
+use OCP\IConfig;
use OCP\IRequest;
use OCP\Security\ISecureRandom;
@@ -31,9 +33,14 @@ use OCP\Security\ISecureRandom;
* Class for accessing variables in the request.
* This class provides an immutable object with request variables.
*/
-
class Request implements \ArrayAccess, \Countable, IRequest {
+ const USER_AGENT_IE = '/MSIE/';
+ // 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)$/';
+
protected $inputStream;
protected $content;
protected $items = array();
@@ -51,6 +58,8 @@ class Request implements \ArrayAccess, \Countable, IRequest {
);
/** @var ISecureRandom */
protected $secureRandom;
+ /** @var IConfig */
+ protected $config;
/** @var string */
protected $requestId = '';
@@ -66,15 +75,18 @@ class Request implements \ArrayAccess, \Countable, IRequest {
* - string 'method' the request method (GET, POST etc)
* - string|false 'requesttoken' the requesttoken or false when not available
* @param ISecureRandom $secureRandom
+ * @param IConfig $config
* @param string $stream
* @see http://www.php.net/manual/en/reserved.variables.php
*/
public function __construct(array $vars=array(),
- ISecureRandom $secureRandom,
+ ISecureRandom $secureRandom = null,
+ IConfig $config,
$stream='php://input') {
$this->inputStream = $stream;
$this->items['params'] = array();
$this->secureRandom = $secureRandom;
+ $this->config = $config;
if(!array_key_exists('method', $vars)) {
$vars['method'] = 'GET';
@@ -115,8 +127,10 @@ class Request implements \ArrayAccess, \Countable, IRequest {
);
}
-
- public function setUrlParameters($parameters) {
+ /**
+ * @param array $parameters
+ */
+ public function setUrlParameters(array $parameters) {
$this->items['urlParams'] = $parameters;
$this->items['parameters'] = array_merge(
$this->items['parameters'],
@@ -124,7 +138,10 @@ class Request implements \ArrayAccess, \Countable, IRequest {
);
}
- // Countable method.
+ /**
+ * Countable method
+ * @return int
+ */
public function count() {
return count(array_keys($this->items['parameters']));
}
@@ -176,7 +193,11 @@ class Request implements \ArrayAccess, \Countable, IRequest {
throw new \RuntimeException('You cannot change the contents of the request object');
}
- // Magic property accessors
+ /**
+ * Magic property accessors
+ * @param string $name
+ * @param mixed $value
+ */
public function __set($name, $value) {
throw new \RuntimeException('You cannot change the contents of the request object');
}
@@ -231,12 +252,17 @@ class Request implements \ArrayAccess, \Countable, IRequest {
}
}
-
+ /**
+ * @param string $name
+ * @return bool
+ */
public function __isset($name) {
return isset($this->items['parameters'][$name]);
}
-
+ /**
+ * @param string $id
+ */
public function __unset($id) {
throw new \RunTimeException('You cannot change the contents of the request object');
}
@@ -412,4 +438,254 @@ class Request implements \ArrayAccess, \Countable, IRequest {
return $this->requestId;
}
+ /**
+ * Returns the remote address, if the connection came from a trusted proxy
+ * and `forwarded_for_headers` has been configured then the IP address
+ * specified in this header will be returned instead.
+ * Do always use this instead of $_SERVER['REMOTE_ADDR']
+ * @return string IP address
+ */
+ public function getRemoteAddress() {
+ $remoteAddress = isset($this->server['REMOTE_ADDR']) ? $this->server['REMOTE_ADDR'] : '';
+ $trustedProxies = $this->config->getSystemValue('trusted_proxies', []);
+
+ if(is_array($trustedProxies) && in_array($remoteAddress, $trustedProxies)) {
+ $forwardedForHeaders = $this->config->getSystemValue('forwarded_for_headers', []);
+
+ foreach($forwardedForHeaders as $header) {
+ if(isset($this->server[$header])) {
+ foreach(explode(',', $this->server[$header]) as $IP) {
+ $IP = trim($IP);
+ if (filter_var($IP, FILTER_VALIDATE_IP) !== false) {
+ return $IP;
+ }
+ }
+ }
+ }
+ }
+
+ return $remoteAddress;
+ }
+
+ /**
+ * Check overwrite condition
+ * @param string $type
+ * @return bool
+ */
+ private function isOverwriteCondition($type = '') {
+ $regex = '/' . $this->config->getSystemValue('overwritecondaddr', '') . '/';
+ return $regex === '//' || preg_match($regex, $this->server['REMOTE_ADDR']) === 1
+ || ($type !== 'protocol' && $this->config->getSystemValue('forcessl', false));
+ }
+
+ /**
+ * Returns the server protocol. It respects reverse proxy servers and load
+ * balancers.
+ * @return string Server protocol (http or https)
+ */
+ public function getServerProtocol() {
+ if($this->config->getSystemValue('overwriteprotocol') !== ''
+ && $this->isOverwriteCondition('protocol')) {
+ return $this->config->getSystemValue('overwriteprotocol');
+ }
+
+ if (isset($this->server['HTTP_X_FORWARDED_PROTO'])) {
+ $proto = strtolower($this->server['HTTP_X_FORWARDED_PROTO']);
+ // Verify that the protocol is always HTTP or HTTPS
+ // default to http if an invalid value is provided
+ return $proto === 'https' ? 'https' : 'http';
+ }
+
+ if (isset($this->server['HTTPS'])
+ && $this->server['HTTPS'] !== null
+ && $this->server['HTTPS'] !== 'off') {
+ return 'https';
+ }
+
+ return 'http';
+ }
+
+ /**
+ * Returns the request uri, even if the website uses one or more
+ * reverse proxies
+ * @return string
+ */
+ public function getRequestUri() {
+ $uri = isset($this->server['REQUEST_URI']) ? $this->server['REQUEST_URI'] : '';
+ if($this->config->getSystemValue('overwritewebroot') !== '' && $this->isOverwriteCondition()) {
+ $uri = $this->getScriptName() . substr($uri, strlen($this->server['SCRIPT_NAME']));
+ }
+ return $uri;
+ }
+
+ /**
+ * Get raw PathInfo from request (not urldecoded)
+ * @throws \Exception
+ * @return string Path info
+ */
+ public function getRawPathInfo() {
+ $requestUri = isset($this->server['REQUEST_URI']) ? $this->server['REQUEST_URI'] : '';
+ // remove too many leading slashes - can be caused by reverse proxy configuration
+ if (strpos($requestUri, '/') === 0) {
+ $requestUri = '/' . ltrim($requestUri, '/');
+ }
+
+ $requestUri = preg_replace('%/{2,}%', '/', $requestUri);
+
+ // Remove the query string from REQUEST_URI
+ if ($pos = strpos($requestUri, '?')) {
+ $requestUri = substr($requestUri, 0, $pos);
+ }
+
+ $scriptName = $this->server['SCRIPT_NAME'];
+ $pathInfo = $requestUri;
+
+ // strip off the script name's dir and file name
+ // FIXME: Sabre does not really belong here
+ list($path, $name) = \Sabre\DAV\URLUtil::splitPath($scriptName);
+ if (!empty($path)) {
+ if($path === $pathInfo || strpos($pathInfo, $path.'/') === 0) {
+ $pathInfo = substr($pathInfo, strlen($path));
+ } else {
+ throw new \Exception("The requested uri($requestUri) cannot be processed by the script '$scriptName')");
+ }
+ }
+ if (strpos($pathInfo, '/'.$name) === 0) {
+ $pathInfo = substr($pathInfo, strlen($name) + 1);
+ }
+ if (strpos($pathInfo, $name) === 0) {
+ $pathInfo = substr($pathInfo, strlen($name));
+ }
+ if($pathInfo === '/'){
+ return '';
+ } else {
+ return $pathInfo;
+ }
+ }
+
+ /**
+ * Get PathInfo from request
+ * @throws \Exception
+ * @return string|false Path info or false when not found
+ */
+ public function getPathInfo() {
+ if(isset($this->server['PATH_INFO'])) {
+ return $this->server['PATH_INFO'];
+ }
+
+ $pathInfo = $this->getRawPathInfo();
+ // following is taken from \Sabre\DAV\URLUtil::decodePathSegment
+ $pathInfo = rawurldecode($pathInfo);
+ $encoding = mb_detect_encoding($pathInfo, ['UTF-8', 'ISO-8859-1']);
+
+ switch($encoding) {
+ case 'ISO-8859-1' :
+ $pathInfo = utf8_encode($pathInfo);
+ }
+ // end copy
+
+ return $pathInfo;
+ }
+
+ /**
+ * Returns the script name, even if the website uses one or more
+ * reverse proxies
+ * @return string the script name
+ */
+ public function getScriptName() {
+ $name = $this->server['SCRIPT_NAME'];
+ $overwriteWebRoot = $this->config->getSystemValue('overwritewebroot');
+ if ($overwriteWebRoot !== '' && $this->isOverwriteCondition()) {
+ // FIXME: This code is untestable due to __DIR__, also that hardcoded path is really dangerous
+ $serverRoot = str_replace('\\', '/', substr(__DIR__, 0, -strlen('lib/private/appframework/http/')));
+ $suburi = str_replace('\\', '/', substr(realpath($this->server['SCRIPT_FILENAME']), strlen($serverRoot)));
+ $name = '/' . ltrim($overwriteWebRoot . $suburi, '/');
+ }
+ return $name;
+ }
+
+ /**
+ * Checks whether the user agent matches a given regex
+ * @param array $agent array of agent names
+ * @return bool true if at least one of the given agent matches, false otherwise
+ */
+ public function isUserAgent(array $agent) {
+ foreach ($agent as $regex) {
+ if (preg_match($regex, $this->server['HTTP_USER_AGENT'])) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Returns the unverified server host from the headers without checking
+ * whether it is a trusted domain
+ * @return string Server host
+ */
+ public function getInsecureServerHost() {
+ $host = null;
+ if (isset($this->server['HTTP_X_FORWARDED_HOST'])) {
+ if (strpos($this->server['HTTP_X_FORWARDED_HOST'], ',') !== false) {
+ $parts = explode(',', $this->server['HTTP_X_FORWARDED_HOST']);
+ $host = trim(current($parts));
+ } else {
+ $host = $this->server['HTTP_X_FORWARDED_HOST'];
+ }
+ } else {
+ if (isset($this->server['HTTP_HOST'])) {
+ $host = $this->server['HTTP_HOST'];
+ } else if (isset($this->server['SERVER_NAME'])) {
+ $host = $this->server['SERVER_NAME'];
+ }
+ }
+ return $host;
+ }
+
+
+ /**
+ * Returns the server host from the headers, or the first configured
+ * trusted domain if the host isn't in the trusted list
+ * @return string Server host
+ */
+ public function getServerHost() {
+ // FIXME: Ugly workaround that we need to get rid of
+ if (\OC::$CLI && defined('PHPUNIT_RUN')) {
+ return 'localhost';
+ }
+
+ // overwritehost is always trusted
+ $host = $this->getOverwriteHost();
+ if ($host !== null) {
+ return $host;
+ }
+
+ // get the host from the headers
+ $host = $this->getInsecureServerHost();
+
+ // Verify that the host is a trusted domain if the trusted domains
+ // are defined
+ // If no trusted domain is provided the first trusted domain is returned
+ $trustedDomainHelper = new TrustedDomainHelper($this->config);
+ if ($trustedDomainHelper->isTrustedDomain($host)) {
+ return $host;
+ } else {
+ $trustedList = $this->config->getSystemValue('trusted_domains', []);
+ return $trustedList[0];
+ }
+ }
+
+ /**
+ * Returns the overwritehost setting from the config if set and
+ * if the overwrite condition is met
+ * @return string|null overwritehost value or null if not defined or the defined condition
+ * isn't met
+ */
+ private function getOverwriteHost() {
+ if($this->config->getSystemValue('overwritehost') !== '' && $this->isOverwriteCondition()) {
+ return $this->config->getSystemValue('overwritehost');
+ }
+ return null;
+ }
+
}
diff --git a/lib/private/connector/sabre/directory.php b/lib/private/connector/sabre/directory.php
index c878e5ee4b4..7c35bfa1791 100644
--- a/lib/private/connector/sabre/directory.php
+++ b/lib/private/connector/sabre/directory.php
@@ -20,7 +20,6 @@
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*/
-
class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node
implements \Sabre\DAV\ICollection, \Sabre\DAV\IQuota {
@@ -32,6 +31,13 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node
private $dirContent;
/**
+ * Cached quota info
+ *
+ * @var array
+ */
+ private $quotaInfo;
+
+ /**
* Creates a new file in the directory
*
* Data will either be supplied as a stream resource, or in certain cases
@@ -66,7 +72,8 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node
// exit if we can't create a new file and we don't updatable existing file
$info = OC_FileChunking::decodeName($name);
if (!$this->fileView->isCreatable($this->path) &&
- !$this->fileView->isUpdatable($this->path . '/' . $info['name'])) {
+ !$this->fileView->isUpdatable($this->path . '/' . $info['name'])
+ ) {
throw new \Sabre\DAV\Exception\Forbidden();
}
@@ -101,8 +108,8 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node
}
$newPath = $this->path . '/' . $name;
- if(!$this->fileView->mkdir($newPath)) {
- throw new \Sabre\DAV\Exception\Forbidden('Could not create directory '.$newPath);
+ if (!$this->fileView->mkdir($newPath)) {
+ throw new \Sabre\DAV\Exception\Forbidden('Could not create directory ' . $newPath);
}
} catch (\OCP\Files\StorageNotAvailableException $e) {
throw new \Sabre\DAV\Exception\ServiceUnavailable($e->getMessage());
@@ -152,14 +159,14 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node
$properties = array();
$paths = array();
- foreach($folderContent as $info) {
+ foreach ($folderContent as $info) {
$name = $info->getName();
$paths[] = $this->path . '/' . $name;
- $properties[$this->path.'/' . $name][self::GETETAG_PROPERTYNAME] = '"' . $info->getEtag() . '"';
+ $properties[$this->path . '/' . $name][self::GETETAG_PROPERTYNAME] = '"' . $info->getEtag() . '"';
}
// TODO: move this to a beforeGetPropertiesForPath event to pre-cache properties
// TODO: only fetch the requested properties
- if(count($paths)>0) {
+ if (count($paths) > 0) {
//
// the number of arguments within IN conditions are limited in most databases
// we chunk $paths into arrays of 200 items each to meet this criteria
@@ -167,15 +174,15 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node
$chunks = array_chunk($paths, 200, false);
foreach ($chunks as $pack) {
$placeholders = join(',', array_fill(0, count($pack), '?'));
- $query = OC_DB::prepare( 'SELECT * FROM `*PREFIX*properties`'
- .' WHERE `userid` = ?' . ' AND `propertypath` IN ('.$placeholders.')' );
+ $query = OC_DB::prepare('SELECT * FROM `*PREFIX*properties`'
+ . ' WHERE `userid` = ?' . ' AND `propertypath` IN (' . $placeholders . ')');
array_unshift($pack, OC_User::getUser()); // prepend userid
- $result = $query->execute( $pack );
- while($row = $result->fetchRow()) {
+ $result = $query->execute($pack);
+ while ($row = $result->fetchRow()) {
$propertypath = $row['propertypath'];
$propertyname = $row['propertyname'];
$propertyvalue = $row['propertyvalue'];
- if($propertyname !== self::GETETAG_PROPERTYNAME) {
+ if ($propertyname !== self::GETETAG_PROPERTYNAME) {
$properties[$propertypath][$propertyname] = $propertyvalue;
}
}
@@ -183,7 +190,7 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node
}
$nodes = array();
- foreach($folderContent as $info) {
+ foreach ($folderContent as $info) {
$node = $this->getChild($info->getName(), $info);
$node->setPropertyCache($properties[$this->path . '/' . $info->getName()]);
$nodes[] = $node;
@@ -230,15 +237,17 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node
* @return array
*/
public function getQuotaInfo() {
+ if ($this->quotaInfo) {
+ return $this->quotaInfo;
+ }
try {
- $path = \OC\Files\Filesystem::getView()->getRelativePath($this->info->getPath());
- $storageInfo = OC_Helper::getStorageInfo($path);
- return array(
+ $storageInfo = OC_Helper::getStorageInfo($this->info->getPath(), $this->info);
+ $this->quotaInfo = array(
$storageInfo['used'],
$storageInfo['free']
);
- }
- catch (\OCP\Files\StorageNotAvailableException $e) {
+ return $this->quotaInfo;
+ } catch (\OCP\Files\StorageNotAvailableException $e) {
return array(0, 0);
}
}
diff --git a/lib/private/connector/sabre/file.php b/lib/private/connector/sabre/file.php
index e57d04f9a6e..bb672696f2b 100644
--- a/lib/private/connector/sabre/file.php
+++ b/lib/private/connector/sabre/file.php
@@ -149,9 +149,9 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
}
// allow sync clients to send the mtime along in a header
- $mtime = OC_Request::hasModificationTime();
- if ($mtime !== false) {
- if($this->fileView->touch($this->path, $mtime)) {
+ $request = \OC::$server->getRequest();
+ if (isset($request->server['HTTP_X_OC_MTIME'])) {
+ if($this->fileView->touch($this->path, $request->server['HTTP_X_OC_MTIME'])) {
header('X-OC-MTime: accepted');
}
}
@@ -165,8 +165,9 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
/**
* Returns the data
- *
* @return string|resource
+ * @throws \Sabre\DAV\Exception\Forbidden
+ * @throws \Sabre\DAV\Exception\ServiceUnavailable
*/
public function get() {
@@ -187,9 +188,8 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
/**
* Delete the current file
- *
- * @return void
* @throws \Sabre\DAV\Exception\Forbidden
+ * @throws \Sabre\DAV\Exception\ServiceUnavailable
*/
public function delete() {
if (!$this->info->isDeletable()) {
@@ -251,6 +251,9 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
return \OC_Helper::getSecureMimeType($mimeType);
}
+ /**
+ * @return array|false
+ */
public function getDirectDownload() {
if (\OCP\App::isEnabled('encryption')) {
return [];
@@ -267,6 +270,10 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
/**
* @param resource $data
* @return null|string
+ * @throws \Sabre\DAV\Exception
+ * @throws \Sabre\DAV\Exception\BadRequest
+ * @throws \Sabre\DAV\Exception\NotImplemented
+ * @throws \Sabre\DAV\Exception\ServiceUnavailable
*/
private function createFileChunked($data)
{
@@ -319,9 +326,9 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
}
// allow sync clients to send the mtime along in a header
- $mtime = OC_Request::hasModificationTime();
- if ($mtime !== false) {
- if($this->fileView->touch($targetPath, $mtime)) {
+ $request = \OC::$server->getRequest();
+ if (isset($request->server['HTTP_X_OC_MTIME'])) {
+ if($this->fileView->touch($targetPath, $request->server['HTTP_X_OC_MTIME'])) {
header('X-OC-MTime: accepted');
}
}
@@ -340,9 +347,8 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
* Returns whether a part file is needed for the given storage
* or whether the file can be assembled/uploaded directly on the
* target storage.
- *
- * @param \OCP\Files\Storage $storage storage to check
- * @param bool true if the storage needs part file handling
+ * @param \OCP\Files\Storage $storage
+ * @return bool true if the storage needs part file handling
*/
private function needsPartFile($storage) {
// TODO: in the future use ChunkHandler provided by storage
diff --git a/lib/private/connector/sabre/request.php b/lib/private/connector/sabre/request.php
index c98b28c4d74..2ce753d916f 100644
--- a/lib/private/connector/sabre/request.php
+++ b/lib/private/connector/sabre/request.php
@@ -28,7 +28,7 @@ class OC_Connector_Sabre_Request extends \Sabre\HTTP\Request {
* @return string
*/
public function getUri() {
- return OC_Request::requestUri();
+ return \OC::$server->getRequest()->getRequestUri();
}
/**
diff --git a/lib/private/db/sqlitemigrator.php b/lib/private/db/sqlitemigrator.php
index 42b65634645..739bb242810 100644
--- a/lib/private/db/sqlitemigrator.php
+++ b/lib/private/db/sqlitemigrator.php
@@ -58,6 +58,7 @@ class SQLiteMigrator extends Migrator {
$platform = $connection->getDatabasePlatform();
$platform->registerDoctrineTypeMapping('tinyint unsigned', 'integer');
$platform->registerDoctrineTypeMapping('smallint unsigned', 'integer');
+ $platform->registerDoctrineTypeMapping('varchar ', 'string');
return parent::getDiff($targetSchema, $connection);
}
diff --git a/lib/private/defaults.php b/lib/private/defaults.php
index dfcd97aedd6..a3902ee80de 100644
--- a/lib/private/defaults.php
+++ b/lib/private/defaults.php
@@ -215,7 +215,8 @@ class OC_Defaults {
if ($this->themeExist('getShortFooter')) {
$footer = $this->theme->getShortFooter();
} else {
- $footer = '<a href="'. $this->getBaseUrl() . '" target="_blank">' .$this->getEntity() . '</a>'.
+ $footer = '<a href="'. $this->getBaseUrl() . '" target="_blank"' .
+ ' rel="noreferrer">' .$this->getEntity() . '</a>'.
' – ' . $this->getSlogan();
}
diff --git a/lib/private/files/cache/changepropagator.php b/lib/private/files/cache/changepropagator.php
index 2967c8f6259..36fc6e80144 100644
--- a/lib/private/files/cache/changepropagator.php
+++ b/lib/private/files/cache/changepropagator.php
@@ -59,8 +59,8 @@ class ChangePropagator {
list($storage, $internalPath) = $this->view->resolvePath($parent);
if ($storage) {
$cache = $storage->getCache();
- $id = $cache->getId($internalPath);
- $cache->update($id, array('mtime' => $time, 'etag' => $storage->getETag($internalPath)));
+ $entry = $cache->get($internalPath);
+ $cache->update($entry['fileid'], array('mtime' => max($time, $entry['mtime']), 'etag' => $storage->getETag($internalPath)));
}
}
}
diff --git a/lib/private/files/filesystem.php b/lib/private/files/filesystem.php
index e933782ce2f..04f82d88cd1 100644
--- a/lib/private/files/filesystem.php
+++ b/lib/private/files/filesystem.php
@@ -723,9 +723,18 @@ class Filesystem {
* Fix common problems with a file path
* @param string $path
* @param bool $stripTrailingSlash
+ * @param bool $isAbsolutePath
* @return string
*/
public static function normalizePath($path, $stripTrailingSlash = true, $isAbsolutePath = false) {
+ /**
+ * FIXME: This is a workaround for existing classes and files which call
+ * this function with another type than a valid string. This
+ * conversion should get removed as soon as all existing
+ * function calls have been fixed.
+ */
+ $path = (string)$path;
+
$cacheKey = json_encode([$path, $stripTrailingSlash, $isAbsolutePath]);
if(isset(self::$normalizedPathCache[$cacheKey])) {
diff --git a/lib/private/image.php b/lib/private/image.php
index f5f9a04facc..317b6fde160 100644
--- a/lib/private/image.php
+++ b/lib/private/image.php
@@ -391,7 +391,7 @@ class OC_Image {
$rotate = 90;
break;
}
- if($flip) {
+ if($flip && function_exists('imageflip')) {
imageflip($this->resource, IMG_FLIP_HORIZONTAL);
}
if ($rotate) {
diff --git a/lib/private/installer.php b/lib/private/installer.php
index b4fbe527b4f..8ed15a3a5d8 100644
--- a/lib/private/installer.php
+++ b/lib/private/installer.php
@@ -241,7 +241,7 @@ class OC_Installer{
if(!isset($data['href'])) {
throw new \Exception($l->t("No href specified when installing app from http"));
}
- copy($data['href'], $path);
+ file_put_contents($path, \OC_Util::getUrlContent($data['href']));
}else{
if(!isset($data['path'])) {
throw new \Exception($l->t("No path specified when installing app from local file"));
@@ -308,7 +308,7 @@ class OC_Installer{
}
$info=OC_App::getAppInfo($extractDir.'/appinfo/info.xml', true);
// check the code for not allowed calls
- if(!$isShipped && !OC_Installer::checkCode($info['id'], $extractDir)) {
+ if(!$isShipped && !OC_Installer::checkCode($extractDir)) {
OC_Helper::rmdirr($extractDir);
throw new \Exception($l->t("App can't be installed because of not allowed code in the App"));
}
@@ -511,7 +511,7 @@ class OC_Installer{
OC_Appconfig::setValue($app, 'ocsid', $info['ocsid']);
}
- //set remote/public handelers
+ //set remote/public handlers
foreach($info['remote'] as $name=>$path) {
OCP\CONFIG::setAppValue('core', 'remote_'.$name, $app.'/'.$path);
}
@@ -529,58 +529,15 @@ class OC_Installer{
* @param string $folder the folder of the app to check
* @return boolean true for app is o.k. and false for app is not o.k.
*/
- public static function checkCode($appname, $folder) {
- $blacklist=array(
- // classes replaced by the public api
- 'OC_API::',
- 'OC_App::',
- 'OC_AppConfig::',
- 'OC_Avatar',
- 'OC_BackgroundJob::',
- 'OC_Config::',
- 'OC_DB::',
- 'OC_Files::',
- 'OC_Helper::',
- 'OC_Hook::',
- 'OC_Image::',
- 'OC_JSON::',
- 'OC_L10N::',
- 'OC_Log::',
- 'OC_Mail::',
- 'OC_Request::',
- 'OC_Response::',
- 'OC_Template::',
- 'OC_User::',
- 'OC_Util::',
- );
-
+ public static function checkCode($folder) {
// is the code checker enabled?
- if(OC_Config::getValue('appcodechecker', false)) {
- // check if grep is installed
- $grep = \OC_Helper::findBinaryPath('grep');
- if (!$grep) {
- OC_Log::write('core',
- 'grep not installed. So checking the code of the app "'.$appname.'" was not possible',
- OC_Log::ERROR);
- return true;
- }
-
- // iterate the bad patterns
- foreach($blacklist as $bl) {
- $cmd = 'grep --include \\*.php -ri '.escapeshellarg($bl).' '.$folder.'';
- $result = exec($cmd);
- // bad pattern found
- if($result<>'') {
- OC_Log::write('core',
- 'App "'.$appname.'" is using a not allowed call "'.$bl.'". Installation refused.',
- OC_Log::ERROR);
- return false;
- }
- }
- return true;
-
- }else{
+ if(!OC_Config::getValue('appcodechecker', false)) {
return true;
}
+
+ $codeChecker = new \OC\App\CodeChecker();
+ $errors = $codeChecker->analyseFolder($folder);
+
+ return empty($errors);
}
}
diff --git a/lib/private/log/owncloud.php b/lib/private/log/owncloud.php
index 8e55bf1c695..62c2da6febe 100644
--- a/lib/private/log/owncloud.php
+++ b/lib/private/log/owncloud.php
@@ -68,8 +68,9 @@ class OC_Log_Owncloud {
$timezone = new DateTimeZone('UTC');
}
$time = new DateTime(null, $timezone);
- $reqId = \OC::$server->getRequest()->getId();
- $remoteAddr = \OC_Request::getRemoteAddress();
+ $request = \OC::$server->getRequest();
+ $reqId = $request->getId();
+ $remoteAddr = $request->getRemoteAddress();
// remove username/passwords from URLs before writing the to the log file
$time = $time->format($format);
if($minLevel == OC_Log::DEBUG) {
diff --git a/lib/private/memcache/apcu.php b/lib/private/memcache/apcu.php
index 7f780f32718..1043690a361 100644
--- a/lib/private/memcache/apcu.php
+++ b/lib/private/memcache/apcu.php
@@ -14,6 +14,8 @@ class APCu extends APC {
return false;
} elseif (!ini_get('apc.enable_cli') && \OC::$CLI) {
return false;
+ } elseif (version_compare(phpversion('apc'), '4.0.6') === -1) {
+ return false;
} else {
return true;
}
diff --git a/lib/private/memcache/arraycache.php b/lib/private/memcache/arraycache.php
new file mode 100644
index 00000000000..9456c0f80c6
--- /dev/null
+++ b/lib/private/memcache/arraycache.php
@@ -0,0 +1,71 @@
+<?php
+/**
+ * Copyright (c) 2015 Joas Schilling <nickvergessen@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Memcache;
+
+class ArrayCache extends Cache {
+ /** @var array Array with the cached data */
+ protected $cachedData = array();
+
+ /**
+ * {@inheritDoc}
+ */
+ public function get($key) {
+ if ($this->hasKey($key)) {
+ return $this->cachedData[$key];
+ }
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function set($key, $value, $ttl = 0) {
+ $this->cachedData[$key] = $value;
+ return true;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function hasKey($key) {
+ return isset($this->cachedData[$key]);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function remove($key) {
+ unset($this->cachedData[$key]);
+ return true;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public function clear($prefix = '') {
+ if ($prefix === '') {
+ $this->cachedData = [];
+ return true;
+ }
+
+ foreach ($this->cachedData as $key => $value) {
+ if (strpos($key, $prefix) === 0) {
+ $this->remove($key);
+ }
+ }
+ return true;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ static public function isAvailable() {
+ return true;
+ }
+}
diff --git a/lib/private/memcache/factory.php b/lib/private/memcache/factory.php
index 1e663eecfe1..537054a30f6 100644
--- a/lib/private/memcache/factory.php
+++ b/lib/private/memcache/factory.php
@@ -11,16 +11,19 @@ namespace OC\Memcache;
use \OCP\ICacheFactory;
class Factory implements ICacheFactory {
- /**
- * @var string $globalPrefix
- */
+ /** @var string $globalPrefix */
private $globalPrefix;
+ /** @var \OCP\ILogger */
+ private $logger;
+
/**
* @param string $globalPrefix
+ * @param \OCP\ILogger $logger
*/
- public function __construct($globalPrefix) {
+ public function __construct($globalPrefix, $logger) {
$this->globalPrefix = $globalPrefix;
+ $this->logger = $logger;
}
/**
@@ -32,17 +35,23 @@ class Factory implements ICacheFactory {
function create($prefix = '') {
$prefix = $this->globalPrefix . '/' . $prefix;
if (XCache::isAvailable()) {
+ $this->logger->debug("creating XCache instance", array('app' => 'memcache'));
return new XCache($prefix);
} elseif (APCu::isAvailable()) {
+ $this->logger->debug('creating APCu instance', array('app'=>'memcache'));
return new APCu($prefix);
} elseif (APC::isAvailable()) {
+ $this->logger->debug('creating APC instance', array('app'=>'memcache'));
return new APC($prefix);
} elseif (Redis::isAvailable()) {
+ $this->logger->debug('creating redis instance', array('app'=>'memcache'));
return new Redis($prefix);
} elseif (Memcached::isAvailable()) {
+ $this->logger->debug('creating memcached instance', array('app'=>'memcache'));
return new Memcached($prefix);
} else {
- return new Null($prefix);
+ $this->logger->debug('no cache available instance', array('app'=>'memcache'));
+ return new ArrayCache($prefix);
}
}
@@ -64,12 +73,16 @@ class Factory implements ICacheFactory {
public function createLowLatency($prefix = '') {
$prefix = $this->globalPrefix . '/' . $prefix;
if (XCache::isAvailable()) {
+ $this->logger->debug('creating xcache instance for low latency', array('app'=>'memcache'));
return new XCache($prefix);
} elseif (APCu::isAvailable()) {
+ $this->logger->debug('creating APCu instance for low latency', array('app'=>'memcache'));
return new APCu($prefix);
} elseif (APC::isAvailable()) {
+ $this->logger->debug('creating APC instance for low latency', array('app'=>'memcache'));
return new APC($prefix);
} else {
+ $this->logger->debug('no low latency cache available', array('app'=>'memcache'));
return null;
}
}
@@ -83,5 +96,4 @@ class Factory implements ICacheFactory {
return XCache::isAvailable() || APCu::isAvailable() || APC::isAvailable();
}
-
}
diff --git a/lib/private/request.php b/lib/private/request.php
deleted file mode 100644
index ab011c913d9..00000000000
--- a/lib/private/request.php
+++ /dev/null
@@ -1,330 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Bart Visscher <bartv@thisnet.nl>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-class OC_Request {
-
- const USER_AGENT_IE = '/MSIE/';
- // 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)$/';
-
- /**
- * Returns the remote address, if the connection came from a trusted proxy and `forwarded_for_headers` has been configured
- * then the IP address specified in this header will be returned instead.
- * Do always use this instead of $_SERVER['REMOTE_ADDR']
- * @return string IP address
- */
- public static function getRemoteAddress() {
- $remoteAddress = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
- $trustedProxies = \OC::$server->getConfig()->getSystemValue('trusted_proxies', array());
-
- if(is_array($trustedProxies) && in_array($remoteAddress, $trustedProxies)) {
- $forwardedForHeaders = \OC::$server->getConfig()->getSystemValue('forwarded_for_headers', array());
-
- foreach($forwardedForHeaders as $header) {
- if (array_key_exists($header, $_SERVER) === true) {
- foreach (explode(',', $_SERVER[$header]) as $IP) {
- $IP = trim($IP);
- if (filter_var($IP, FILTER_VALIDATE_IP) !== false) {
- return $IP;
- }
- }
- }
- }
- }
-
- return $remoteAddress;
- }
-
- /**
- * Check overwrite condition
- * @param string $type
- * @return bool
- */
- private static function isOverwriteCondition($type = '') {
- $regex = '/' . OC_Config::getValue('overwritecondaddr', '') . '/';
- return $regex === '//' or preg_match($regex, $_SERVER['REMOTE_ADDR']) === 1
- or ($type !== 'protocol' and OC_Config::getValue('forcessl', false));
- }
-
- /**
- * Strips a potential port from a domain (in format domain:port)
- * @param $host
- * @return string $host without appended port
- */
- public static function getDomainWithoutPort($host) {
- $pos = strrpos($host, ':');
- if ($pos !== false) {
- $port = substr($host, $pos + 1);
- if (is_numeric($port)) {
- $host = substr($host, 0, $pos);
- }
- }
- return $host;
- }
-
- /**
- * Checks whether a domain is considered as trusted from the list
- * of trusted domains. If no trusted domains have been configured, returns
- * true.
- * This is used to prevent Host Header Poisoning.
- * @param string $domainWithPort
- * @return bool true if the given domain is trusted or if no trusted domains
- * have been configured
- */
- public static function isTrustedDomain($domainWithPort) {
- // Extract port from domain if needed
- $domain = self::getDomainWithoutPort($domainWithPort);
-
- // FIXME: Empty config array defaults to true for now. - Deprecate this behaviour with ownCloud 8.
- $trustedList = \OC::$server->getConfig()->getSystemValue('trusted_domains', array());
- if (empty($trustedList)) {
- return true;
- }
-
- // FIXME: Workaround for older instances still with port applied. Remove for ownCloud 9.
- if(in_array($domainWithPort, $trustedList)) {
- return true;
- }
-
- // Always allow access from localhost
- if (preg_match(self::REGEX_LOCALHOST, $domain) === 1) {
- return true;
- }
-
- return in_array($domain, $trustedList);
- }
-
- /**
- * Returns the unverified server host from the headers without checking
- * whether it is a trusted domain
- * @return string the server host
- *
- * Returns the server host, even if the website uses one or more
- * reverse proxies
- */
- public static function insecureServerHost() {
- $host = null;
- if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
- if (strpos($_SERVER['HTTP_X_FORWARDED_HOST'], ",") !== false) {
- $parts = explode(',', $_SERVER['HTTP_X_FORWARDED_HOST']);
- $host = trim(current($parts));
- } else {
- $host = $_SERVER['HTTP_X_FORWARDED_HOST'];
- }
- } else {
- if (isset($_SERVER['HTTP_HOST'])) {
- $host = $_SERVER['HTTP_HOST'];
- } else if (isset($_SERVER['SERVER_NAME'])) {
- $host = $_SERVER['SERVER_NAME'];
- }
- }
- return $host;
- }
-
- /**
- * Returns the overwritehost setting from the config if set and
- * if the overwrite condition is met
- * @return string|null overwritehost value or null if not defined or the defined condition
- * isn't met
- */
- public static function getOverwriteHost() {
- if(OC_Config::getValue('overwritehost', '') !== '' and self::isOverwriteCondition()) {
- return OC_Config::getValue('overwritehost');
- }
- return null;
- }
-
- /**
- * Returns the server host from the headers, or the first configured
- * trusted domain if the host isn't in the trusted list
- * @return string the server host
- *
- * Returns the server host, even if the website uses one or more
- * reverse proxies
- */
- public static function serverHost() {
- if (OC::$CLI && defined('PHPUNIT_RUN')) {
- return 'localhost';
- }
-
- // overwritehost is always trusted
- $host = self::getOverwriteHost();
- if ($host !== null) {
- return $host;
- }
-
- // get the host from the headers
- $host = self::insecureServerHost();
-
- // Verify that the host is a trusted domain if the trusted domains
- // are defined
- // If no trusted domain is provided the first trusted domain is returned
- if (self::isTrustedDomain($host)) {
- return $host;
- } else {
- $trustedList = \OC_Config::getValue('trusted_domains', array(''));
- return $trustedList[0];
- }
- }
-
- /**
- * Returns the server protocol
- * @return string the server protocol
- *
- * Returns the server protocol. It respects reverse proxy servers and load balancers
- */
- public static function serverProtocol() {
- if(OC_Config::getValue('overwriteprotocol', '') !== '' and self::isOverwriteCondition('protocol')) {
- return OC_Config::getValue('overwriteprotocol');
- }
- if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
- $proto = strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']);
- // Verify that the protocol is always HTTP or HTTPS
- // default to http if an invalid value is provided
- return $proto === 'https' ? 'https' : 'http';
- }
- if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') {
- return 'https';
- }
- return 'http';
- }
-
- /**
- * Returns the request uri
- * @return string the request uri
- *
- * Returns the request uri, even if the website uses one or more
- * reverse proxies
- * @return string
- */
- public static function requestUri() {
- $uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
- if (OC_Config::getValue('overwritewebroot', '') !== '' and self::isOverwriteCondition()) {
- $uri = self::scriptName() . substr($uri, strlen($_SERVER['SCRIPT_NAME']));
- }
- return $uri;
- }
-
- /**
- * Returns the script name
- * @return string the script name
- *
- * Returns the script name, even if the website uses one or more
- * reverse proxies
- */
- public static function scriptName() {
- $name = $_SERVER['SCRIPT_NAME'];
- $overwriteWebRoot = OC_Config::getValue('overwritewebroot', '');
- if ($overwriteWebRoot !== '' and self::isOverwriteCondition()) {
- $serverroot = str_replace("\\", '/', substr(__DIR__, 0, -strlen('lib/private/')));
- $suburi = str_replace("\\", "/", substr(realpath($_SERVER["SCRIPT_FILENAME"]), strlen($serverroot)));
- $name = '/' . ltrim($overwriteWebRoot . $suburi, '/');
- }
- return $name;
- }
-
- /**
- * get Path info from request
- * @return string Path info or false when not found
- */
- public static function getPathInfo() {
- if (array_key_exists('PATH_INFO', $_SERVER)) {
- $path_info = $_SERVER['PATH_INFO'];
- }else{
- $path_info = self::getRawPathInfo();
- // following is taken from \Sabre\DAV\URLUtil::decodePathSegment
- $path_info = rawurldecode($path_info);
- $encoding = mb_detect_encoding($path_info, array('UTF-8', 'ISO-8859-1'));
-
- switch($encoding) {
-
- case 'ISO-8859-1' :
- $path_info = utf8_encode($path_info);
-
- }
- // end copy
- }
- return $path_info;
- }
-
- /**
- * get Path info from request, not urldecoded
- * @throws Exception
- * @return string Path info or false when not found
- */
- public static function getRawPathInfo() {
- $requestUri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
- // remove too many leading slashes - can be caused by reverse proxy configuration
- if (strpos($requestUri, '/') === 0) {
- $requestUri = '/' . ltrim($requestUri, '/');
- }
-
- $requestUri = preg_replace('%/{2,}%', '/', $requestUri);
-
- // Remove the query string from REQUEST_URI
- if ($pos = strpos($requestUri, '?')) {
- $requestUri = substr($requestUri, 0, $pos);
- }
-
- $scriptName = $_SERVER['SCRIPT_NAME'];
- $path_info = $requestUri;
-
- // strip off the script name's dir and file name
- list($path, $name) = \Sabre\DAV\URLUtil::splitPath($scriptName);
- if (!empty($path)) {
- if( $path === $path_info || strpos($path_info, $path.'/') === 0) {
- $path_info = substr($path_info, strlen($path));
- } else {
- throw new Exception("The requested uri($requestUri) cannot be processed by the script '$scriptName')");
- }
- }
- if (strpos($path_info, '/'.$name) === 0) {
- $path_info = substr($path_info, strlen($name) + 1);
- }
- if (strpos($path_info, $name) === 0) {
- $path_info = substr($path_info, strlen($name));
- }
- if($path_info === '/'){
- return '';
- } else {
- return $path_info;
- }
- }
-
- /**
- * Check if the requester sent along an mtime
- * @return false or an mtime
- */
- static public function hasModificationTime () {
- if (isset($_SERVER['HTTP_X_OC_MTIME'])) {
- return $_SERVER['HTTP_X_OC_MTIME'];
- } else {
- return false;
- }
- }
-
- /**
- * Checks whether the user agent matches a given regex
- * @param string|array $agent agent name or array of agent names
- * @return boolean true if at least one of the given agent matches,
- * false otherwise
- */
- static public function isUserAgent($agent) {
- if (!is_array($agent)) {
- $agent = array($agent);
- }
- foreach ($agent as $regex) {
- if (preg_match($regex, $_SERVER['HTTP_USER_AGENT'])) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/lib/private/response.php b/lib/private/response.php
index cf18115111a..9be5d75c314 100644
--- a/lib/private/response.php
+++ b/lib/private/response.php
@@ -158,11 +158,12 @@ class OC_Response {
* @param string $type disposition type, either 'attachment' or 'inline'
*/
static public function setContentDispositionHeader( $filename, $type = 'attachment' ) {
- if (OC_Request::isUserAgent(array(
- OC_Request::USER_AGENT_IE,
- OC_Request::USER_AGENT_ANDROID_MOBILE_CHROME,
- OC_Request::USER_AGENT_FREEBOX
- ))) {
+ if (\OC::$server->getRequest()->isUserAgent(
+ [
+ \OC\AppFramework\Http\Request::USER_AGENT_IE,
+ \OC\AppFramework\Http\Request::USER_AGENT_ANDROID_MOBILE_CHROME,
+ \OC\AppFramework\Http\Request::USER_AGENT_FREEBOX,
+ ])) {
header( 'Content-Disposition: ' . rawurlencode($type) . '; filename="' . rawurlencode( $filename ) . '"' );
} else {
header( 'Content-Disposition: ' . rawurlencode($type) . '; filename*=UTF-8\'\'' . rawurlencode( $filename )
diff --git a/lib/private/route/router.php b/lib/private/route/router.php
index 3559b841926..25e897123d1 100644
--- a/lib/private/route/router.php
+++ b/lib/private/route/router.php
@@ -63,8 +63,9 @@ class Router implements IRouter {
} else {
$method = 'GET';
}
- $host = \OC_Request::serverHost();
- $schema = \OC_Request::serverProtocol();
+ $request = \OC::$server->getRequest();
+ $host = $request->getServerHost();
+ $schema = $request->getServerProtocol();
$this->context = new RequestContext($baseUrl, $method, $host, $schema);
// TODO cache
$this->root = $this->getCollection('root');
diff --git a/lib/private/security/securerandom.php b/lib/private/security/securerandom.php
index 2402e863fb0..b1169bff289 100644
--- a/lib/private/security/securerandom.php
+++ b/lib/private/security/securerandom.php
@@ -64,8 +64,7 @@ class SecureRandom implements ISecureRandom {
* Generate a random string of specified length.
* @param string $length The length of the generated string
* @param string $characters An optional list of characters to use if no characterlist is
- * specified 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ./
- * is used.
+ * specified all valid base64 characters are used.
* @return string
* @throws \Exception If the generator is not initialized.
*/
diff --git a/lib/private/security/trusteddomainhelper.php b/lib/private/security/trusteddomainhelper.php
new file mode 100644
index 00000000000..da5e0ff0a12
--- /dev/null
+++ b/lib/private/security/trusteddomainhelper.php
@@ -0,0 +1,75 @@
+<?php
+/**
+ * Copyright (c) 2015 Lukas Reschke <lukas@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Security;
+use OC\AppFramework\Http\Request;
+use OCP\IConfig;
+
+/**
+ * Class TrustedDomain
+ *
+ * @package OC\Security
+ */
+class TrustedDomainHelper {
+ /** @var IConfig */
+ private $config;
+
+ /**
+ * @param IConfig $config
+ */
+ function __construct(IConfig $config) {
+ $this->config = $config;
+ }
+
+ /**
+ * Strips a potential port from a domain (in format domain:port)
+ * @param string $host
+ * @return string $host without appended port
+ */
+ private function getDomainWithoutPort($host) {
+ $pos = strrpos($host, ':');
+ if ($pos !== false) {
+ $port = substr($host, $pos + 1);
+ if (is_numeric($port)) {
+ $host = substr($host, 0, $pos);
+ }
+ }
+ return $host;
+ }
+
+ /**
+ * Checks whether a domain is considered as trusted from the list
+ * of trusted domains. If no trusted domains have been configured, returns
+ * true.
+ * This is used to prevent Host Header Poisoning.
+ * @param string $domainWithPort
+ * @return bool true if the given domain is trusted or if no trusted domains
+ * have been configured
+ */
+ public function isTrustedDomain($domainWithPort) {
+ $domain = $this->getDomainWithoutPort($domainWithPort);
+
+ // Read trusted domains from config
+ $trustedList = $this->config->getSystemValue('trusted_domains', []);
+ if(!is_array($trustedList)) {
+ return false;
+ }
+
+ // TODO: Workaround for older instances still with port applied. Remove for ownCloud 9.
+ if(in_array($domainWithPort, $trustedList)) {
+ return true;
+ }
+
+ // Always allow access from localhost
+ if (preg_match(Request::REGEX_LOCALHOST, $domain) === 1) {
+ return true;
+ }
+ return in_array($domain, $trustedList);
+ }
+
+}
diff --git a/lib/private/server.php b/lib/private/server.php
index b023534ae21..7c7f3c25cc8 100644
--- a/lib/private/server.php
+++ b/lib/private/server.php
@@ -17,6 +17,7 @@ use OC\Security\Crypto;
use OC\Security\Hasher;
use OC\Security\SecureRandom;
use OC\Diagnostics\NullEventLogger;
+use OC\Security\TrustedDomainHelper;
use OCP\IServerContainer;
use OCP\ISession;
use OC\Tagging\TagMapper;
@@ -41,45 +42,6 @@ class Server extends SimpleContainer implements IServerContainer {
$this->registerService('ContactsManager', function ($c) {
return new ContactsManager();
});
- $this->registerService('Request', function (Server $c) {
- if (isset($c['urlParams'])) {
- $urlParams = $c['urlParams'];
- } else {
- $urlParams = array();
- }
-
- if ($c->getSession()->exists('requesttoken')) {
- $requestToken = $c->getSession()->get('requesttoken');
- } else {
- $requestToken = false;
- }
-
- if (defined('PHPUNIT_RUN') && PHPUNIT_RUN
- && in_array('fakeinput', stream_get_wrappers())
- ) {
- $stream = 'fakeinput://data';
- } else {
- $stream = 'php://input';
- }
-
- return new Request(
- [
- 'get' => $_GET,
- 'post' => $_POST,
- 'files' => $_FILES,
- 'server' => $_SERVER,
- 'env' => $_ENV,
- 'cookies' => $_COOKIE,
- 'method' => (isset($_SERVER) && isset($_SERVER['REQUEST_METHOD']))
- ? $_SERVER['REQUEST_METHOD']
- : null,
- 'urlParams' => $urlParams,
- 'requesttoken' => $requestToken,
- ],
- $this->getSecureRandom(),
- $stream
- );
- });
$this->registerService('PreviewManager', function ($c) {
return new PreviewManager();
});
@@ -193,7 +155,8 @@ class Server extends SimpleContainer implements IServerContainer {
});
$this->registerService('MemCacheFactory', function ($c) {
$instanceId = \OC_Util::getInstanceId();
- return new \OC\Memcache\Factory($instanceId);
+ $logger = $c['Logger'];
+ return new \OC\Memcache\Factory($instanceId, $logger);
});
$this->registerService('ActivityManager', function ($c) {
return new ActivityManager();
@@ -298,6 +261,9 @@ class Server extends SimpleContainer implements IServerContainer {
$this->registerService('IniWrapper', function ($c) {
return new IniGetWrapper();
});
+ $this->registerService('TrustedDomainHelper', function ($c) {
+ return new TrustedDomainHelper($this->getConfig());
+ });
}
/**
@@ -312,10 +278,54 @@ class Server extends SimpleContainer implements IServerContainer {
* currently being processed is returned from this method.
* In case the current execution was not initiated by a web request null is returned
*
+ * FIXME: This should be queried as well. However, due to our totally awesome
+ * static code a lot of tests do stuff like $_SERVER['foo'] which obviously
+ * will not work with that approach. We even have some integration tests in our
+ * unit tests which setup a complete webserver. Once the code is all non-static
+ * or we don't have such mixed integration/unit tests setup anymore this can
+ * get moved out again.
+ *
* @return \OCP\IRequest|null
*/
function getRequest() {
- return $this->query('Request');
+ if (isset($this['urlParams'])) {
+ $urlParams = $this['urlParams'];
+ } else {
+ $urlParams = array();
+ }
+
+ if ($this->getSession()->exists('requesttoken')) {
+ $requestToken = $this->getSession()->get('requesttoken');
+ } else {
+ $requestToken = false;
+ }
+
+ if (defined('PHPUNIT_RUN') && PHPUNIT_RUN
+ && in_array('fakeinput', stream_get_wrappers())
+ ) {
+ $stream = 'fakeinput://data';
+ } else {
+ $stream = 'php://input';
+ }
+
+ return new Request(
+ [
+ 'get' => $_GET,
+ 'post' => $_POST,
+ 'files' => $_FILES,
+ 'server' => $_SERVER,
+ 'env' => $_ENV,
+ 'cookies' => $_COOKIE,
+ 'method' => (isset($_SERVER) && isset($_SERVER['REQUEST_METHOD']))
+ ? $_SERVER['REQUEST_METHOD']
+ : null,
+ 'urlParams' => $urlParams,
+ 'requesttoken' => $requestToken,
+ ],
+ $this->getSecureRandom(),
+ $this->getConfig(),
+ $stream
+ );
}
/**
@@ -736,4 +746,13 @@ class Server extends SimpleContainer implements IServerContainer {
public function getIniWrapper() {
return $this->query('IniWrapper');
}
+
+ /**
+ * Get the trusted domain helper
+ *
+ * @return TrustedDomainHelper
+ */
+ public function getTrustedDomainHelper() {
+ return $this->query('TrustedDomainHelper');
+ }
}
diff --git a/lib/private/setup.php b/lib/private/setup.php
index e3a29b6469d..a3b46c1eb4f 100644
--- a/lib/private/setup.php
+++ b/lib/private/setup.php
@@ -157,12 +157,14 @@ class OC_Setup {
return $error;
}
+ $request = \OC::$server->getRequest();
+
//no errors, good
if(isset($options['trusted_domains'])
&& is_array($options['trusted_domains'])) {
$trustedDomains = $options['trusted_domains'];
} else {
- $trustedDomains = array(\OC_Request::getDomainWithoutPort(\OC_Request::serverHost()));
+ $trustedDomains = [\OCP\Util::getServerHostName()];
}
if (OC_Util::runningOnWindows()) {
@@ -185,7 +187,7 @@ class OC_Setup {
'secret' => $secret,
'trusted_domains' => $trustedDomains,
'datadirectory' => $dataDir,
- 'overwrite.cli.url' => \OC_Request::serverProtocol() . '://' . \OC_Request::serverHost() . OC::$WEBROOT,
+ 'overwrite.cli.url' => $request->getServerProtocol() . '://' . $request->getServerHost() . OC::$WEBROOT,
'dbtype' => $dbType,
'version' => implode('.', OC_Util::getVersion()),
]);
diff --git a/lib/private/template.php b/lib/private/template.php
index 4fa1c867d54..b0d212c6f53 100644
--- a/lib/private/template.php
+++ b/lib/private/template.php
@@ -215,6 +215,7 @@ class OC_Template extends \OC\Template\Base {
* @param Exception $exception
*/
public static function printExceptionErrorPage(Exception $exception) {
+ $request = \OC::$server->getRequest();
$content = new \OC_Template('', 'exception', 'error', false);
$content->assign('errorMsg', $exception->getMessage());
$content->assign('errorCode', $exception->getCode());
@@ -222,8 +223,8 @@ class OC_Template extends \OC\Template\Base {
$content->assign('line', $exception->getLine());
$content->assign('trace', $exception->getTraceAsString());
$content->assign('debugMode', defined('DEBUG') && DEBUG === true);
- $content->assign('remoteAddr', OC_Request::getRemoteAddress());
- $content->assign('requestID', \OC::$server->getRequest()->getId());
+ $content->assign('remoteAddr', $request->getRemoteAddress());
+ $content->assign('requestID', $request->getId());
$content->printPage();
die();
}
diff --git a/lib/private/templatelayout.php b/lib/private/templatelayout.php
index 1a97eb26347..1678795f524 100644
--- a/lib/private/templatelayout.php
+++ b/lib/private/templatelayout.php
@@ -34,9 +34,9 @@ class OC_TemplateLayout extends OC_Template {
$this->config = \OC::$server->getConfig();
// Decide which page we show
- if( $renderAs == 'user' ) {
+ if($renderAs == 'user') {
parent::__construct( 'core', 'layout.user' );
- if(in_array(OC_APP::getCurrentApp(), array('settings','admin', 'help'))!==false) {
+ if(in_array(OC_App::getCurrentApp(), ['settings','admin', 'help']) !== false) {
$this->assign('bodyid', 'body-settings');
}else{
$this->assign('bodyid', 'body-user');
@@ -72,9 +72,9 @@ class OC_TemplateLayout extends OC_Template {
}
}
$userDisplayName = OC_User::getDisplayName();
- $this->assign( 'user_displayname', $userDisplayName );
- $this->assign( 'user_uid', OC_User::getUser() );
- $this->assign( 'appsmanagement_active', strpos(OC_Request::requestUri(), OC_Helper::linkToRoute('settings_apps')) === 0 );
+ $this->assign('user_displayname', $userDisplayName);
+ $this->assign('user_uid', OC_User::getUser());
+ $this->assign('appsmanagement_active', strpos(\OC::$server->getRequest()->getRequestUri(), OC_Helper::linkToRoute('settings_apps')) === 0 );
$this->assign('enableAvatars', $this->config->getSystemValue('enable_avatars', true));
$this->assign('userAvatarSet', \OC_Helper::userAvatarSet(OC_User::getUser()));
} else if ($renderAs == 'error') {
diff --git a/lib/private/urlgenerator.php b/lib/private/urlgenerator.php
index 0bf8ce22998..e87a6c354fb 100644
--- a/lib/private/urlgenerator.php
+++ b/lib/private/urlgenerator.php
@@ -170,7 +170,8 @@ class URLGenerator implements IURLGenerator {
? ''
: \OC::$WEBROOT;
- return \OC_Request::serverProtocol() . '://' . \OC_Request::serverHost(). $webRoot . $separator . $url;
+ $request = \OC::$server->getRequest();
+ return $request->getServerProtocol() . '://' . $request->getServerHost() . $webRoot . $separator . $url;
}
/**
diff --git a/lib/private/user.php b/lib/private/user.php
index d1fedffcaaf..10457c224f2 100644
--- a/lib/private/user.php
+++ b/lib/private/user.php
@@ -366,7 +366,7 @@ class OC_User {
return $backend->getLogoutAttribute();
}
- return 'href="' . link_to('', 'index.php') . '?logout=true&requesttoken=' . OC_Util::callRegister() . '"';
+ return 'href="' . link_to('', 'index.php') . '?logout=true&requesttoken=' . urlencode(OC_Util::callRegister()) . '"';
}
/**
diff --git a/lib/private/util.php b/lib/private/util.php
index 2be7e8eb293..1993a7c9a98 100644
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -849,8 +849,11 @@ class OC_Util {
// Check if we are a user
if (!OC_User::isLoggedIn()) {
header('Location: ' . OC_Helper::linkToAbsolute('', 'index.php',
- array('redirect_url' => OC_Request::requestUri())
- ));
+ [
+ 'redirect_url' => \OC::$server->getRequest()->getRequestUri()
+ ]
+ )
+ );
exit();
}
}
diff --git a/lib/public/activity/iextension.php b/lib/public/activity/iextension.php
index 1b405ad8d3d..6f30f4eb9c2 100644
--- a/lib/public/activity/iextension.php
+++ b/lib/public/activity/iextension.php
@@ -90,7 +90,7 @@ interface IExtension {
* @param string $text
* @return array|false
*/
- function getSpecialParameterList($app, $text);
+ public function getSpecialParameterList($app, $text);
/**
* A string naming the css class for the icon to be used can be returned.
diff --git a/lib/public/irequest.php b/lib/public/irequest.php
index b5ea1fa95da..025c8367d41 100644
--- a/lib/public/irequest.php
+++ b/lib/public/irequest.php
@@ -134,4 +134,69 @@ interface IRequest {
* @return string
*/
public function getId();
+
+ /**
+ * Returns the remote address, if the connection came from a trusted proxy
+ * and `forwarded_for_headers` has been configured then the IP address
+ * specified in this header will be returned instead.
+ * Do always use this instead of $_SERVER['REMOTE_ADDR']
+ * @return string IP address
+ */
+ public function getRemoteAddress();
+
+ /**
+ * Returns the server protocol. It respects reverse proxy servers and load
+ * balancers.
+ * @return string Server protocol (http or https)
+ */
+ public function getServerProtocol();
+
+ /**
+ * Returns the request uri, even if the website uses one or more
+ * reverse proxies
+ * @return string
+ */
+ public function getRequestUri();
+
+ /**
+ * Get raw PathInfo from request (not urldecoded)
+ * @throws \Exception
+ * @return string Path info
+ */
+ public function getRawPathInfo();
+
+ /**
+ * Get PathInfo from request
+ * @throws \Exception
+ * @return string|false Path info or false when not found
+ */
+ public function getPathInfo();
+
+ /**
+ * Returns the script name, even if the website uses one or more
+ * reverse proxies
+ * @return string the script name
+ */
+ public function getScriptName();
+
+ /**
+ * Checks whether the user agent matches a given regex
+ * @param array $agent array of agent names
+ * @return bool true if at least one of the given agent matches, false otherwise
+ */
+ public function isUserAgent(array $agent);
+
+ /**
+ * Returns the unverified server host from the headers without checking
+ * whether it is a trusted domain
+ * @return string Server host
+ */
+ public function getInsecureServerHost();
+
+ /**
+ * Returns the server host from the headers, or the first configured
+ * trusted domain if the host isn't in the trusted list
+ * @return string Server host
+ */
+ public function getServerHost();
}
diff --git a/lib/public/security/isecurerandom.php b/lib/public/security/isecurerandom.php
index 3de60f8d717..b4c488b7f37 100644
--- a/lib/public/security/isecurerandom.php
+++ b/lib/public/security/isecurerandom.php
@@ -53,9 +53,10 @@ interface ISecureRandom {
/**
* Generate a random string of specified length.
* @param string $length The length of the generated string
- * @param string $characters An optional list of characters to use
+ * @param string $characters An optional list of characters to use if no characterlist is
+ * specified all valid base64 characters are used.
* @return string
- * @throws \Exception
+ * @throws \Exception If the generator is not initialized.
*/
public function generate($length, $characters = '');
}
diff --git a/lib/public/util.php b/lib/public/util.php
index 7f1974a421d..e6e14a26e01 100644
--- a/lib/public/util.php
+++ b/lib/public/util.php
@@ -234,9 +234,10 @@ class Util {
/**
* Returns the server host, even if the website uses one or more reverse proxy
* @return string the server host
+ * @deprecated Use \OCP\IRequest::getServerHost
*/
public static function getServerHost() {
- return(\OC_Request::serverHost());
+ return \OC::$server->getRequest()->getServerHost();
}
/**
@@ -285,25 +286,28 @@ class Util {
/**
* Returns the server protocol. It respects reverse proxy servers and load balancers
* @return string the server protocol
+ * @deprecated Use \OCP\IRequest::getServerProtocol
*/
public static function getServerProtocol() {
- return(\OC_Request::serverProtocol());
+ return \OC::$server->getRequest()->getServerProtocol();
}
/**
* Returns the request uri, even if the website uses one or more reverse proxies
* @return string the request uri
+ * @deprecated Use \OCP\IRequest::getRequestUri
*/
public static function getRequestUri() {
- return(\OC_Request::requestUri());
+ return \OC::$server->getRequest()->getRequestUri();
}
/**
* Returns the script name, even if the website uses one or more reverse proxies
* @return string the script name
+ * @deprecated Use \OCP\IRequest::getScriptName
*/
public static function getScriptName() {
- return(\OC_Request::scriptName());
+ return \OC::$server->getRequest()->getScriptName();
}
/**
diff --git a/ocs/v1.php b/ocs/v1.php
index 0a86fb06411..b0f3e5e2b90 100644
--- a/ocs/v1.php
+++ b/ocs/v1.php
@@ -42,7 +42,7 @@ try {
// api calls always will return English
\OC_L10N::forceLanguage('en');
- OC::$server->getRouter()->match('/ocs'.OC_Request::getRawPathInfo());
+ OC::$server->getRouter()->match('/ocs'.\OC::$server->getRequest()->getRawPathInfo());
} catch (ResourceNotFoundException $e) {
OC_API::setContentType();
OC_OCS::notFound();
diff --git a/public.php b/public.php
index c5c227ef460..f17052a6c87 100644
--- a/public.php
+++ b/public.php
@@ -13,12 +13,13 @@ try {
OC::checkMaintenanceMode();
OC::checkSingleUserMode();
- $pathInfo = OC_Request::getPathInfo();
- if (!$pathInfo && !isset($_GET['service'])) {
+ $request = \OC::$server->getRequest();
+ $pathInfo = $request->getPathInfo();
+ if (!$pathInfo && !isset($request->server['service'])) {
header('HTTP/1.0 404 Not Found');
exit;
- } elseif (isset($_GET['service'])) {
- $service = $_GET['service'];
+ } elseif (isset($request->server['service'])) {
+ $service = $request->server['service'];
} else {
$pathInfo = trim($pathInfo, '/');
list($service) = explode('/', $pathInfo);
diff --git a/remote.php b/remote.php
index 7993566afec..80173441e90 100644
--- a/remote.php
+++ b/remote.php
@@ -11,17 +11,18 @@ try {
exit;
}
- $path_info = OC_Request::getPathInfo();
- if ($path_info === false || $path_info === '') {
+ $request = \OC::$server->getRequest();
+ $pathInfo = $request->getPathInfo();
+ if ($pathInfo === false || $pathInfo === '') {
OC_Response::setStatus(OC_Response::STATUS_NOT_FOUND);
exit;
}
- if (!$pos = strpos($path_info, '/', 1)) {
- $pos = strlen($path_info);
+ if (!$pos = strpos($pathInfo, '/', 1)) {
+ $pos = strlen($pathInfo);
}
- $service=substr($path_info, 1, $pos-1);
+ $service=substr($pathInfo, 1, $pos-1);
- $file = \OC::$server->getAppConfig()->getValue('core', 'remote_' . $service);
+ $file = \OC::$server->getConfig()->getAppValue('core', 'remote_' . $service);
if(is_null($file)) {
OC_Response::setStatus(OC_Response::STATUS_NOT_FOUND);
diff --git a/settings/admin.php b/settings/admin.php
index bb20c665f56..32e92edb145 100644
--- a/settings/admin.php
+++ b/settings/admin.php
@@ -20,6 +20,7 @@ $doesLogFileExist = file_exists($logFilePath);
$logFileSize = filesize($logFilePath);
$config = \OC::$server->getConfig();
$appConfig = \OC::$server->getAppConfig();
+$request = \OC::$server->getRequest();
// Should we display sendmail as an option?
$template->assign('sendmail_is_available', (bool) \OC_Helper::findBinaryPath('sendmail'));
@@ -59,7 +60,7 @@ $excludedGroupsList = explode(',', $excludedGroupsList); // FIXME: this should b
$template->assign('shareExcludedGroupsList', implode('|', $excludedGroupsList));
// Check if connected using HTTPS
-$template->assign('isConnectedViaHTTPS', OC_Request::serverProtocol() === 'https');
+$template->assign('isConnectedViaHTTPS', $request->getServerProtocol() === 'https');
$template->assign('enforceHTTPSEnabled', $config->getSystemValue('forcessl', false));
$template->assign('forceSSLforSubdomainsEnabled', $config->getSystemValue('forceSSLforSubdomains', false));
@@ -84,11 +85,15 @@ $template->assign('databaseOverload', $databaseOverload);
// warn if Windows is used
$template->assign('WindowsWarning', OC_Util::runningOnWindows());
+// warn if outdated version of APCu is used
+$template->assign('ApcuOutdatedWarning',
+ extension_loaded('apcu') && version_compare(phpversion('apc'), '4.0.6') === -1);
+
// add hardcoded forms from the template
$forms = OC_App::getForms('admin');
$l = OC_L10N::get('settings');
$formsAndMore = array();
-if (OC_Request::serverProtocol() !== 'https' || !OC_Util::isAnnotationsWorking() ||
+if ($request->getServerProtocol() !== 'https' || !OC_Util::isAnnotationsWorking() ||
$suggestedOverwriteCliUrl || !OC_Util::isSetLocaleWorking() || !OC_Util::isPhpCharSetUtf8() ||
!OC_Util::fileInfoLoaded() || $databaseOverload
) {
diff --git a/settings/controller/userscontroller.php b/settings/controller/userscontroller.php
index 80fb81600df..a20cbb4050a 100644
--- a/settings/controller/userscontroller.php
+++ b/settings/controller/userscontroller.php
@@ -154,7 +154,7 @@ class UsersController extends Controller {
'subadmin' => \OC_SubAdmin::getSubAdminsGroups($user->getUID()),
'quota' => $this->config->getUserValue($user->getUID(), 'files', 'quota', 'default'),
'storageLocation' => $user->getHome(),
- 'lastLogin' => $user->getLastLogin(),
+ 'lastLogin' => $user->getLastLogin() * 1000,
'backend' => $user->getBackendClassName(),
'email' => $this->config->getUserValue($user->getUID(), 'settings', 'email', ''),
'isRestoreDisabled' => !$restorePossible,
diff --git a/settings/l10n/ar.js b/settings/l10n/ar.js
index efdd28fa3bc..a72db207ab8 100644
--- a/settings/l10n/ar.js
+++ b/settings/l10n/ar.js
@@ -91,7 +91,6 @@ OC.L10N.register(
"More" : "المزيد",
"Less" : "أقل",
"Version" : "إصدار",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "طوّر من قبل <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud مجتمع</a>, الـ <a href=\"https://github.com/owncloud\" target=\"_blank\">النص المصدري</a> مرخص بموجب <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">رخصة أفيرو العمومية</abbr></a>.",
"by" : "من قبل",
"Documentation:" : "التوثيق",
"User Documentation" : "كتاب توثيق المستخدم",
diff --git a/settings/l10n/ar.json b/settings/l10n/ar.json
index 69f3c858f61..cda4c35ea27 100644
--- a/settings/l10n/ar.json
+++ b/settings/l10n/ar.json
@@ -89,7 +89,6 @@
"More" : "المزيد",
"Less" : "أقل",
"Version" : "إصدار",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "طوّر من قبل <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud مجتمع</a>, الـ <a href=\"https://github.com/owncloud\" target=\"_blank\">النص المصدري</a> مرخص بموجب <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">رخصة أفيرو العمومية</abbr></a>.",
"by" : "من قبل",
"Documentation:" : "التوثيق",
"User Documentation" : "كتاب توثيق المستخدم",
diff --git a/settings/l10n/ast.js b/settings/l10n/ast.js
index 06015f724f3..fedf6481efc 100644
--- a/settings/l10n/ast.js
+++ b/settings/l10n/ast.js
@@ -146,7 +146,6 @@ OC.L10N.register(
"More" : "Más",
"Less" : "Menos",
"Version" : "Versión",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desendolcáu pola <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidad ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">códigu fonte</a> ta baxo llicencia <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "por",
"Documentation:" : "Documentación:",
"User Documentation" : "Documentación d'usuariu",
@@ -160,7 +159,6 @@ OC.L10N.register(
"Bugtracker" : "Rastrexador de fallos",
"Commercial Support" : "Sofitu comercial",
"Get the apps to sync your files" : "Obtener les aplicaciones pa sincronizar ficheros",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Si quies sofitar el proyeutu\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">xúnite al desendolcu</a>\n\t\to\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">¡espardi la pallabra!</a>!",
"Show First Run Wizard again" : "Amosar nuevamente l'Encontu d'execución inicial",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Usasti <strong>%s</strong> de los <strong>%s</strong> disponibles",
"Password" : "Contraseña",
diff --git a/settings/l10n/ast.json b/settings/l10n/ast.json
index 6b360419e83..0d4433008d1 100644
--- a/settings/l10n/ast.json
+++ b/settings/l10n/ast.json
@@ -144,7 +144,6 @@
"More" : "Más",
"Less" : "Menos",
"Version" : "Versión",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desendolcáu pola <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidad ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">códigu fonte</a> ta baxo llicencia <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "por",
"Documentation:" : "Documentación:",
"User Documentation" : "Documentación d'usuariu",
@@ -158,7 +157,6 @@
"Bugtracker" : "Rastrexador de fallos",
"Commercial Support" : "Sofitu comercial",
"Get the apps to sync your files" : "Obtener les aplicaciones pa sincronizar ficheros",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Si quies sofitar el proyeutu\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">xúnite al desendolcu</a>\n\t\to\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">¡espardi la pallabra!</a>!",
"Show First Run Wizard again" : "Amosar nuevamente l'Encontu d'execución inicial",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Usasti <strong>%s</strong> de los <strong>%s</strong> disponibles",
"Password" : "Contraseña",
diff --git a/settings/l10n/bg_BG.js b/settings/l10n/bg_BG.js
index 38934d72a8c..9cebcef5d99 100644
--- a/settings/l10n/bg_BG.js
+++ b/settings/l10n/bg_BG.js
@@ -172,7 +172,6 @@ OC.L10N.register(
"More" : "Още",
"Less" : "По-малко",
"Version" : "Версия",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Разработен от <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud обществото</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">кодът</a> е лицензиран под <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Още приложения",
"Add your app" : "Добавете Ваше приложение",
"by" : "от",
@@ -196,7 +195,6 @@ OC.L10N.register(
"Desktop client" : "Клиент за настолен компютър",
"Android app" : "Андроид приложение",
"iOS app" : "iOS приложение",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Ако искаш да помогнеш на проекта:\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">присъедини се и пиши код</a>\n\t\tили\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">разпространи мълвата</a>!",
"Show First Run Wizard again" : "Покажи Настройките за Първоначално Зареждане отново",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Използвал си <strong>%s</strong> от наличните <strong>%s</strong>.",
"Password" : "Парола",
diff --git a/settings/l10n/bg_BG.json b/settings/l10n/bg_BG.json
index 1c906b6a893..d301bf135c2 100644
--- a/settings/l10n/bg_BG.json
+++ b/settings/l10n/bg_BG.json
@@ -170,7 +170,6 @@
"More" : "Още",
"Less" : "По-малко",
"Version" : "Версия",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Разработен от <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud обществото</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">кодът</a> е лицензиран под <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Още приложения",
"Add your app" : "Добавете Ваше приложение",
"by" : "от",
@@ -194,7 +193,6 @@
"Desktop client" : "Клиент за настолен компютър",
"Android app" : "Андроид приложение",
"iOS app" : "iOS приложение",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Ако искаш да помогнеш на проекта:\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">присъедини се и пиши код</a>\n\t\tили\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">разпространи мълвата</a>!",
"Show First Run Wizard again" : "Покажи Настройките за Първоначално Зареждане отново",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Използвал си <strong>%s</strong> от наличните <strong>%s</strong>.",
"Password" : "Парола",
diff --git a/settings/l10n/bn_BD.js b/settings/l10n/bn_BD.js
index b1c00f3afd3..8abbbe7e555 100644
--- a/settings/l10n/bn_BD.js
+++ b/settings/l10n/bn_BD.js
@@ -59,7 +59,6 @@ OC.L10N.register(
"More" : "বেশী",
"Less" : "কম",
"Version" : "ভার্সন",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "তৈলী করেছেন <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud সম্প্রদায়</a>, যার <a href=\"https://github.com/owncloud\" target=\"_blank\"> উৎস কোডটি <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> এর অধীনে লাইসেন্সকৃত।",
"by" : "কর্তৃক",
"User Documentation" : "ব্যবহারকারী সহায়িকা",
"Cheers!" : "শুভেচ্ছা!",
diff --git a/settings/l10n/bn_BD.json b/settings/l10n/bn_BD.json
index bc5c27b36de..e7ff1436f0e 100644
--- a/settings/l10n/bn_BD.json
+++ b/settings/l10n/bn_BD.json
@@ -57,7 +57,6 @@
"More" : "বেশী",
"Less" : "কম",
"Version" : "ভার্সন",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "তৈলী করেছেন <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud সম্প্রদায়</a>, যার <a href=\"https://github.com/owncloud\" target=\"_blank\"> উৎস কোডটি <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> এর অধীনে লাইসেন্সকৃত।",
"by" : "কর্তৃক",
"User Documentation" : "ব্যবহারকারী সহায়িকা",
"Cheers!" : "শুভেচ্ছা!",
diff --git a/settings/l10n/bs.js b/settings/l10n/bs.js
index 0fc862fd39b..7f1ceba2eb4 100644
--- a/settings/l10n/bs.js
+++ b/settings/l10n/bs.js
@@ -167,7 +167,6 @@ OC.L10N.register(
"More" : "Više",
"Less" : "Manje",
"Version" : "Verzija",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Razvila <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud zajednica</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">izvorni kod</a> je licenciran <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> licencom.",
"More apps" : "Više aplikacija",
"Add your app" : "Dodaj svoju aplikaciju",
"by" : "od strane",
@@ -190,7 +189,6 @@ OC.L10N.register(
"Desktop client" : "Desktop klijent",
"Android app" : "Android aplikacija",
"iOS app" : "iOS aplikacija",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Ako želite podržati projekt\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">pridružite se razvoju</a>\n\t\tili\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">proširite vijest</a>!",
"Show First Run Wizard again" : "Opet pokažite First Run Wizard",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Iskoristili ste <strong>%s</strong> od raspoloživog <strong>%s</strong>",
"Password" : "Lozinka",
diff --git a/settings/l10n/bs.json b/settings/l10n/bs.json
index 644b6b1f103..6d4df935749 100644
--- a/settings/l10n/bs.json
+++ b/settings/l10n/bs.json
@@ -165,7 +165,6 @@
"More" : "Više",
"Less" : "Manje",
"Version" : "Verzija",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Razvila <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud zajednica</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">izvorni kod</a> je licenciran <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> licencom.",
"More apps" : "Više aplikacija",
"Add your app" : "Dodaj svoju aplikaciju",
"by" : "od strane",
@@ -188,7 +187,6 @@
"Desktop client" : "Desktop klijent",
"Android app" : "Android aplikacija",
"iOS app" : "iOS aplikacija",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Ako želite podržati projekt\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">pridružite se razvoju</a>\n\t\tili\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">proširite vijest</a>!",
"Show First Run Wizard again" : "Opet pokažite First Run Wizard",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Iskoristili ste <strong>%s</strong> od raspoloživog <strong>%s</strong>",
"Password" : "Lozinka",
diff --git a/settings/l10n/ca.js b/settings/l10n/ca.js
index 51b03e4de94..5d09e8b42cb 100644
--- a/settings/l10n/ca.js
+++ b/settings/l10n/ca.js
@@ -152,7 +152,6 @@ OC.L10N.register(
"More" : "Més",
"Less" : "Menys",
"Version" : "Versió",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desenvolupat per la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunitat ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">codi font</a> té llicència <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Més aplicacions",
"Add your app" : "Afegiu la vostra app",
"by" : "per",
@@ -170,7 +169,6 @@ OC.L10N.register(
"Bugtracker" : "Seguiment d'errors",
"Commercial Support" : "Suport comercial",
"Get the apps to sync your files" : "Obtingueu les aplicacions per sincronitzar els vostres fitxers",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Si voleu ajudar al projecte \n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">uniu-vos al seu desenvolupament</a>\n\t\to\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">promoveu-lo</a>!",
"Show First Run Wizard again" : "Torna a mostrar l'assistent de primera execució",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Heu utilitzat <strong>%s</strong> d'un total disponible de <strong>%s</strong>",
"Password" : "Contrasenya",
diff --git a/settings/l10n/ca.json b/settings/l10n/ca.json
index 81c68e496b5..589b10f0535 100644
--- a/settings/l10n/ca.json
+++ b/settings/l10n/ca.json
@@ -150,7 +150,6 @@
"More" : "Més",
"Less" : "Menys",
"Version" : "Versió",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desenvolupat per la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunitat ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">codi font</a> té llicència <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Més aplicacions",
"Add your app" : "Afegiu la vostra app",
"by" : "per",
@@ -168,7 +167,6 @@
"Bugtracker" : "Seguiment d'errors",
"Commercial Support" : "Suport comercial",
"Get the apps to sync your files" : "Obtingueu les aplicacions per sincronitzar els vostres fitxers",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Si voleu ajudar al projecte \n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">uniu-vos al seu desenvolupament</a>\n\t\to\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">promoveu-lo</a>!",
"Show First Run Wizard again" : "Torna a mostrar l'assistent de primera execució",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Heu utilitzat <strong>%s</strong> d'un total disponible de <strong>%s</strong>",
"Password" : "Contrasenya",
diff --git a/settings/l10n/cs_CZ.js b/settings/l10n/cs_CZ.js
index cd3ca13ff26..ff35fd868c0 100644
--- a/settings/l10n/cs_CZ.js
+++ b/settings/l10n/cs_CZ.js
@@ -28,6 +28,7 @@ OC.L10N.register(
"No user supplied" : "Nebyl uveden uživatel",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Zadejte prosím administrátorské heslo pro obnovu, jinak budou všechna data ztracena",
"Wrong admin recovery password. Please check the password and try again." : "Chybné administrátorské heslo pro obnovu. Překontrolujte správnost hesla a zkuste to znovu.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Úložiště nepodporuje změnu hesla, ale šifrovací klíč uživatele byl úspěšně aktualizován.",
"Unable to change password" : "Změna hesla se nezdařila",
"Enabled" : "Povoleno",
"Not enabled" : "Vypnuto",
@@ -175,8 +176,8 @@ OC.L10N.register(
"Download logfile" : "Stáhnout soubor logu",
"More" : "Více",
"Less" : "Méně",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Soubor logu je větší než 100 MB. Jeho stažení zabere nějaký čas!",
"Version" : "Verze",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Vyvinuto <a href=\"http://ownCloud.org/contact\" target=\"_blank\">komunitou ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">zdrojový kód</a> je licencován pod <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Více aplikací",
"Add your app" : "Přidat vlastní aplikaci",
"by" : "sdílí",
@@ -200,7 +201,7 @@ OC.L10N.register(
"Desktop client" : "Aplikace pro počítač",
"Android app" : "Aplikace pro Android",
"iOS app" : "iOS aplikace",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Chcete-li podpořit tento projekt <a href=\"https://owncloud.org/contribute\" target=\"_blank\">přidejte se k vývoji</a> nebo <a href=\"https://owncloud.org/promote\" target=\"_blank\">šiřte osvětu</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Chcete-li podpořit tento projekt\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">přidejte se k jeho vývoji</a>\n\t\tnebo\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">šiřte osvětu</a>!",
"Show First Run Wizard again" : "Znovu zobrazit průvodce prvním spuštěním",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Používáte <strong>%s</strong> z <strong>%s</strong> dostupných",
"Password" : "Heslo",
@@ -215,6 +216,7 @@ OC.L10N.register(
"Your email address" : "Vaše emailová adresa",
"Fill in an email address to enable password recovery and receive notifications" : "Zadejte emailovou adresu pro umožnění obnovy zapomenutého hesla a pro přijímání upozornění",
"No email address set" : "Emailová adresa není nastavena",
+ "You are member of the following groups:" : "Patříte do následujících skupin:",
"Profile picture" : "Profilový obrázek",
"Upload new" : "Nahrát nový",
"Select new from Files" : "Vyberte nový ze souborů",
@@ -236,6 +238,7 @@ OC.L10N.register(
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Vaše šifrovací klíče byly zálohovány. Pokud se něco pokazí, můžete je obnovit. Smažte je trvale pouze pokud jste jisti, že jsou všechny vaše soubory bezchybně dešifrovány.",
"Restore Encryption Keys" : "Obnovit šifrovací klíče",
"Delete Encryption Keys" : "Smazat šifrovací klíče",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Vyvíjeno {communityopen}komunitou ownCloud{linkclose}, {githubopen}zdrojový kód{linkclose} je licencován pod {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}.",
"Show storage location" : "Cesta k datům",
"Show last log in" : "Poslední přihlášení",
"Show user backend" : "Zobrazit uživatelskou podpůrnou vrstvu",
diff --git a/settings/l10n/cs_CZ.json b/settings/l10n/cs_CZ.json
index 060258a6409..e6ff720ccf9 100644
--- a/settings/l10n/cs_CZ.json
+++ b/settings/l10n/cs_CZ.json
@@ -26,6 +26,7 @@
"No user supplied" : "Nebyl uveden uživatel",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Zadejte prosím administrátorské heslo pro obnovu, jinak budou všechna data ztracena",
"Wrong admin recovery password. Please check the password and try again." : "Chybné administrátorské heslo pro obnovu. Překontrolujte správnost hesla a zkuste to znovu.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Úložiště nepodporuje změnu hesla, ale šifrovací klíč uživatele byl úspěšně aktualizován.",
"Unable to change password" : "Změna hesla se nezdařila",
"Enabled" : "Povoleno",
"Not enabled" : "Vypnuto",
@@ -173,8 +174,8 @@
"Download logfile" : "Stáhnout soubor logu",
"More" : "Více",
"Less" : "Méně",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Soubor logu je větší než 100 MB. Jeho stažení zabere nějaký čas!",
"Version" : "Verze",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Vyvinuto <a href=\"http://ownCloud.org/contact\" target=\"_blank\">komunitou ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">zdrojový kód</a> je licencován pod <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Více aplikací",
"Add your app" : "Přidat vlastní aplikaci",
"by" : "sdílí",
@@ -198,7 +199,7 @@
"Desktop client" : "Aplikace pro počítač",
"Android app" : "Aplikace pro Android",
"iOS app" : "iOS aplikace",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Chcete-li podpořit tento projekt <a href=\"https://owncloud.org/contribute\" target=\"_blank\">přidejte se k vývoji</a> nebo <a href=\"https://owncloud.org/promote\" target=\"_blank\">šiřte osvětu</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Chcete-li podpořit tento projekt\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">přidejte se k jeho vývoji</a>\n\t\tnebo\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">šiřte osvětu</a>!",
"Show First Run Wizard again" : "Znovu zobrazit průvodce prvním spuštěním",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Používáte <strong>%s</strong> z <strong>%s</strong> dostupných",
"Password" : "Heslo",
@@ -213,6 +214,7 @@
"Your email address" : "Vaše emailová adresa",
"Fill in an email address to enable password recovery and receive notifications" : "Zadejte emailovou adresu pro umožnění obnovy zapomenutého hesla a pro přijímání upozornění",
"No email address set" : "Emailová adresa není nastavena",
+ "You are member of the following groups:" : "Patříte do následujících skupin:",
"Profile picture" : "Profilový obrázek",
"Upload new" : "Nahrát nový",
"Select new from Files" : "Vyberte nový ze souborů",
@@ -234,6 +236,7 @@
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Vaše šifrovací klíče byly zálohovány. Pokud se něco pokazí, můžete je obnovit. Smažte je trvale pouze pokud jste jisti, že jsou všechny vaše soubory bezchybně dešifrovány.",
"Restore Encryption Keys" : "Obnovit šifrovací klíče",
"Delete Encryption Keys" : "Smazat šifrovací klíče",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Vyvíjeno {communityopen}komunitou ownCloud{linkclose}, {githubopen}zdrojový kód{linkclose} je licencován pod {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}.",
"Show storage location" : "Cesta k datům",
"Show last log in" : "Poslední přihlášení",
"Show user backend" : "Zobrazit uživatelskou podpůrnou vrstvu",
diff --git a/settings/l10n/da.js b/settings/l10n/da.js
index 702f7285514..f81fde68707 100644
--- a/settings/l10n/da.js
+++ b/settings/l10n/da.js
@@ -28,6 +28,7 @@ OC.L10N.register(
"No user supplied" : "Intet brugernavn givet",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Angiv venligst en admininstrator gendannelseskode, ellers vil alt brugerdata gå tabt",
"Wrong admin recovery password. Please check the password and try again." : "Forkert admin gendannelseskode. Se venligst koden efter og prøv igen.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Backend'en understøtter ikke skift af kodeord, men opdateringen af brugerens krypteringsnøgle blev gennemført.",
"Unable to change password" : "Kunne ikke ændre kodeord",
"Enabled" : "Aktiveret",
"Not enabled" : "Slået fra",
@@ -175,8 +176,8 @@ OC.L10N.register(
"Download logfile" : "Hent logfil",
"More" : "Mere",
"Less" : "Mindre",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Logfilen er større end 100 MB. Det kan tage en del tid at hente den!",
"Version" : "Version",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Udviklet af <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownClouds community</a>, og <a href=\"https://github.com/owncloud\" target=\"_blank\">kildekoden</a> er underlagt licensen <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Flere programmer",
"Add your app" : "Tilføj din app",
"by" : "af",
@@ -200,7 +201,6 @@ OC.L10N.register(
"Desktop client" : "Skrivebordsklient",
"Android app" : "Android-app",
"iOS app" : "iOS-app",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Hvis du vil støtte projektet\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">deltag i udviklingen</a>\n\t\teller\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spred budskabet</a>!",
"Show First Run Wizard again" : "Vis guiden for første kørsel igen.",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Du har brugt <strong>%s</strong> af den tilgængelige <strong>%s</strong>",
"Password" : "Kodeord",
@@ -215,6 +215,7 @@ OC.L10N.register(
"Your email address" : "Din e-mailadresse",
"Fill in an email address to enable password recovery and receive notifications" : "Angiv en e-mailadresse for at aktivere gendannelse af adgangskode og modtage notifikationer",
"No email address set" : "Der er ikke angivet e-mailadresse",
+ "You are member of the following groups:" : "Der er medlem af følgende grupper:",
"Profile picture" : "Profilbillede",
"Upload new" : "Upload nyt",
"Select new from Files" : "Vælg nyt fra Filer",
diff --git a/settings/l10n/da.json b/settings/l10n/da.json
index 093895838be..f281c90cd43 100644
--- a/settings/l10n/da.json
+++ b/settings/l10n/da.json
@@ -26,6 +26,7 @@
"No user supplied" : "Intet brugernavn givet",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Angiv venligst en admininstrator gendannelseskode, ellers vil alt brugerdata gå tabt",
"Wrong admin recovery password. Please check the password and try again." : "Forkert admin gendannelseskode. Se venligst koden efter og prøv igen.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Backend'en understøtter ikke skift af kodeord, men opdateringen af brugerens krypteringsnøgle blev gennemført.",
"Unable to change password" : "Kunne ikke ændre kodeord",
"Enabled" : "Aktiveret",
"Not enabled" : "Slået fra",
@@ -173,8 +174,8 @@
"Download logfile" : "Hent logfil",
"More" : "Mere",
"Less" : "Mindre",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Logfilen er større end 100 MB. Det kan tage en del tid at hente den!",
"Version" : "Version",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Udviklet af <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownClouds community</a>, og <a href=\"https://github.com/owncloud\" target=\"_blank\">kildekoden</a> er underlagt licensen <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Flere programmer",
"Add your app" : "Tilføj din app",
"by" : "af",
@@ -198,7 +199,6 @@
"Desktop client" : "Skrivebordsklient",
"Android app" : "Android-app",
"iOS app" : "iOS-app",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Hvis du vil støtte projektet\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">deltag i udviklingen</a>\n\t\teller\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spred budskabet</a>!",
"Show First Run Wizard again" : "Vis guiden for første kørsel igen.",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Du har brugt <strong>%s</strong> af den tilgængelige <strong>%s</strong>",
"Password" : "Kodeord",
@@ -213,6 +213,7 @@
"Your email address" : "Din e-mailadresse",
"Fill in an email address to enable password recovery and receive notifications" : "Angiv en e-mailadresse for at aktivere gendannelse af adgangskode og modtage notifikationer",
"No email address set" : "Der er ikke angivet e-mailadresse",
+ "You are member of the following groups:" : "Der er medlem af følgende grupper:",
"Profile picture" : "Profilbillede",
"Upload new" : "Upload nyt",
"Select new from Files" : "Vælg nyt fra Filer",
diff --git a/settings/l10n/de.js b/settings/l10n/de.js
index f310289162d..fcf24fa14cf 100644
--- a/settings/l10n/de.js
+++ b/settings/l10n/de.js
@@ -28,6 +28,7 @@ OC.L10N.register(
"No user supplied" : "Keinen Benutzer übermittelt",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Bitte gib ein Wiederherstellungspasswort für das Admin-Konto an, da sonst alle Benutzer Daten verloren gehen können",
"Wrong admin recovery password. Please check the password and try again." : "Falsches Wiederherstellungspasswort für das Admin-Konto. Bitte überprüfe das Passwort und versuche es erneut.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Das Backend unterstützt die Passwortänderung nicht, aber der Benutzerschlüssel wurde erfolgreich aktualisiert.",
"Unable to change password" : "Passwort konnte nicht geändert werden",
"Enabled" : "Aktiviert",
"Not enabled" : "Nicht aktiviert",
@@ -50,7 +51,7 @@ OC.L10N.register(
"Invalid user" : "Ungültiger Nutzer",
"Unable to change mail address" : "E-Mail Adresse konnte nicht geändert werden",
"Email saved" : "E-Mail Adresse gespeichert",
- "Are you really sure you want add \"{domain}\" as trusted domain?" : "Bist Du dir wirklich sicher, dass Du \"{domain}\" als vertrauenswürdige Domain hinzufügen möchtest?",
+ "Are you really sure you want add \"{domain}\" as trusted domain?" : "Bist Du wirklich sicher, dass Du „{domain}“ als vertrauenswürdige Domain hinzufügen möchtest?",
"Add trusted domain" : "Vertrauenswürdige Domain hinzufügen",
"Sending..." : "Senden…",
"All" : "Alle",
@@ -128,7 +129,7 @@ OC.L10N.register(
"This means that there might be problems with certain characters in file names." : "Dies bedeutet, dass Probleme mit bestimmten Zeichen in den Dateinamen geben kann.",
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Wir empfehlen dringend, die erforderlichen Pakete auf Ihrem System zu installieren, damit eine der folgenden Gebietsschemas unterstützt wird: %s.",
"URL generation in notification emails" : "URL-Generierung in Mail-Benachrichtungen",
- "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\")" : "Wenn sich Deine Installation nicht im Wurzelverzeichnis der Domain befindet und Cron aus dem System genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setze bitte die \"overwrite.cli.url\"-Option in Deiner config.php auf das Web-Wurzelverzeichnis Deiner Installation (Vorschlag: \"%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\")" : "Wenn sich Deine Installation nicht im Wurzelverzeichnis der Domain befindet und Cron aus dem System genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setze bitte die „overwrite.cli.url“-Option in Deiner config.php auf das Web-Wurzelverzeichnis Deiner Installation (Vorschlag: „%s“).",
"Configuration Checks" : "Konfigurationsprüfungen",
"No problems found" : "Keine Probleme gefunden",
"Please double check the <a href='%s'>installation guides</a>." : "Bitte prüfe die <a href='%s'>Installationsanleitungen</a>.",
@@ -142,14 +143,14 @@ OC.L10N.register(
"Allow users to share via link" : "Erlaube Nutzern, mithilfe von Links zu teilen",
"Enforce password protection" : "Passwortschutz erzwingen",
"Allow public uploads" : "Öffentliches Hochladen erlauben",
- "Allow users to send mail notification for shared files" : "Benutzern erlauben Mail-Benachrichtigungen für freigegebene Dateien zu senden",
+ "Allow users to send mail notification for shared files" : "Benutzern erlauben, E-Mail-Benachrichtigungen für freigegebene Dateien zu senden",
"Set default expiration date" : "Setze Ablaufdatum",
"Expire after " : "Ablauf nach ",
"days" : "Tagen",
"Enforce expiration date" : "Ablaufdatum erzwingen",
"Allow resharing" : "Erlaubt erneutes Teilen",
- "Restrict users to only share with users in their groups" : "Erlaube Nutzern nur das Teilen in ihrer Gruppe",
- "Allow users to send mail notification for shared files to other users" : "Benutzern erlauben Mail-Benachrichtigungen für freigegebene Dateien an andere Benutzer zu senden",
+ "Restrict users to only share with users in their groups" : "Benutzer auf das Teilen innerhalb ihrer Gruppen beschränken",
+ "Allow users to send mail notification for shared files to other users" : "Benutzern erlauben, E-Mail-Benachrichtigungen für freigegebene Dateien an andere Benutzer zu senden",
"Exclude groups from sharing" : "Gruppen von Freigaben ausschließen",
"These groups will still be able to receive shares, but not to initiate them." : "Diese Gruppen können weiterhin Freigaben empfangen, aber selbst keine mehr initiieren.",
"Enforce HTTPS" : "Erzwinge HTTPS",
@@ -159,11 +160,11 @@ OC.L10N.register(
"Please connect to your %s via HTTPS to enable or disable the SSL enforcement." : "Bitte verbinde dich zu deinem %s über HTTPS um die SSL-Erzwingung zu aktivieren oder zu deaktivieren.",
"This is used for sending out notifications." : "Dies wird zum Senden von Benachrichtigungen verwendet.",
"Send mode" : "Sende-Modus",
- "From address" : "Absender-Adresse",
+ "From address" : "Absenderadresse",
"mail" : "Mail",
"Authentication method" : "Authentifizierungsmethode",
"Authentication required" : "Authentifizierung benötigt",
- "Server address" : "Adresse des Servers",
+ "Server address" : "Serveradresse",
"Port" : "Port",
"Credentials" : "Zugangsdaten",
"SMTP Username" : "SMTP Benutzername",
@@ -175,8 +176,8 @@ OC.L10N.register(
"Download logfile" : "Logdatei herunterladen",
"More" : "Mehr",
"Less" : "Weniger",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!",
"Version" : "Version",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Entwickelt von der <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud-Community</a>, der <a href=\"https://github.com/owncloud\" target=\"_blank\">Quellcode</a> ist unter der <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> lizenziert.",
"More apps" : "Mehr Apps",
"Add your app" : "Deine App hinzufügen",
"by" : "von",
@@ -188,7 +189,7 @@ OC.L10N.register(
"Update to %s" : "Aktualisierung auf %s",
"Enable only for specific groups" : "Nur für spezifizierte Gruppen aktivieren",
"Uninstall App" : "App deinstallieren",
- "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Hallo,<br><br>wir möchten Dich nur wissen lassen, dass Du jetzt ein %s - Konto besitzt.<br><br>Dein Nutzername: %s<br>Öffne es: <a href=\"%s\">%s</a><br><br>",
+ "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Hallo,<br><br>wir möchten Dich nur wissen lassen, dass Du jetzt ein %s-Konto besitzt.<br><br>Dein Benutzername: %s<br>Greife darauf zu: <a href=\"%s\">%s</a><br><br>",
"Cheers!" : "Hallo!",
"Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hallo,\n\nwir möchten Dich nur wissen lassen, dass Du jetzt ein %s - Konto besitzt\n\nDein Nutzername: %s\nÖffne es: %s\n",
"Administrator Documentation" : "Dokumentation für Administratoren",
@@ -200,7 +201,7 @@ OC.L10N.register(
"Desktop client" : "Desktop-Client",
"Android app" : "Android-App",
"iOS app" : "iOS-App",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Wenn Du das Projekt unterstützen möchtest,\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">beteilige Dich an der Entwicklung</a>\n\t\toder\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">sorge dafür, dass es bekannter wird</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Wenn Du das Projekt unterstützen möchtest,\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">beteilige Dich an der Entwicklung</a>\n⇥⇥oder\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">hilf mit, es bekannter zu machen</a>!",
"Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Du verwendest <strong>%s</strong> der verfügbaren <strong>%s</strong>",
"Password" : "Passwort",
@@ -214,13 +215,14 @@ OC.L10N.register(
"Email" : "E-Mail",
"Your email address" : "Deine E-Mail-Adresse",
"Fill in an email address to enable password recovery and receive notifications" : "Gib eine E-Mail-Adresse an, um eine Wiederherstellung des Passworts zu ermöglichen und Benachrichtigungen zu empfangen",
- "No email address set" : "Keine E-Mail Adresse angegeben",
+ "No email address set" : "Keine E-Mail-Adresse angegeben",
+ "You are member of the following groups:" : "Du bist Mitglied folgender Gruppen:",
"Profile picture" : "Profilbild",
"Upload new" : "Neues hochladen",
"Select new from Files" : "Neues aus den Dateien wählen",
"Remove image" : "Bild entfernen",
- "Either png or jpg. Ideally square but you will be able to crop it." : "Entweder PNG oder JPG. Im Idealfall quadratisch, aber du kannst es zuschneiden.",
- "Your avatar is provided by your original account." : "Dein Avatar wird von Deinem ursprünglichenKonto verwendet.",
+ "Either png or jpg. Ideally square but you will be able to crop it." : "Entweder PNG oder JPG. Im Idealfall quadratisch, aber Du kannst es zuschneiden.",
+ "Your avatar is provided by your original account." : "Dein Avatar wird von Deinem ursprünglichen Konto bereitgestellt.",
"Cancel" : "Abbrechen",
"Choose as profile image" : "Als Profilbild wählen",
"Language" : "Sprache",
@@ -236,11 +238,12 @@ OC.L10N.register(
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Deine Verschlüsselungsschlüssel wiederherstellen wurden zu einem Backup-Speicherort verschoben. Wenn irgendetwas schief läuft können die Schlüssel wiederhergestellt werden. Lösche diese nur dann dauerhaft, wenn Du dir sicher bist, dass alle Dateien korrekt entschlüsselt wurden.",
"Restore Encryption Keys" : "Verschlüsselungsschlüssel wiederherstellen",
"Delete Encryption Keys" : "Verschlüsselungsschlüssel löschen",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Entwickelt von der {communityopen}ownCloud-Community{linkclose}, der {githubopen}Quellcode{linkclose} ist unter den Bedingungen der {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose} lizenziert.",
"Show storage location" : "Speicherort anzeigen",
"Show last log in" : "Letzte Anmeldung anzeigen",
- "Show user backend" : "Nutzer-Backend anzeigen",
+ "Show user backend" : "Benutzer-Backend anzeigen",
"Send email to new user" : "E-Mail an neuen Nutzer senden",
- "Show email address" : "E-Mail Adresse anzeigen",
+ "Show email address" : "E-Mail-Adresse anzeigen",
"Username" : "Benutzername",
"E-Mail" : "E-Mail",
"Create" : "Anlegen",
@@ -252,7 +255,7 @@ OC.L10N.register(
"Everyone" : "Jeder",
"Admins" : "Administratoren",
"Default Quota" : "Standard-Quota",
- "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Bitte Speicherkontingent eingeben (z.B.: \"512 MB\" oder \"12 GB\")",
+ "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Bitte Speicherkontingent eingeben (z. B.: „512 MB“ oder „12 GB“)",
"Unlimited" : "Unbegrenzt",
"Other" : "Andere",
"Group Admin for" : "Gruppenadministrator für",
@@ -262,7 +265,7 @@ OC.L10N.register(
"Last Login" : "Letzte Anmeldung",
"change full name" : "Vollständigen Namen ändern",
"set new password" : "Neues Passwort setzen",
- "change email address" : "E-Mail Adresse ändern",
+ "change email address" : "E-Mail-Adresse ändern",
"Default" : "Standard"
},
"nplurals=2; plural=(n != 1);");
diff --git a/settings/l10n/de.json b/settings/l10n/de.json
index 04dd60ffc8e..8e58c1a2e3a 100644
--- a/settings/l10n/de.json
+++ b/settings/l10n/de.json
@@ -26,6 +26,7 @@
"No user supplied" : "Keinen Benutzer übermittelt",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Bitte gib ein Wiederherstellungspasswort für das Admin-Konto an, da sonst alle Benutzer Daten verloren gehen können",
"Wrong admin recovery password. Please check the password and try again." : "Falsches Wiederherstellungspasswort für das Admin-Konto. Bitte überprüfe das Passwort und versuche es erneut.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Das Backend unterstützt die Passwortänderung nicht, aber der Benutzerschlüssel wurde erfolgreich aktualisiert.",
"Unable to change password" : "Passwort konnte nicht geändert werden",
"Enabled" : "Aktiviert",
"Not enabled" : "Nicht aktiviert",
@@ -48,7 +49,7 @@
"Invalid user" : "Ungültiger Nutzer",
"Unable to change mail address" : "E-Mail Adresse konnte nicht geändert werden",
"Email saved" : "E-Mail Adresse gespeichert",
- "Are you really sure you want add \"{domain}\" as trusted domain?" : "Bist Du dir wirklich sicher, dass Du \"{domain}\" als vertrauenswürdige Domain hinzufügen möchtest?",
+ "Are you really sure you want add \"{domain}\" as trusted domain?" : "Bist Du wirklich sicher, dass Du „{domain}“ als vertrauenswürdige Domain hinzufügen möchtest?",
"Add trusted domain" : "Vertrauenswürdige Domain hinzufügen",
"Sending..." : "Senden…",
"All" : "Alle",
@@ -126,7 +127,7 @@
"This means that there might be problems with certain characters in file names." : "Dies bedeutet, dass Probleme mit bestimmten Zeichen in den Dateinamen geben kann.",
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Wir empfehlen dringend, die erforderlichen Pakete auf Ihrem System zu installieren, damit eine der folgenden Gebietsschemas unterstützt wird: %s.",
"URL generation in notification emails" : "URL-Generierung in Mail-Benachrichtungen",
- "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\")" : "Wenn sich Deine Installation nicht im Wurzelverzeichnis der Domain befindet und Cron aus dem System genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setze bitte die \"overwrite.cli.url\"-Option in Deiner config.php auf das Web-Wurzelverzeichnis Deiner Installation (Vorschlag: \"%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\")" : "Wenn sich Deine Installation nicht im Wurzelverzeichnis der Domain befindet und Cron aus dem System genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setze bitte die „overwrite.cli.url“-Option in Deiner config.php auf das Web-Wurzelverzeichnis Deiner Installation (Vorschlag: „%s“).",
"Configuration Checks" : "Konfigurationsprüfungen",
"No problems found" : "Keine Probleme gefunden",
"Please double check the <a href='%s'>installation guides</a>." : "Bitte prüfe die <a href='%s'>Installationsanleitungen</a>.",
@@ -140,14 +141,14 @@
"Allow users to share via link" : "Erlaube Nutzern, mithilfe von Links zu teilen",
"Enforce password protection" : "Passwortschutz erzwingen",
"Allow public uploads" : "Öffentliches Hochladen erlauben",
- "Allow users to send mail notification for shared files" : "Benutzern erlauben Mail-Benachrichtigungen für freigegebene Dateien zu senden",
+ "Allow users to send mail notification for shared files" : "Benutzern erlauben, E-Mail-Benachrichtigungen für freigegebene Dateien zu senden",
"Set default expiration date" : "Setze Ablaufdatum",
"Expire after " : "Ablauf nach ",
"days" : "Tagen",
"Enforce expiration date" : "Ablaufdatum erzwingen",
"Allow resharing" : "Erlaubt erneutes Teilen",
- "Restrict users to only share with users in their groups" : "Erlaube Nutzern nur das Teilen in ihrer Gruppe",
- "Allow users to send mail notification for shared files to other users" : "Benutzern erlauben Mail-Benachrichtigungen für freigegebene Dateien an andere Benutzer zu senden",
+ "Restrict users to only share with users in their groups" : "Benutzer auf das Teilen innerhalb ihrer Gruppen beschränken",
+ "Allow users to send mail notification for shared files to other users" : "Benutzern erlauben, E-Mail-Benachrichtigungen für freigegebene Dateien an andere Benutzer zu senden",
"Exclude groups from sharing" : "Gruppen von Freigaben ausschließen",
"These groups will still be able to receive shares, but not to initiate them." : "Diese Gruppen können weiterhin Freigaben empfangen, aber selbst keine mehr initiieren.",
"Enforce HTTPS" : "Erzwinge HTTPS",
@@ -157,11 +158,11 @@
"Please connect to your %s via HTTPS to enable or disable the SSL enforcement." : "Bitte verbinde dich zu deinem %s über HTTPS um die SSL-Erzwingung zu aktivieren oder zu deaktivieren.",
"This is used for sending out notifications." : "Dies wird zum Senden von Benachrichtigungen verwendet.",
"Send mode" : "Sende-Modus",
- "From address" : "Absender-Adresse",
+ "From address" : "Absenderadresse",
"mail" : "Mail",
"Authentication method" : "Authentifizierungsmethode",
"Authentication required" : "Authentifizierung benötigt",
- "Server address" : "Adresse des Servers",
+ "Server address" : "Serveradresse",
"Port" : "Port",
"Credentials" : "Zugangsdaten",
"SMTP Username" : "SMTP Benutzername",
@@ -173,8 +174,8 @@
"Download logfile" : "Logdatei herunterladen",
"More" : "Mehr",
"Less" : "Weniger",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!",
"Version" : "Version",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Entwickelt von der <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud-Community</a>, der <a href=\"https://github.com/owncloud\" target=\"_blank\">Quellcode</a> ist unter der <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> lizenziert.",
"More apps" : "Mehr Apps",
"Add your app" : "Deine App hinzufügen",
"by" : "von",
@@ -186,7 +187,7 @@
"Update to %s" : "Aktualisierung auf %s",
"Enable only for specific groups" : "Nur für spezifizierte Gruppen aktivieren",
"Uninstall App" : "App deinstallieren",
- "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Hallo,<br><br>wir möchten Dich nur wissen lassen, dass Du jetzt ein %s - Konto besitzt.<br><br>Dein Nutzername: %s<br>Öffne es: <a href=\"%s\">%s</a><br><br>",
+ "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Hallo,<br><br>wir möchten Dich nur wissen lassen, dass Du jetzt ein %s-Konto besitzt.<br><br>Dein Benutzername: %s<br>Greife darauf zu: <a href=\"%s\">%s</a><br><br>",
"Cheers!" : "Hallo!",
"Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hallo,\n\nwir möchten Dich nur wissen lassen, dass Du jetzt ein %s - Konto besitzt\n\nDein Nutzername: %s\nÖffne es: %s\n",
"Administrator Documentation" : "Dokumentation für Administratoren",
@@ -198,7 +199,7 @@
"Desktop client" : "Desktop-Client",
"Android app" : "Android-App",
"iOS app" : "iOS-App",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Wenn Du das Projekt unterstützen möchtest,\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">beteilige Dich an der Entwicklung</a>\n\t\toder\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">sorge dafür, dass es bekannter wird</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Wenn Du das Projekt unterstützen möchtest,\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">beteilige Dich an der Entwicklung</a>\n⇥⇥oder\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">hilf mit, es bekannter zu machen</a>!",
"Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Du verwendest <strong>%s</strong> der verfügbaren <strong>%s</strong>",
"Password" : "Passwort",
@@ -212,13 +213,14 @@
"Email" : "E-Mail",
"Your email address" : "Deine E-Mail-Adresse",
"Fill in an email address to enable password recovery and receive notifications" : "Gib eine E-Mail-Adresse an, um eine Wiederherstellung des Passworts zu ermöglichen und Benachrichtigungen zu empfangen",
- "No email address set" : "Keine E-Mail Adresse angegeben",
+ "No email address set" : "Keine E-Mail-Adresse angegeben",
+ "You are member of the following groups:" : "Du bist Mitglied folgender Gruppen:",
"Profile picture" : "Profilbild",
"Upload new" : "Neues hochladen",
"Select new from Files" : "Neues aus den Dateien wählen",
"Remove image" : "Bild entfernen",
- "Either png or jpg. Ideally square but you will be able to crop it." : "Entweder PNG oder JPG. Im Idealfall quadratisch, aber du kannst es zuschneiden.",
- "Your avatar is provided by your original account." : "Dein Avatar wird von Deinem ursprünglichenKonto verwendet.",
+ "Either png or jpg. Ideally square but you will be able to crop it." : "Entweder PNG oder JPG. Im Idealfall quadratisch, aber Du kannst es zuschneiden.",
+ "Your avatar is provided by your original account." : "Dein Avatar wird von Deinem ursprünglichen Konto bereitgestellt.",
"Cancel" : "Abbrechen",
"Choose as profile image" : "Als Profilbild wählen",
"Language" : "Sprache",
@@ -234,11 +236,12 @@
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Deine Verschlüsselungsschlüssel wiederherstellen wurden zu einem Backup-Speicherort verschoben. Wenn irgendetwas schief läuft können die Schlüssel wiederhergestellt werden. Lösche diese nur dann dauerhaft, wenn Du dir sicher bist, dass alle Dateien korrekt entschlüsselt wurden.",
"Restore Encryption Keys" : "Verschlüsselungsschlüssel wiederherstellen",
"Delete Encryption Keys" : "Verschlüsselungsschlüssel löschen",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Entwickelt von der {communityopen}ownCloud-Community{linkclose}, der {githubopen}Quellcode{linkclose} ist unter den Bedingungen der {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose} lizenziert.",
"Show storage location" : "Speicherort anzeigen",
"Show last log in" : "Letzte Anmeldung anzeigen",
- "Show user backend" : "Nutzer-Backend anzeigen",
+ "Show user backend" : "Benutzer-Backend anzeigen",
"Send email to new user" : "E-Mail an neuen Nutzer senden",
- "Show email address" : "E-Mail Adresse anzeigen",
+ "Show email address" : "E-Mail-Adresse anzeigen",
"Username" : "Benutzername",
"E-Mail" : "E-Mail",
"Create" : "Anlegen",
@@ -250,7 +253,7 @@
"Everyone" : "Jeder",
"Admins" : "Administratoren",
"Default Quota" : "Standard-Quota",
- "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Bitte Speicherkontingent eingeben (z.B.: \"512 MB\" oder \"12 GB\")",
+ "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Bitte Speicherkontingent eingeben (z. B.: „512 MB“ oder „12 GB“)",
"Unlimited" : "Unbegrenzt",
"Other" : "Andere",
"Group Admin for" : "Gruppenadministrator für",
@@ -260,7 +263,7 @@
"Last Login" : "Letzte Anmeldung",
"change full name" : "Vollständigen Namen ändern",
"set new password" : "Neues Passwort setzen",
- "change email address" : "E-Mail Adresse ändern",
+ "change email address" : "E-Mail-Adresse ändern",
"Default" : "Standard"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/settings/l10n/de_DE.js b/settings/l10n/de_DE.js
index 0d5e4031ea4..c700c0b7e20 100644
--- a/settings/l10n/de_DE.js
+++ b/settings/l10n/de_DE.js
@@ -28,6 +28,7 @@ OC.L10N.register(
"No user supplied" : "Keinen Benutzer angegeben",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Bitte geben Sie ein Wiederherstellungspasswort für das Admin-Konto an, da sonst alle Benutzerdaten verloren gehen können",
"Wrong admin recovery password. Please check the password and try again." : "Falsches Wiederherstellungspasswort für das Admin-Konto. Bitte überprüfen Sie das Passwort und versuchen Sie es erneut.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Das Backend unterstützt die Passwortänderung nicht, aber der Benutzerschlüssel wurde erfolgreich aktualisiert.",
"Unable to change password" : "Passwort konnte nicht geändert werden",
"Enabled" : "Aktiviert",
"Not enabled" : "Nicht aktiviert",
@@ -48,11 +49,11 @@ OC.L10N.register(
"Unable to delete user." : "Benutzer konnte nicht gelöscht werden.",
"Forbidden" : "Verboten",
"Invalid user" : "Ungültiger Nutzer",
- "Unable to change mail address" : "E-Mail Adresse konnte nicht geändert werden",
+ "Unable to change mail address" : "E-Mail-Adresse konnte nicht geändert werden",
"Email saved" : "E-Mail-Adresse gespeichert",
"Are you really sure you want add \"{domain}\" as trusted domain?" : "Sind Sie sich wirklich sicher, dass Sie »{domain}« als vertrauenswürdige Domain hinzufügen möchten?",
"Add trusted domain" : "Vertrauenswürdige Domain hinzufügen",
- "Sending..." : "Wird gesendet …",
+ "Sending..." : "Wird gesendet…",
"All" : "Alle",
"Please wait...." : "Bitte warten…",
"Error while disabling app" : "Beim Deaktivieren der Applikation ist ein Fehler aufgetreten",
@@ -62,7 +63,7 @@ OC.L10N.register(
"Updating...." : "Update…",
"Error while updating app" : "Es ist ein Fehler während des Updates aufgetreten",
"Updated" : "Aktualisiert",
- "Uninstalling ...." : "Wird deinstalliert …",
+ "Uninstalling ...." : "Wird deinstalliert…",
"Error while uninstalling app" : "Fehler beim Deinstallieren der App",
"Uninstall" : "Deinstallieren",
"Select a profile picture" : "Wählen Sie ein Profilbild",
@@ -90,7 +91,7 @@ OC.L10N.register(
"A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden",
"Error creating user" : "Beim Erstellen des Benutzers ist ein Fehler aufgetreten",
"A valid password must be provided" : "Es muss ein gültiges Passwort angegeben werden",
- "A valid email must be provided" : "Es muss eine gültige E-Mail Adresse angegeben werden",
+ "A valid email must be provided" : "Es muss eine gültige E-Mail-Adresse angegeben werden",
"__language_name__" : "Deutsch (Förmlich: Sie)",
"Personal Info" : "Persönliche Informationen",
"SSL root certificates" : "SSL-Root-Zertifikate",
@@ -128,7 +129,7 @@ OC.L10N.register(
"This means that there might be problems with certain characters in file names." : "Dieses bedeutet, dass es Probleme mit bestimmten Zeichen in den Dateinamen geben kann.",
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Wir empfehlen dringend, die erforderlichen Pakete auf Ihrem System zu installieren, damit eine der folgenden Gebietsschemas unterstützt wird: %s.",
"URL generation in notification emails" : "Adresserstellung in E-Mail-Benachrichtungen",
- "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\")" : "Wenn sich Ihre Installation nicht im Wurzelverzeichnis der Domain befindet und Cron aus dem System genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setzen Sie bitte die \"overwrite.cli.url\"-Option in Ihrer config.php auf das Web-Wurzelverzeichnis Ihrer Installation (Vorschlag: \"%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\")" : "Wenn sich Ihre Installation nicht im Wurzelverzeichnis der Domain befindet und Cron aus dem System genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setzen Sie bitte die „overwrite.cli.url“-Option in Ihrer config.php auf das Web-Wurzelverzeichnis Ihrer Installation (Vorschlag: „%s“).",
"Configuration Checks" : "Konfigurationsprüfungen",
"No problems found" : "Keine Probleme gefunden",
"Please double check the <a href='%s'>installation guides</a>." : "Bitte prüfen Sie die <a href='%s'>Installationsanleitungen</a>.",
@@ -142,14 +143,14 @@ OC.L10N.register(
"Allow users to share via link" : "Benutzern erlauben, über Links Inhalte freizugeben",
"Enforce password protection" : "Passwortschutz erzwingen",
"Allow public uploads" : "Öffentliches Hochladen erlauben",
- "Allow users to send mail notification for shared files" : "Benutzern erlauben E-Mail-Benachrichtigungen für freigegebene Dateien zu senden",
+ "Allow users to send mail notification for shared files" : "Benutzern erlauben, E-Mail-Benachrichtigungen für freigegebene Dateien zu senden",
"Set default expiration date" : "Standardablaufdatum einstellen",
"Expire after " : "Ablauf nach ",
"days" : "Tagen",
"Enforce expiration date" : "Ablaufdatum erzwingen",
- "Allow resharing" : "Erlaube Weiterverteilen",
- "Restrict users to only share with users in their groups" : "Nutzer nur auf das Teilen in ihren Gruppen beschränken",
- "Allow users to send mail notification for shared files to other users" : "Benutzern erlauben, Mail-Benachrichtigungen für freigegebene Dateien an andere Benutzer zu senden",
+ "Allow resharing" : "Weiterverteilen erlauben",
+ "Restrict users to only share with users in their groups" : "Benutzer auf das Teilen innerhalb ihrer Gruppen beschränken",
+ "Allow users to send mail notification for shared files to other users" : "Benutzern erlauben, E-Mail-Benachrichtigungen für freigegebene Dateien an andere Benutzer zu senden",
"Exclude groups from sharing" : "Gruppen von Freigaben ausschließen",
"These groups will still be able to receive shares, but not to initiate them." : "Diese Gruppen können weiterhin Freigaben empfangen, aber selbst keine mehr initiieren.",
"Enforce HTTPS" : "HTTPS erzwingen",
@@ -159,11 +160,11 @@ OC.L10N.register(
"Please connect to your %s via HTTPS to enable or disable the SSL enforcement." : "Bitte verbinden Sie sich zu Ihrem %s über HTTPS um die SSL-Erzwingung zu aktivieren oder zu deaktivieren.",
"This is used for sending out notifications." : "Dies wird für das Senden von Benachrichtigungen verwendet.",
"Send mode" : "Sendemodus",
- "From address" : "Absender-Adresse",
+ "From address" : "Absenderadresse",
"mail" : "Mail",
"Authentication method" : "Legitimierungsmethode",
"Authentication required" : "Authentifizierung benötigt",
- "Server address" : "Adresse des Servers",
+ "Server address" : "Serveradresse",
"Port" : "Port",
"Credentials" : "Zugangsdaten",
"SMTP Username" : "SMTP Benutzername",
@@ -175,8 +176,8 @@ OC.L10N.register(
"Download logfile" : "Logdatei herunterladen",
"More" : "Mehr",
"Less" : "Weniger",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!",
"Version" : "Version",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Entwickelt von der <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud-Community</a>. Der <a href=\"https://github.com/owncloud\" target=\"_blank\">Quellcode</a> ist unter der <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> lizenziert.",
"More apps" : "Mehr Apps",
"Add your app" : "Ihre App hinzufügen",
"by" : "von",
@@ -200,7 +201,7 @@ OC.L10N.register(
"Desktop client" : "Desktop-Client",
"Android app" : "Android-App",
"iOS app" : "iOS-App",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Wenn Sie das Projekt unterstützen wollen,\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">beteilige Sie sich an der Entwicklung</a>\n\t\toder\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">sorgen Sie dafür, dass es bekannter wird</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Wenn Sie das Projekt unterstützen möchten,\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">beteiligen Sie sich an der Entwicklung</a>\n⇥⇥oder\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">helfen Sie mit, es bekannter zu machen</a>!",
"Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Sie verwenden <strong>%s</strong> der verfügbaren <strong>%s</strong>",
"Password" : "Passwort",
@@ -215,6 +216,7 @@ OC.L10N.register(
"Your email address" : "Ihre E-Mail-Adresse",
"Fill in an email address to enable password recovery and receive notifications" : "Geben Sie eine E-Mail-Adresse an, um eine Wiederherstellung des Passworts zu ermöglichen und Benachrichtigungen zu empfangen",
"No email address set" : "Keine E-Mail-Adresse angegeben",
+ "You are member of the following groups:" : "Sie sind Mitglied folgender Gruppen:",
"Profile picture" : "Profilbild",
"Upload new" : "Neues hochladen",
"Select new from Files" : "Neues aus Dateien wählen",
@@ -236,6 +238,7 @@ OC.L10N.register(
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Ihre Verschlüsselungsschlüssel wiederherstellen wurden zu einem Backup-Speicherort verschoben. Wenn irgendetwas schief läuft können die Schlüssel wiederhergestellt werden. Löschen Sie diese nur dann dauerhaft, wenn Sie sich sicher sind, dass alle Dateien korrekt entschlüsselt wurden.",
"Restore Encryption Keys" : "Verschlüsselungsschlüssel wiederherstellen",
"Delete Encryption Keys" : "Verschlüsselungsschlüssel löschen",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Entwickelt von der {communityopen}ownCloud-Community{linkclose}, der {githubopen}Quellcode{linkclose} ist unter den Bedingungen der {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose} lizenziert.",
"Show storage location" : "Speicherort anzeigen",
"Show last log in" : "Letzte Anmeldung anzeigen",
"Show user backend" : "Nutzer-Backend anzeigen",
diff --git a/settings/l10n/de_DE.json b/settings/l10n/de_DE.json
index 307e3184e31..71788ffc409 100644
--- a/settings/l10n/de_DE.json
+++ b/settings/l10n/de_DE.json
@@ -26,6 +26,7 @@
"No user supplied" : "Keinen Benutzer angegeben",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Bitte geben Sie ein Wiederherstellungspasswort für das Admin-Konto an, da sonst alle Benutzerdaten verloren gehen können",
"Wrong admin recovery password. Please check the password and try again." : "Falsches Wiederherstellungspasswort für das Admin-Konto. Bitte überprüfen Sie das Passwort und versuchen Sie es erneut.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Das Backend unterstützt die Passwortänderung nicht, aber der Benutzerschlüssel wurde erfolgreich aktualisiert.",
"Unable to change password" : "Passwort konnte nicht geändert werden",
"Enabled" : "Aktiviert",
"Not enabled" : "Nicht aktiviert",
@@ -46,11 +47,11 @@
"Unable to delete user." : "Benutzer konnte nicht gelöscht werden.",
"Forbidden" : "Verboten",
"Invalid user" : "Ungültiger Nutzer",
- "Unable to change mail address" : "E-Mail Adresse konnte nicht geändert werden",
+ "Unable to change mail address" : "E-Mail-Adresse konnte nicht geändert werden",
"Email saved" : "E-Mail-Adresse gespeichert",
"Are you really sure you want add \"{domain}\" as trusted domain?" : "Sind Sie sich wirklich sicher, dass Sie »{domain}« als vertrauenswürdige Domain hinzufügen möchten?",
"Add trusted domain" : "Vertrauenswürdige Domain hinzufügen",
- "Sending..." : "Wird gesendet …",
+ "Sending..." : "Wird gesendet…",
"All" : "Alle",
"Please wait...." : "Bitte warten…",
"Error while disabling app" : "Beim Deaktivieren der Applikation ist ein Fehler aufgetreten",
@@ -60,7 +61,7 @@
"Updating...." : "Update…",
"Error while updating app" : "Es ist ein Fehler während des Updates aufgetreten",
"Updated" : "Aktualisiert",
- "Uninstalling ...." : "Wird deinstalliert …",
+ "Uninstalling ...." : "Wird deinstalliert…",
"Error while uninstalling app" : "Fehler beim Deinstallieren der App",
"Uninstall" : "Deinstallieren",
"Select a profile picture" : "Wählen Sie ein Profilbild",
@@ -88,7 +89,7 @@
"A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden",
"Error creating user" : "Beim Erstellen des Benutzers ist ein Fehler aufgetreten",
"A valid password must be provided" : "Es muss ein gültiges Passwort angegeben werden",
- "A valid email must be provided" : "Es muss eine gültige E-Mail Adresse angegeben werden",
+ "A valid email must be provided" : "Es muss eine gültige E-Mail-Adresse angegeben werden",
"__language_name__" : "Deutsch (Förmlich: Sie)",
"Personal Info" : "Persönliche Informationen",
"SSL root certificates" : "SSL-Root-Zertifikate",
@@ -126,7 +127,7 @@
"This means that there might be problems with certain characters in file names." : "Dieses bedeutet, dass es Probleme mit bestimmten Zeichen in den Dateinamen geben kann.",
"We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Wir empfehlen dringend, die erforderlichen Pakete auf Ihrem System zu installieren, damit eine der folgenden Gebietsschemas unterstützt wird: %s.",
"URL generation in notification emails" : "Adresserstellung in E-Mail-Benachrichtungen",
- "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\")" : "Wenn sich Ihre Installation nicht im Wurzelverzeichnis der Domain befindet und Cron aus dem System genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setzen Sie bitte die \"overwrite.cli.url\"-Option in Ihrer config.php auf das Web-Wurzelverzeichnis Ihrer Installation (Vorschlag: \"%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\")" : "Wenn sich Ihre Installation nicht im Wurzelverzeichnis der Domain befindet und Cron aus dem System genutzt wird, kann es zu Fehlern bei der URL-Generierung kommen. Um dies zu verhindern, setzen Sie bitte die „overwrite.cli.url“-Option in Ihrer config.php auf das Web-Wurzelverzeichnis Ihrer Installation (Vorschlag: „%s“).",
"Configuration Checks" : "Konfigurationsprüfungen",
"No problems found" : "Keine Probleme gefunden",
"Please double check the <a href='%s'>installation guides</a>." : "Bitte prüfen Sie die <a href='%s'>Installationsanleitungen</a>.",
@@ -140,14 +141,14 @@
"Allow users to share via link" : "Benutzern erlauben, über Links Inhalte freizugeben",
"Enforce password protection" : "Passwortschutz erzwingen",
"Allow public uploads" : "Öffentliches Hochladen erlauben",
- "Allow users to send mail notification for shared files" : "Benutzern erlauben E-Mail-Benachrichtigungen für freigegebene Dateien zu senden",
+ "Allow users to send mail notification for shared files" : "Benutzern erlauben, E-Mail-Benachrichtigungen für freigegebene Dateien zu senden",
"Set default expiration date" : "Standardablaufdatum einstellen",
"Expire after " : "Ablauf nach ",
"days" : "Tagen",
"Enforce expiration date" : "Ablaufdatum erzwingen",
- "Allow resharing" : "Erlaube Weiterverteilen",
- "Restrict users to only share with users in their groups" : "Nutzer nur auf das Teilen in ihren Gruppen beschränken",
- "Allow users to send mail notification for shared files to other users" : "Benutzern erlauben, Mail-Benachrichtigungen für freigegebene Dateien an andere Benutzer zu senden",
+ "Allow resharing" : "Weiterverteilen erlauben",
+ "Restrict users to only share with users in their groups" : "Benutzer auf das Teilen innerhalb ihrer Gruppen beschränken",
+ "Allow users to send mail notification for shared files to other users" : "Benutzern erlauben, E-Mail-Benachrichtigungen für freigegebene Dateien an andere Benutzer zu senden",
"Exclude groups from sharing" : "Gruppen von Freigaben ausschließen",
"These groups will still be able to receive shares, but not to initiate them." : "Diese Gruppen können weiterhin Freigaben empfangen, aber selbst keine mehr initiieren.",
"Enforce HTTPS" : "HTTPS erzwingen",
@@ -157,11 +158,11 @@
"Please connect to your %s via HTTPS to enable or disable the SSL enforcement." : "Bitte verbinden Sie sich zu Ihrem %s über HTTPS um die SSL-Erzwingung zu aktivieren oder zu deaktivieren.",
"This is used for sending out notifications." : "Dies wird für das Senden von Benachrichtigungen verwendet.",
"Send mode" : "Sendemodus",
- "From address" : "Absender-Adresse",
+ "From address" : "Absenderadresse",
"mail" : "Mail",
"Authentication method" : "Legitimierungsmethode",
"Authentication required" : "Authentifizierung benötigt",
- "Server address" : "Adresse des Servers",
+ "Server address" : "Serveradresse",
"Port" : "Port",
"Credentials" : "Zugangsdaten",
"SMTP Username" : "SMTP Benutzername",
@@ -173,8 +174,8 @@
"Download logfile" : "Logdatei herunterladen",
"More" : "Mehr",
"Less" : "Weniger",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!",
"Version" : "Version",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Entwickelt von der <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud-Community</a>. Der <a href=\"https://github.com/owncloud\" target=\"_blank\">Quellcode</a> ist unter der <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> lizenziert.",
"More apps" : "Mehr Apps",
"Add your app" : "Ihre App hinzufügen",
"by" : "von",
@@ -198,7 +199,7 @@
"Desktop client" : "Desktop-Client",
"Android app" : "Android-App",
"iOS app" : "iOS-App",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Wenn Sie das Projekt unterstützen wollen,\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">beteilige Sie sich an der Entwicklung</a>\n\t\toder\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">sorgen Sie dafür, dass es bekannter wird</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Wenn Sie das Projekt unterstützen möchten,\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">beteiligen Sie sich an der Entwicklung</a>\n⇥⇥oder\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥⇥target=\"_blank\" rel=\"noreferrer\">helfen Sie mit, es bekannter zu machen</a>!",
"Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Sie verwenden <strong>%s</strong> der verfügbaren <strong>%s</strong>",
"Password" : "Passwort",
@@ -213,6 +214,7 @@
"Your email address" : "Ihre E-Mail-Adresse",
"Fill in an email address to enable password recovery and receive notifications" : "Geben Sie eine E-Mail-Adresse an, um eine Wiederherstellung des Passworts zu ermöglichen und Benachrichtigungen zu empfangen",
"No email address set" : "Keine E-Mail-Adresse angegeben",
+ "You are member of the following groups:" : "Sie sind Mitglied folgender Gruppen:",
"Profile picture" : "Profilbild",
"Upload new" : "Neues hochladen",
"Select new from Files" : "Neues aus Dateien wählen",
@@ -234,6 +236,7 @@
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Ihre Verschlüsselungsschlüssel wiederherstellen wurden zu einem Backup-Speicherort verschoben. Wenn irgendetwas schief läuft können die Schlüssel wiederhergestellt werden. Löschen Sie diese nur dann dauerhaft, wenn Sie sich sicher sind, dass alle Dateien korrekt entschlüsselt wurden.",
"Restore Encryption Keys" : "Verschlüsselungsschlüssel wiederherstellen",
"Delete Encryption Keys" : "Verschlüsselungsschlüssel löschen",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Entwickelt von der {communityopen}ownCloud-Community{linkclose}, der {githubopen}Quellcode{linkclose} ist unter den Bedingungen der {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose} lizenziert.",
"Show storage location" : "Speicherort anzeigen",
"Show last log in" : "Letzte Anmeldung anzeigen",
"Show user backend" : "Nutzer-Backend anzeigen",
diff --git a/settings/l10n/el.js b/settings/l10n/el.js
index d81f643e746..ea187d47b11 100644
--- a/settings/l10n/el.js
+++ b/settings/l10n/el.js
@@ -160,7 +160,6 @@ OC.L10N.register(
"More" : "Περισσότερα",
"Less" : "Λιγότερα",
"Version" : "Έκδοση",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Αναπτύχθηκε από την <a href=\"http://ownCloud.org/contact\" target=\"_blank\">κοινότητα ownCloud</a>. Ο <a href=\"https://github.com/owncloud\" target=\"_blank\">πηγαίος κώδικας</a> είναι υπό άδεια χρήσης <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Περισσότερες εφαρμογές",
"Add your app" : "Προσθέστε την Εφαρμογή σας ",
"by" : "από",
@@ -180,7 +179,6 @@ OC.L10N.register(
"Desktop client" : "Πελάτης σταθερού υπολογιστή",
"Android app" : "Εφαρμογή Android",
"iOS app" : "Εφαρμογή iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Αν θέλετε να στηρίξετε το έργο\n\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n\n⇥⇥⇥target=\"_blank\">συνησφέρετε στην ανάπτυξη</a>\n\n⇥⇥ή\n\n⇥⇥<a href=\"https://owncloud.org/promote\"\n\n⇥⇥⇥target=\"_blank\">διαδώστε το</a>!",
"Show First Run Wizard again" : "Προβολή Οδηγού Πρώτης Εκτέλεσης ξανά",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Χρησιμοποιήσατε <strong>%s</strong> από τα <strong>%s</strong> διαθέσιμα",
"Password" : "Συνθηματικό",
diff --git a/settings/l10n/el.json b/settings/l10n/el.json
index d6ffdddb4b7..313061da69c 100644
--- a/settings/l10n/el.json
+++ b/settings/l10n/el.json
@@ -158,7 +158,6 @@
"More" : "Περισσότερα",
"Less" : "Λιγότερα",
"Version" : "Έκδοση",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Αναπτύχθηκε από την <a href=\"http://ownCloud.org/contact\" target=\"_blank\">κοινότητα ownCloud</a>. Ο <a href=\"https://github.com/owncloud\" target=\"_blank\">πηγαίος κώδικας</a> είναι υπό άδεια χρήσης <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Περισσότερες εφαρμογές",
"Add your app" : "Προσθέστε την Εφαρμογή σας ",
"by" : "από",
@@ -178,7 +177,6 @@
"Desktop client" : "Πελάτης σταθερού υπολογιστή",
"Android app" : "Εφαρμογή Android",
"iOS app" : "Εφαρμογή iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Αν θέλετε να στηρίξετε το έργο\n\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n\n⇥⇥⇥target=\"_blank\">συνησφέρετε στην ανάπτυξη</a>\n\n⇥⇥ή\n\n⇥⇥<a href=\"https://owncloud.org/promote\"\n\n⇥⇥⇥target=\"_blank\">διαδώστε το</a>!",
"Show First Run Wizard again" : "Προβολή Οδηγού Πρώτης Εκτέλεσης ξανά",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Χρησιμοποιήσατε <strong>%s</strong> από τα <strong>%s</strong> διαθέσιμα",
"Password" : "Συνθηματικό",
diff --git a/settings/l10n/en_GB.js b/settings/l10n/en_GB.js
index 775719fb81a..f7dc3e0e7d7 100644
--- a/settings/l10n/en_GB.js
+++ b/settings/l10n/en_GB.js
@@ -28,6 +28,7 @@ OC.L10N.register(
"No user supplied" : "No user supplied",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Please provide an admin recovery password, otherwise all user data will be lost",
"Wrong admin recovery password. Please check the password and try again." : "Incorrect admin recovery password. Please check the password and try again.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Backend doesn't support password change, but the user's encryption key was successfully updated.",
"Unable to change password" : "Unable to change password",
"Enabled" : "Enabled",
"Not enabled" : "Not enabled",
@@ -175,8 +176,8 @@ OC.L10N.register(
"Download logfile" : "Download logfile",
"More" : "More",
"Less" : "Less",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "The logfile is larger than 100 MB. Downloading it may take some time!",
"Version" : "Version",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public Licence\">AGPL</abbr></a>.",
"More apps" : "More apps",
"Add your app" : "Add your app",
"by" : "by",
@@ -200,7 +201,7 @@ OC.L10N.register(
"Desktop client" : "Desktop client",
"Android app" : "Android app",
"iOS app" : "iOS app",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!",
"Show First Run Wizard again" : "Show First Run Wizard again",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "You have used <strong>%s</strong> of the available <strong>%s</strong>",
"Password" : "Password",
@@ -215,6 +216,7 @@ OC.L10N.register(
"Your email address" : "Your email address",
"Fill in an email address to enable password recovery and receive notifications" : "Fill in an email address to enable password recovery and receive notifications",
"No email address set" : "No email address set",
+ "You are member of the following groups:" : "You are member of the following groups:",
"Profile picture" : "Profile picture",
"Upload new" : "Upload new",
"Select new from Files" : "Select new from Files",
@@ -236,6 +238,7 @@ OC.L10N.register(
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly.",
"Restore Encryption Keys" : "Restore Encryption Keys",
"Delete Encryption Keys" : "Delete Encryption Keys",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public Licence\">AGPL</abbr>{linkclose}.",
"Show storage location" : "Show storage location",
"Show last log in" : "Show last log in",
"Show user backend" : "Show user backend",
diff --git a/settings/l10n/en_GB.json b/settings/l10n/en_GB.json
index e16f4905da3..ad954eccfba 100644
--- a/settings/l10n/en_GB.json
+++ b/settings/l10n/en_GB.json
@@ -26,6 +26,7 @@
"No user supplied" : "No user supplied",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Please provide an admin recovery password, otherwise all user data will be lost",
"Wrong admin recovery password. Please check the password and try again." : "Incorrect admin recovery password. Please check the password and try again.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Backend doesn't support password change, but the user's encryption key was successfully updated.",
"Unable to change password" : "Unable to change password",
"Enabled" : "Enabled",
"Not enabled" : "Not enabled",
@@ -173,8 +174,8 @@
"Download logfile" : "Download logfile",
"More" : "More",
"Less" : "Less",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "The logfile is larger than 100 MB. Downloading it may take some time!",
"Version" : "Version",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public Licence\">AGPL</abbr></a>.",
"More apps" : "More apps",
"Add your app" : "Add your app",
"by" : "by",
@@ -198,7 +199,7 @@
"Desktop client" : "Desktop client",
"Android app" : "Android app",
"iOS app" : "iOS app",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!",
"Show First Run Wizard again" : "Show First Run Wizard again",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "You have used <strong>%s</strong> of the available <strong>%s</strong>",
"Password" : "Password",
@@ -213,6 +214,7 @@
"Your email address" : "Your email address",
"Fill in an email address to enable password recovery and receive notifications" : "Fill in an email address to enable password recovery and receive notifications",
"No email address set" : "No email address set",
+ "You are member of the following groups:" : "You are member of the following groups:",
"Profile picture" : "Profile picture",
"Upload new" : "Upload new",
"Select new from Files" : "Select new from Files",
@@ -234,6 +236,7 @@
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly.",
"Restore Encryption Keys" : "Restore Encryption Keys",
"Delete Encryption Keys" : "Delete Encryption Keys",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public Licence\">AGPL</abbr>{linkclose}.",
"Show storage location" : "Show storage location",
"Show last log in" : "Show last log in",
"Show user backend" : "Show user backend",
diff --git a/settings/l10n/eo.js b/settings/l10n/eo.js
index 17a80f8b6ea..fe778dc687e 100644
--- a/settings/l10n/eo.js
+++ b/settings/l10n/eo.js
@@ -91,7 +91,6 @@ OC.L10N.register(
"More" : "Pli",
"Less" : "Malpli",
"Version" : "Eldono",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Ellaborita de la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">komunumo de ownCloud</a>, la <a href=\"https://github.com/owncloud\" target=\"_blank\">fontokodo</a> publikas laŭ la permesilo <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "de",
"Documentation:" : "Dokumentaro:",
"User Documentation" : "Dokumentaro por uzantoj",
diff --git a/settings/l10n/eo.json b/settings/l10n/eo.json
index afdf888606d..39f074ef265 100644
--- a/settings/l10n/eo.json
+++ b/settings/l10n/eo.json
@@ -89,7 +89,6 @@
"More" : "Pli",
"Less" : "Malpli",
"Version" : "Eldono",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Ellaborita de la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">komunumo de ownCloud</a>, la <a href=\"https://github.com/owncloud\" target=\"_blank\">fontokodo</a> publikas laŭ la permesilo <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "de",
"Documentation:" : "Dokumentaro:",
"User Documentation" : "Dokumentaro por uzantoj",
diff --git a/settings/l10n/es.js b/settings/l10n/es.js
index aa7e5446fda..8dad82f9a4a 100644
--- a/settings/l10n/es.js
+++ b/settings/l10n/es.js
@@ -28,6 +28,7 @@ OC.L10N.register(
"No user supplied" : "No se especificó un usuario",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Por favor facilite una contraseña de recuperación de administrador, sino podrían perderse todos los datos de usuario",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor compruebe la contraseña e inténtelo de nuevo.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "El backend no admite cambios de contraseña, pero la clave de cifrado del usuario ha sido actualizada satisfactoriamente.",
"Unable to change password" : "No se ha podido cambiar la contraseña",
"Enabled" : "Habilitado",
"Not enabled" : "No habilitado",
@@ -44,7 +45,7 @@ OC.L10N.register(
"You need to set your user email before being able to send test emails." : "Tiene que configurar su dirección de correo electrónico antes de poder enviar mensajes de prueba.",
"Invalid mail address" : "Dirección de correo inválida",
"Unable to create user." : "No se pudo crear el usuario.",
- "Your %s account was created" : "Su %s cuenta fue creada",
+ "Your %s account was created" : "Se ha creado su cuenta de %s",
"Unable to delete user." : "No se pudo eliminar el usuario.",
"Forbidden" : "Prohibido",
"Invalid user" : "Usuario no válido",
@@ -175,8 +176,8 @@ OC.L10N.register(
"Download logfile" : "Descargar archivo de registro",
"More" : "Más",
"Less" : "Menos",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "El archivo de registro es mayor de 100 MB. Descargarlo puede tardar.",
"Version" : "Versión",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desarrollado por la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidad ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">código fuente</a> está bajo licencia <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Más aplicaciones",
"Add your app" : "Agregue su aplicación",
"by" : "por",
@@ -200,7 +201,7 @@ OC.L10N.register(
"Desktop client" : "Cliente de escritorio",
"Android app" : "Aplicación de Android",
"iOS app" : "La aplicación de iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Si desea contribuir al proyecto\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">únase al desarrollo</a>\n\t\to\n\t\t¡<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">corra la voz</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Si quiere colaborar con el proyecto\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">participe en el desarrollo</a>\n\t\to\n\t\t¡<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">difúndalo</a>!",
"Show First Run Wizard again" : "Mostrar nuevamente el Asistente de ejecución inicial",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Ha usado <strong>%s</strong> de los <strong>%s</strong> disponibles",
"Password" : "Contraseña",
@@ -215,6 +216,7 @@ OC.L10N.register(
"Your email address" : "Su dirección de correo",
"Fill in an email address to enable password recovery and receive notifications" : "Introducir una dirección de correo electrónico para activar la recuperación de contraseñas y recibir notificaciones",
"No email address set" : "Ninguna dirección de correo establecida",
+ "You are member of the following groups:" : "Es miembro de los siguientes grupos:",
"Profile picture" : "Foto de perfil",
"Upload new" : "Subir otra",
"Select new from Files" : "Seleccionar otra desde Archivos",
diff --git a/settings/l10n/es.json b/settings/l10n/es.json
index 3f896d8e8a5..52f79207f3c 100644
--- a/settings/l10n/es.json
+++ b/settings/l10n/es.json
@@ -26,6 +26,7 @@
"No user supplied" : "No se especificó un usuario",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Por favor facilite una contraseña de recuperación de administrador, sino podrían perderse todos los datos de usuario",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor compruebe la contraseña e inténtelo de nuevo.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "El backend no admite cambios de contraseña, pero la clave de cifrado del usuario ha sido actualizada satisfactoriamente.",
"Unable to change password" : "No se ha podido cambiar la contraseña",
"Enabled" : "Habilitado",
"Not enabled" : "No habilitado",
@@ -42,7 +43,7 @@
"You need to set your user email before being able to send test emails." : "Tiene que configurar su dirección de correo electrónico antes de poder enviar mensajes de prueba.",
"Invalid mail address" : "Dirección de correo inválida",
"Unable to create user." : "No se pudo crear el usuario.",
- "Your %s account was created" : "Su %s cuenta fue creada",
+ "Your %s account was created" : "Se ha creado su cuenta de %s",
"Unable to delete user." : "No se pudo eliminar el usuario.",
"Forbidden" : "Prohibido",
"Invalid user" : "Usuario no válido",
@@ -173,8 +174,8 @@
"Download logfile" : "Descargar archivo de registro",
"More" : "Más",
"Less" : "Menos",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "El archivo de registro es mayor de 100 MB. Descargarlo puede tardar.",
"Version" : "Versión",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desarrollado por la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidad ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">código fuente</a> está bajo licencia <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Más aplicaciones",
"Add your app" : "Agregue su aplicación",
"by" : "por",
@@ -198,7 +199,7 @@
"Desktop client" : "Cliente de escritorio",
"Android app" : "Aplicación de Android",
"iOS app" : "La aplicación de iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Si desea contribuir al proyecto\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">únase al desarrollo</a>\n\t\to\n\t\t¡<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">corra la voz</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Si quiere colaborar con el proyecto\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">participe en el desarrollo</a>\n\t\to\n\t\t¡<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">difúndalo</a>!",
"Show First Run Wizard again" : "Mostrar nuevamente el Asistente de ejecución inicial",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Ha usado <strong>%s</strong> de los <strong>%s</strong> disponibles",
"Password" : "Contraseña",
@@ -213,6 +214,7 @@
"Your email address" : "Su dirección de correo",
"Fill in an email address to enable password recovery and receive notifications" : "Introducir una dirección de correo electrónico para activar la recuperación de contraseñas y recibir notificaciones",
"No email address set" : "Ninguna dirección de correo establecida",
+ "You are member of the following groups:" : "Es miembro de los siguientes grupos:",
"Profile picture" : "Foto de perfil",
"Upload new" : "Subir otra",
"Select new from Files" : "Seleccionar otra desde Archivos",
diff --git a/settings/l10n/es_AR.js b/settings/l10n/es_AR.js
index 6e6fe904fa3..29707061740 100644
--- a/settings/l10n/es_AR.js
+++ b/settings/l10n/es_AR.js
@@ -101,7 +101,6 @@ OC.L10N.register(
"More" : "Más",
"Less" : "Menos",
"Version" : "Versión",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desarrollado por la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidad ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">código fuente</a> está bajo licencia <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "por",
"Documentation:" : "Documentación:",
"User Documentation" : "Documentación de Usuario",
diff --git a/settings/l10n/es_AR.json b/settings/l10n/es_AR.json
index d0ef5a11d71..9239387063a 100644
--- a/settings/l10n/es_AR.json
+++ b/settings/l10n/es_AR.json
@@ -99,7 +99,6 @@
"More" : "Más",
"Less" : "Menos",
"Version" : "Versión",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desarrollado por la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidad ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">código fuente</a> está bajo licencia <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "por",
"Documentation:" : "Documentación:",
"User Documentation" : "Documentación de Usuario",
diff --git a/settings/l10n/es_MX.js b/settings/l10n/es_MX.js
index fbbbb417011..26e1d1955e9 100644
--- a/settings/l10n/es_MX.js
+++ b/settings/l10n/es_MX.js
@@ -73,7 +73,6 @@ OC.L10N.register(
"More" : "Más",
"Less" : "Menos",
"Version" : "Versión",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desarrollado por la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidad ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">código fuente</a> está bajo licencia <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "por",
"User Documentation" : "Documentación de usuario",
"Cheers!" : "¡Saludos!",
diff --git a/settings/l10n/es_MX.json b/settings/l10n/es_MX.json
index 5d1bdcdc14c..a991d6439ac 100644
--- a/settings/l10n/es_MX.json
+++ b/settings/l10n/es_MX.json
@@ -71,7 +71,6 @@
"More" : "Más",
"Less" : "Menos",
"Version" : "Versión",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desarrollado por la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidad ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">código fuente</a> está bajo licencia <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "por",
"User Documentation" : "Documentación de usuario",
"Cheers!" : "¡Saludos!",
diff --git a/settings/l10n/et_EE.js b/settings/l10n/et_EE.js
index 40df9ccd203..87d4c5abc7f 100644
--- a/settings/l10n/et_EE.js
+++ b/settings/l10n/et_EE.js
@@ -151,7 +151,6 @@ OC.L10N.register(
"More" : "Rohkem",
"Less" : "Vähem",
"Version" : "Versioon",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Arendatud <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud kogukonna</a> poolt. <a href=\"https://github.com/owncloud\" target=\"_blank\">Lähtekood</a> on avaldatud ja kaetud <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> litsentsiga.",
"More apps" : "Rohkem rakendusi",
"Add your app" : "Lisa oma rakendus",
"by" : "lisas",
@@ -169,7 +168,6 @@ OC.L10N.register(
"Bugtracker" : "Vigade nimekiri",
"Commercial Support" : "Tasuline kasutajatugi",
"Get the apps to sync your files" : "Hangi rakendusi failide sünkroniseerimiseks",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Kui tahad projekti toetada\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">liitu arendusega</a>\n\t\tvõi\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">levita sõna</a>!",
"Show First Run Wizard again" : "Näita veelkord Esmase Käivituse Juhendajat",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Kasutad <strong>%s</strong> saadavalolevast <strong>%s</strong>",
"Password" : "Parool",
diff --git a/settings/l10n/et_EE.json b/settings/l10n/et_EE.json
index 6056f3de0f3..e43356e4dbb 100644
--- a/settings/l10n/et_EE.json
+++ b/settings/l10n/et_EE.json
@@ -149,7 +149,6 @@
"More" : "Rohkem",
"Less" : "Vähem",
"Version" : "Versioon",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Arendatud <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud kogukonna</a> poolt. <a href=\"https://github.com/owncloud\" target=\"_blank\">Lähtekood</a> on avaldatud ja kaetud <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> litsentsiga.",
"More apps" : "Rohkem rakendusi",
"Add your app" : "Lisa oma rakendus",
"by" : "lisas",
@@ -167,7 +166,6 @@
"Bugtracker" : "Vigade nimekiri",
"Commercial Support" : "Tasuline kasutajatugi",
"Get the apps to sync your files" : "Hangi rakendusi failide sünkroniseerimiseks",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Kui tahad projekti toetada\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">liitu arendusega</a>\n\t\tvõi\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">levita sõna</a>!",
"Show First Run Wizard again" : "Näita veelkord Esmase Käivituse Juhendajat",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Kasutad <strong>%s</strong> saadavalolevast <strong>%s</strong>",
"Password" : "Parool",
diff --git a/settings/l10n/eu.js b/settings/l10n/eu.js
index ca3950d73ed..35b430e372e 100644
--- a/settings/l10n/eu.js
+++ b/settings/l10n/eu.js
@@ -173,7 +173,6 @@ OC.L10N.register(
"More" : "Gehiago",
"Less" : "Gutxiago",
"Version" : "Bertsioa",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud komunitateak</a> garatuta, <a href=\"https://github.com/owncloud\" target=\"_blank\">itubruru kodea</a><a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr> lizentziarekin banatzen da</a>.",
"More apps" : "App gehiago",
"Add your app" : "Gehitu zure aplikazioa",
"by" : " Egilea:",
@@ -197,7 +196,6 @@ OC.L10N.register(
"Desktop client" : "Mahaigaineko bezeroa",
"Android app" : "Android aplikazioa",
"iOS app" : "iOS aplikazioa",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Proiektua lagundu nahi baduzu\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥⇥target=\"_blank\">join development</a>\n⇥⇥edo\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥⇥target=\"_blank\">zabaldu hitza</a>!",
"Show First Run Wizard again" : "Erakutsi berriz Lehenengo Aldiko Morroia",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Dagoeneko <strong>%s</strong> erabili duzu eskuragarri duzun <strong>%s</strong>etatik",
"Password" : "Pasahitza",
diff --git a/settings/l10n/eu.json b/settings/l10n/eu.json
index d283812454c..7f09ef4a0cc 100644
--- a/settings/l10n/eu.json
+++ b/settings/l10n/eu.json
@@ -171,7 +171,6 @@
"More" : "Gehiago",
"Less" : "Gutxiago",
"Version" : "Bertsioa",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud komunitateak</a> garatuta, <a href=\"https://github.com/owncloud\" target=\"_blank\">itubruru kodea</a><a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr> lizentziarekin banatzen da</a>.",
"More apps" : "App gehiago",
"Add your app" : "Gehitu zure aplikazioa",
"by" : " Egilea:",
@@ -195,7 +194,6 @@
"Desktop client" : "Mahaigaineko bezeroa",
"Android app" : "Android aplikazioa",
"iOS app" : "iOS aplikazioa",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Proiektua lagundu nahi baduzu\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥⇥target=\"_blank\">join development</a>\n⇥⇥edo\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥⇥target=\"_blank\">zabaldu hitza</a>!",
"Show First Run Wizard again" : "Erakutsi berriz Lehenengo Aldiko Morroia",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Dagoeneko <strong>%s</strong> erabili duzu eskuragarri duzun <strong>%s</strong>etatik",
"Password" : "Pasahitza",
diff --git a/settings/l10n/fa.js b/settings/l10n/fa.js
index 873ad725dbd..28a27162077 100644
--- a/settings/l10n/fa.js
+++ b/settings/l10n/fa.js
@@ -119,7 +119,6 @@ OC.L10N.register(
"More" : "بیش‌تر",
"Less" : "کم‌تر",
"Version" : "نسخه",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "توسعه یافته به وسیله ی <a href=\"http://ownCloud.org/contact\" target=\"_blank\">انجمن ownCloud</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">کد اصلی</a> مجاز زیر گواهی <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "با",
"Documentation:" : "مستند سازی:",
"User Documentation" : "مستندات کاربر",
diff --git a/settings/l10n/fa.json b/settings/l10n/fa.json
index 2762f822057..226d11516d7 100644
--- a/settings/l10n/fa.json
+++ b/settings/l10n/fa.json
@@ -117,7 +117,6 @@
"More" : "بیش‌تر",
"Less" : "کم‌تر",
"Version" : "نسخه",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "توسعه یافته به وسیله ی <a href=\"http://ownCloud.org/contact\" target=\"_blank\">انجمن ownCloud</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">کد اصلی</a> مجاز زیر گواهی <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "با",
"Documentation:" : "مستند سازی:",
"User Documentation" : "مستندات کاربر",
diff --git a/settings/l10n/fi_FI.js b/settings/l10n/fi_FI.js
index 397b24949b8..f258d0be31f 100644
--- a/settings/l10n/fi_FI.js
+++ b/settings/l10n/fi_FI.js
@@ -28,6 +28,7 @@ OC.L10N.register(
"No user supplied" : "Käyttäjää ei määritetty",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Anna ylläpitäjän palautussalasana, muuten kaikki käyttäjien data menetetään",
"Wrong admin recovery password. Please check the password and try again." : "Väärä ylläpitäjän salasana. Tarkista salasana ja yritä uudelleen.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Taustaosa ei tue salasanan vaihtoa, mutta käyttäjän salausavain päivitettiin onnistuneesti.",
"Unable to change password" : "Salasanan vaihto ei onnistunut",
"Enabled" : "Käytössä",
"Not enabled" : "Ei käytössä",
@@ -168,8 +169,8 @@ OC.L10N.register(
"Download logfile" : "Lataa lokitiedosto",
"More" : "Enemmän",
"Less" : "Vähemmän",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Lokitiedosto on kooltaan yli 100 megatavua. Sen lataaminen saattaa kestää hetken.",
"Version" : "Versio",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Kehityksestä on vastannut <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud-yhteisö</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">lähdekoodi</a> on julkaistu lisenssin <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> alaisena.",
"More apps" : "Lisää sovelluksia",
"Add your app" : "Lisää sovelluksesi",
"by" : " Kirjoittaja:",
@@ -193,7 +194,7 @@ OC.L10N.register(
"Desktop client" : "Työpöytäsovellus",
"Android app" : "Android-sovellus",
"iOS app" : "iOS-sovellus",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Jos haluat tukea projektia,\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">osallistu kehitykseen</a>\n\t\ttai\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">levitä sanaa</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Jos haluat tukea projektia, \n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">auta sovelluskehityksessä</a>\n\t\ttai\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">levitä sanaa</a>!",
"Show First Run Wizard again" : "Näytä ensimmäisen käyttökerran avustaja uudelleen",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Käytössäsi on <strong>%s</strong>/<strong>%s</strong>",
"Password" : "Salasana",
@@ -208,6 +209,7 @@ OC.L10N.register(
"Your email address" : "Sähköpostiosoitteesi",
"Fill in an email address to enable password recovery and receive notifications" : "Anna sähköpostiosoitteesi, jotta unohdettu salasana on mahdollista palauttaa ja voit vastaanottaa ilmoituksia",
"No email address set" : "Sähköpostiosoitetta ei ole asetettu",
+ "You are member of the following groups:" : "Olet jäsenenä seuraavissa ryhmissä:",
"Profile picture" : "Profiilikuva",
"Upload new" : "Lähetä uusi",
"Select new from Files" : "Valitse uusi tiedostoista",
@@ -229,6 +231,7 @@ OC.L10N.register(
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Salausavaimesi siirretään varmuuskopiosijaintiin. Jos jokin menee pieleen, voit palauttaa avaimet. Poista avaimet pysyvästi vain, jos olet varma, että tiedostojen salaus on purettu onnistuneesti.",
"Restore Encryption Keys" : "Palauta salausavaimet",
"Delete Encryption Keys" : "Poista salausavaimet",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Kehityksestä on vastannut {communityopen}ownCloud-yhteisö{linkclose}, {githubopen}lähdekoodi{linkclose} on {licenseopen}<abbr title=\"Affero General Public License\">AGPL-lisensoitu</abbr>{linkclose}.",
"Show storage location" : "Näytä tallennustilan sijainti",
"Show last log in" : "Näytä viimeisin sisäänkirjautuminen",
"Show user backend" : "Näytä käyttäjätaustaosa",
diff --git a/settings/l10n/fi_FI.json b/settings/l10n/fi_FI.json
index 2759843d924..d429d2c0acf 100644
--- a/settings/l10n/fi_FI.json
+++ b/settings/l10n/fi_FI.json
@@ -26,6 +26,7 @@
"No user supplied" : "Käyttäjää ei määritetty",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Anna ylläpitäjän palautussalasana, muuten kaikki käyttäjien data menetetään",
"Wrong admin recovery password. Please check the password and try again." : "Väärä ylläpitäjän salasana. Tarkista salasana ja yritä uudelleen.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Taustaosa ei tue salasanan vaihtoa, mutta käyttäjän salausavain päivitettiin onnistuneesti.",
"Unable to change password" : "Salasanan vaihto ei onnistunut",
"Enabled" : "Käytössä",
"Not enabled" : "Ei käytössä",
@@ -166,8 +167,8 @@
"Download logfile" : "Lataa lokitiedosto",
"More" : "Enemmän",
"Less" : "Vähemmän",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Lokitiedosto on kooltaan yli 100 megatavua. Sen lataaminen saattaa kestää hetken.",
"Version" : "Versio",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Kehityksestä on vastannut <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud-yhteisö</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">lähdekoodi</a> on julkaistu lisenssin <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> alaisena.",
"More apps" : "Lisää sovelluksia",
"Add your app" : "Lisää sovelluksesi",
"by" : " Kirjoittaja:",
@@ -191,7 +192,7 @@
"Desktop client" : "Työpöytäsovellus",
"Android app" : "Android-sovellus",
"iOS app" : "iOS-sovellus",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Jos haluat tukea projektia,\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">osallistu kehitykseen</a>\n\t\ttai\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">levitä sanaa</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Jos haluat tukea projektia, \n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">auta sovelluskehityksessä</a>\n\t\ttai\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">levitä sanaa</a>!",
"Show First Run Wizard again" : "Näytä ensimmäisen käyttökerran avustaja uudelleen",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Käytössäsi on <strong>%s</strong>/<strong>%s</strong>",
"Password" : "Salasana",
@@ -206,6 +207,7 @@
"Your email address" : "Sähköpostiosoitteesi",
"Fill in an email address to enable password recovery and receive notifications" : "Anna sähköpostiosoitteesi, jotta unohdettu salasana on mahdollista palauttaa ja voit vastaanottaa ilmoituksia",
"No email address set" : "Sähköpostiosoitetta ei ole asetettu",
+ "You are member of the following groups:" : "Olet jäsenenä seuraavissa ryhmissä:",
"Profile picture" : "Profiilikuva",
"Upload new" : "Lähetä uusi",
"Select new from Files" : "Valitse uusi tiedostoista",
@@ -227,6 +229,7 @@
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Salausavaimesi siirretään varmuuskopiosijaintiin. Jos jokin menee pieleen, voit palauttaa avaimet. Poista avaimet pysyvästi vain, jos olet varma, että tiedostojen salaus on purettu onnistuneesti.",
"Restore Encryption Keys" : "Palauta salausavaimet",
"Delete Encryption Keys" : "Poista salausavaimet",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Kehityksestä on vastannut {communityopen}ownCloud-yhteisö{linkclose}, {githubopen}lähdekoodi{linkclose} on {licenseopen}<abbr title=\"Affero General Public License\">AGPL-lisensoitu</abbr>{linkclose}.",
"Show storage location" : "Näytä tallennustilan sijainti",
"Show last log in" : "Näytä viimeisin sisäänkirjautuminen",
"Show user backend" : "Näytä käyttäjätaustaosa",
diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js
index 562aa6721e5..c110b13e6d2 100644
--- a/settings/l10n/fr.js
+++ b/settings/l10n/fr.js
@@ -28,6 +28,7 @@ OC.L10N.register(
"No user supplied" : "Aucun utilisateur fourni",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Veuillez fournir un mot de passe administrateur de récupération de données, sinon toutes les données de l'utilisateur seront perdues",
"Wrong admin recovery password. Please check the password and try again." : "Mot de passe administrateur de récupération de données non valable. Veuillez vérifier le mot de passe et essayer à nouveau.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "L'infrastructure d'arrière-plan ne supporte pas la modification de mot de passe, mais la clef de chiffrement de l'utilisateur a été mise à jour avec succès.",
"Unable to change password" : "Impossible de modifier le mot de passe",
"Enabled" : "Activées",
"Not enabled" : "Désactivées",
@@ -160,23 +161,23 @@ OC.L10N.register(
"This is used for sending out notifications." : "Ceci est utilisé pour l'envoi des notifications.",
"Send mode" : "Mode d'envoi",
"From address" : "Adresse source",
- "mail" : "courriel",
+ "mail" : "mail",
"Authentication method" : "Méthode d'authentification",
"Authentication required" : "Authentification requise",
"Server address" : "Adresse du serveur",
"Port" : "Port",
- "Credentials" : "Informations d'identification",
+ "Credentials" : "Authentification",
"SMTP Username" : "Nom d'utilisateur SMTP",
"SMTP Password" : "Mot de passe SMTP",
"Store credentials" : "Enregistrer les identifiants",
"Test email settings" : "Tester les paramètres e-mail",
- "Send email" : "Envoyer un e-mail",
+ "Send email" : "Envoyer un mail",
"Log level" : "Niveau de log",
"Download logfile" : "Télécharger le fichier de journalisation",
"More" : "Plus",
"Less" : "Moins",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Le fichier de journalisation dépasser les 100 Mo. Le télécharger peut prendre un certain temps.",
"Version" : "Version",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Développé par la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">communauté ownCloud</a>, le <a href=\"https://github.com/owncloud\" target=\"_blank\">code source</a> est publié sous license <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Plus d'applications",
"Add your app" : "Ajouter votre application",
"by" : "par",
@@ -200,7 +201,7 @@ OC.L10N.register(
"Desktop client" : "Client de bureau",
"Android app" : "Application Android",
"iOS app" : "Application iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Si voulez soutenir le projet, \n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">rejoignez le développement</a>\n\t\tou \n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">parlez-en</a> !",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Si vous souhaitez apporter votre support au projet\n <a href=\"https://owncloud.org/contribute\"\n target=\"_blank\" rel=\"noreferrer\">rejoignez le développement</a>\n ou\n <a href=\"https://owncloud.org/promote\"\n target=\"_blank\" rel=\"noreferrer\">faîtes passer le mot</a> !",
"Show First Run Wizard again" : "Revoir la fenêtre d'accueil affichée lors de votre première connexion",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Vous utilisez <strong>%s</strong> des <strong>%s<strong> disponibles",
"Password" : "Mot de passe",
@@ -212,9 +213,10 @@ OC.L10N.register(
"Full Name" : "Nom complet",
"No display name set" : "Aucun nom d'affichage configuré",
"Email" : "Adresse mail",
- "Your email address" : "Votre adresse e-mail",
+ "Your email address" : "Votre adresse mail",
"Fill in an email address to enable password recovery and receive notifications" : "Saisissez votre adresse mail pour permettre la réinitialisation du mot de passe et la réception des notifications",
"No email address set" : "Aucune adresse e-mail configurée",
+ "You are member of the following groups:" : "Vous êtes membre des groupes suivants :",
"Profile picture" : "Photo de profil",
"Upload new" : "Nouvelle depuis votre ordinateur",
"Select new from Files" : "Nouvelle depuis les Fichiers",
@@ -233,9 +235,10 @@ OC.L10N.register(
"The encryption app is no longer enabled, please decrypt all your files" : "L'app de chiffrement n’est plus activée, veuillez déchiffrer tous vos fichiers",
"Log-in password" : "Mot de passe de connexion",
"Decrypt all Files" : "Déchiffrer tous les fichiers",
- "Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Vos clés de chiffrement ont été déplacées dans l'emplacement de backup. Si quelque chose devait mal se passer, vous pouvez restaurer les clés. Choisissez la suppression permanente seulement si vous êtes sûr que tous les fichiers ont été déchiffrés correctement.",
+ "Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Vos clés de chiffrement ont été déplacées dans l'emplacement de sauvegarde. Si quelque chose devait mal se passer, vous pourrez restaurer les clés. Choisissez la suppression permanente seulement si vous êtes sûr que tous les fichiers ont été déchiffrés correctement.",
"Restore Encryption Keys" : "Restaurer les clés de chiffrement",
"Delete Encryption Keys" : "Supprimer les clés de chiffrement",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Développé par la {communityopen}communauté ownCloud{linkclose}, le {githubopen}code source{linkclose} est sous licence {licenseopen}<abbr lang=\"en\" title=\"Affero General Public License\">AGPL</abbr>{linkclose}.",
"Show storage location" : "Afficher l'emplacement du stockage",
"Show last log in" : "Montrer la dernière connexion",
"Show user backend" : "Montrer la source de l'identifiant",
diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json
index fe26fc04c20..50680c6b823 100644
--- a/settings/l10n/fr.json
+++ b/settings/l10n/fr.json
@@ -26,6 +26,7 @@
"No user supplied" : "Aucun utilisateur fourni",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Veuillez fournir un mot de passe administrateur de récupération de données, sinon toutes les données de l'utilisateur seront perdues",
"Wrong admin recovery password. Please check the password and try again." : "Mot de passe administrateur de récupération de données non valable. Veuillez vérifier le mot de passe et essayer à nouveau.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "L'infrastructure d'arrière-plan ne supporte pas la modification de mot de passe, mais la clef de chiffrement de l'utilisateur a été mise à jour avec succès.",
"Unable to change password" : "Impossible de modifier le mot de passe",
"Enabled" : "Activées",
"Not enabled" : "Désactivées",
@@ -158,23 +159,23 @@
"This is used for sending out notifications." : "Ceci est utilisé pour l'envoi des notifications.",
"Send mode" : "Mode d'envoi",
"From address" : "Adresse source",
- "mail" : "courriel",
+ "mail" : "mail",
"Authentication method" : "Méthode d'authentification",
"Authentication required" : "Authentification requise",
"Server address" : "Adresse du serveur",
"Port" : "Port",
- "Credentials" : "Informations d'identification",
+ "Credentials" : "Authentification",
"SMTP Username" : "Nom d'utilisateur SMTP",
"SMTP Password" : "Mot de passe SMTP",
"Store credentials" : "Enregistrer les identifiants",
"Test email settings" : "Tester les paramètres e-mail",
- "Send email" : "Envoyer un e-mail",
+ "Send email" : "Envoyer un mail",
"Log level" : "Niveau de log",
"Download logfile" : "Télécharger le fichier de journalisation",
"More" : "Plus",
"Less" : "Moins",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Le fichier de journalisation dépasser les 100 Mo. Le télécharger peut prendre un certain temps.",
"Version" : "Version",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Développé par la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">communauté ownCloud</a>, le <a href=\"https://github.com/owncloud\" target=\"_blank\">code source</a> est publié sous license <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Plus d'applications",
"Add your app" : "Ajouter votre application",
"by" : "par",
@@ -198,7 +199,7 @@
"Desktop client" : "Client de bureau",
"Android app" : "Application Android",
"iOS app" : "Application iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Si voulez soutenir le projet, \n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">rejoignez le développement</a>\n\t\tou \n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">parlez-en</a> !",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Si vous souhaitez apporter votre support au projet\n <a href=\"https://owncloud.org/contribute\"\n target=\"_blank\" rel=\"noreferrer\">rejoignez le développement</a>\n ou\n <a href=\"https://owncloud.org/promote\"\n target=\"_blank\" rel=\"noreferrer\">faîtes passer le mot</a> !",
"Show First Run Wizard again" : "Revoir la fenêtre d'accueil affichée lors de votre première connexion",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Vous utilisez <strong>%s</strong> des <strong>%s<strong> disponibles",
"Password" : "Mot de passe",
@@ -210,9 +211,10 @@
"Full Name" : "Nom complet",
"No display name set" : "Aucun nom d'affichage configuré",
"Email" : "Adresse mail",
- "Your email address" : "Votre adresse e-mail",
+ "Your email address" : "Votre adresse mail",
"Fill in an email address to enable password recovery and receive notifications" : "Saisissez votre adresse mail pour permettre la réinitialisation du mot de passe et la réception des notifications",
"No email address set" : "Aucune adresse e-mail configurée",
+ "You are member of the following groups:" : "Vous êtes membre des groupes suivants :",
"Profile picture" : "Photo de profil",
"Upload new" : "Nouvelle depuis votre ordinateur",
"Select new from Files" : "Nouvelle depuis les Fichiers",
@@ -231,9 +233,10 @@
"The encryption app is no longer enabled, please decrypt all your files" : "L'app de chiffrement n’est plus activée, veuillez déchiffrer tous vos fichiers",
"Log-in password" : "Mot de passe de connexion",
"Decrypt all Files" : "Déchiffrer tous les fichiers",
- "Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Vos clés de chiffrement ont été déplacées dans l'emplacement de backup. Si quelque chose devait mal se passer, vous pouvez restaurer les clés. Choisissez la suppression permanente seulement si vous êtes sûr que tous les fichiers ont été déchiffrés correctement.",
+ "Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Vos clés de chiffrement ont été déplacées dans l'emplacement de sauvegarde. Si quelque chose devait mal se passer, vous pourrez restaurer les clés. Choisissez la suppression permanente seulement si vous êtes sûr que tous les fichiers ont été déchiffrés correctement.",
"Restore Encryption Keys" : "Restaurer les clés de chiffrement",
"Delete Encryption Keys" : "Supprimer les clés de chiffrement",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Développé par la {communityopen}communauté ownCloud{linkclose}, le {githubopen}code source{linkclose} est sous licence {licenseopen}<abbr lang=\"en\" title=\"Affero General Public License\">AGPL</abbr>{linkclose}.",
"Show storage location" : "Afficher l'emplacement du stockage",
"Show last log in" : "Montrer la dernière connexion",
"Show user backend" : "Montrer la source de l'identifiant",
diff --git a/settings/l10n/gl.js b/settings/l10n/gl.js
index f3199dcab98..2261133ec5e 100644
--- a/settings/l10n/gl.js
+++ b/settings/l10n/gl.js
@@ -28,6 +28,7 @@ OC.L10N.register(
"No user supplied" : "Non subministrado polo usuario",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Forneza un contrasinal de recuperación do administrador de recuperación, senón perderanse todos os datos do usuario",
"Wrong admin recovery password. Please check the password and try again." : "Contrasinal de recuperación do administrador incorrecto. Comprobe o contrasinal e tenteo de novo.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "A infraestrutura non admite o cambio de contrasinal, mais a chave de cifrado do usuario foi actualizada correctamente.",
"Unable to change password" : "Non é posíbel cambiar o contrasinal",
"Enabled" : "Activado",
"Not enabled" : "Non activado",
@@ -175,8 +176,8 @@ OC.L10N.register(
"Download logfile" : "Descargar o ficheiro do rexistro",
"More" : "Máis",
"Less" : "Menos",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O ficheiro de rexistro é maior de 100 MB. Pódelle levar un anaco descargalo!",
"Version" : "Versión",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desenvolvido pola <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidade ownCloud</a>, o <a href=\"https://github.com/owncloud\" target=\"_blank\">código fonte</a> está baixo a licenza <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Máis aplicativos",
"Add your app" : "Engada a súa aplicación",
"by" : "por",
@@ -200,7 +201,7 @@ OC.L10N.register(
"Desktop client" : "Cliente de escritorio",
"Android app" : "Aplicación Android",
"iOS app" : "Aplicación iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Se quere colaborar co proxecto\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">participar no desenvolvemento</a>\n\t\tou\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">axudar a difundilo</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Se quere axudar ao proxecto\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">únase ao desenvolvemento</a>\n\t\tou\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">espalle a nova</a>!",
"Show First Run Wizard again" : "Amosar o axudante da primeira execución outra vez",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Ten en uso <strong>%s</strong> do total dispoñíbel de <strong>%s</strong>",
"Password" : "Contrasinal",
@@ -210,11 +211,12 @@ OC.L10N.register(
"New password" : "Novo contrasinal",
"Change password" : "Cambiar o contrasinal",
"Full Name" : "Nome completo",
- "No display name set" : "Sen nome visible establecido",
+ "No display name set" : "Sen nome visíbel estabelecido",
"Email" : "Correo",
"Your email address" : "O seu enderezo de correo",
"Fill in an email address to enable password recovery and receive notifications" : "Escriba un enderezo de correo para permitir a recuperación de contrasinais e recibir notificacións",
"No email address set" : "Non hai un enderezo de correo definido",
+ "You are member of the following groups:" : "Vostede é membro dos seguintes grupos:",
"Profile picture" : "Imaxe do perfil",
"Upload new" : "Novo envío",
"Select new from Files" : "Seleccione unha nova de ficheiros",
@@ -227,8 +229,8 @@ OC.L10N.register(
"Help translate" : "Axude na tradución",
"Common Name" : "Nome común",
"Valid until" : "Válido ata",
- "Issued By" : "Proporcionado por",
- "Valid until %s" : "Válido ate %s",
+ "Issued By" : "Fornecido por",
+ "Valid until %s" : "Válido ata %s",
"Import Root Certificate" : "Importar o certificado raíz",
"The encryption app is no longer enabled, please decrypt all your files" : "A aplicación de cifrado non está activada, descifre todos os ficheiros",
"Log-in password" : "Contrasinal de acceso",
@@ -236,6 +238,7 @@ OC.L10N.register(
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "As chaves de cifrado foron movidas á copia de seguranza. Se ten algún problema pode restaurar as chaves. Elimineas permanentemente só se está seguro de que é posíbel descifrar correctamente todos os ficheiros.",
"Restore Encryption Keys" : "Restaurar as chaves de cifrado",
"Delete Encryption Keys" : "Eliminar as chaves de cifrado",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Desenvolvido pola {communityopen}comunidade ownCloud{linkclose}, o {githubopen}código fonte{linkclose} está licenciado baixo a {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}.",
"Show storage location" : "Amosar a localización do almacenamento",
"Show last log in" : "Amosar a última conexión",
"Show user backend" : "Amosar a infraestrutura do usuario",
diff --git a/settings/l10n/gl.json b/settings/l10n/gl.json
index 863fbd9aeeb..55a38df6214 100644
--- a/settings/l10n/gl.json
+++ b/settings/l10n/gl.json
@@ -26,6 +26,7 @@
"No user supplied" : "Non subministrado polo usuario",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Forneza un contrasinal de recuperación do administrador de recuperación, senón perderanse todos os datos do usuario",
"Wrong admin recovery password. Please check the password and try again." : "Contrasinal de recuperación do administrador incorrecto. Comprobe o contrasinal e tenteo de novo.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "A infraestrutura non admite o cambio de contrasinal, mais a chave de cifrado do usuario foi actualizada correctamente.",
"Unable to change password" : "Non é posíbel cambiar o contrasinal",
"Enabled" : "Activado",
"Not enabled" : "Non activado",
@@ -173,8 +174,8 @@
"Download logfile" : "Descargar o ficheiro do rexistro",
"More" : "Máis",
"Less" : "Menos",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O ficheiro de rexistro é maior de 100 MB. Pódelle levar un anaco descargalo!",
"Version" : "Versión",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desenvolvido pola <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidade ownCloud</a>, o <a href=\"https://github.com/owncloud\" target=\"_blank\">código fonte</a> está baixo a licenza <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Máis aplicativos",
"Add your app" : "Engada a súa aplicación",
"by" : "por",
@@ -198,7 +199,7 @@
"Desktop client" : "Cliente de escritorio",
"Android app" : "Aplicación Android",
"iOS app" : "Aplicación iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Se quere colaborar co proxecto\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">participar no desenvolvemento</a>\n\t\tou\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">axudar a difundilo</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Se quere axudar ao proxecto\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">únase ao desenvolvemento</a>\n\t\tou\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">espalle a nova</a>!",
"Show First Run Wizard again" : "Amosar o axudante da primeira execución outra vez",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Ten en uso <strong>%s</strong> do total dispoñíbel de <strong>%s</strong>",
"Password" : "Contrasinal",
@@ -208,11 +209,12 @@
"New password" : "Novo contrasinal",
"Change password" : "Cambiar o contrasinal",
"Full Name" : "Nome completo",
- "No display name set" : "Sen nome visible establecido",
+ "No display name set" : "Sen nome visíbel estabelecido",
"Email" : "Correo",
"Your email address" : "O seu enderezo de correo",
"Fill in an email address to enable password recovery and receive notifications" : "Escriba un enderezo de correo para permitir a recuperación de contrasinais e recibir notificacións",
"No email address set" : "Non hai un enderezo de correo definido",
+ "You are member of the following groups:" : "Vostede é membro dos seguintes grupos:",
"Profile picture" : "Imaxe do perfil",
"Upload new" : "Novo envío",
"Select new from Files" : "Seleccione unha nova de ficheiros",
@@ -225,8 +227,8 @@
"Help translate" : "Axude na tradución",
"Common Name" : "Nome común",
"Valid until" : "Válido ata",
- "Issued By" : "Proporcionado por",
- "Valid until %s" : "Válido ate %s",
+ "Issued By" : "Fornecido por",
+ "Valid until %s" : "Válido ata %s",
"Import Root Certificate" : "Importar o certificado raíz",
"The encryption app is no longer enabled, please decrypt all your files" : "A aplicación de cifrado non está activada, descifre todos os ficheiros",
"Log-in password" : "Contrasinal de acceso",
@@ -234,6 +236,7 @@
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "As chaves de cifrado foron movidas á copia de seguranza. Se ten algún problema pode restaurar as chaves. Elimineas permanentemente só se está seguro de que é posíbel descifrar correctamente todos os ficheiros.",
"Restore Encryption Keys" : "Restaurar as chaves de cifrado",
"Delete Encryption Keys" : "Eliminar as chaves de cifrado",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Desenvolvido pola {communityopen}comunidade ownCloud{linkclose}, o {githubopen}código fonte{linkclose} está licenciado baixo a {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}.",
"Show storage location" : "Amosar a localización do almacenamento",
"Show last log in" : "Amosar a última conexión",
"Show user backend" : "Amosar a infraestrutura do usuario",
diff --git a/settings/l10n/he.js b/settings/l10n/he.js
index b273cc2d082..038478d7a36 100644
--- a/settings/l10n/he.js
+++ b/settings/l10n/he.js
@@ -50,7 +50,6 @@ OC.L10N.register(
"More" : "יותר",
"Less" : "פחות",
"Version" : "גרסא",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "פותח על די <a href=\"http://ownCloud.org/contact\" target=\"_blank\">קהילתownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">קוד המקור</a> מוגן ברישיון <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "יישומים נוספים",
"by" : "על ידי",
"User Documentation" : "תיעוד משתמש",
diff --git a/settings/l10n/he.json b/settings/l10n/he.json
index 2e0ca52fad4..57029e3d7cf 100644
--- a/settings/l10n/he.json
+++ b/settings/l10n/he.json
@@ -48,7 +48,6 @@
"More" : "יותר",
"Less" : "פחות",
"Version" : "גרסא",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "פותח על די <a href=\"http://ownCloud.org/contact\" target=\"_blank\">קהילתownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">קוד המקור</a> מוגן ברישיון <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "יישומים נוספים",
"by" : "על ידי",
"User Documentation" : "תיעוד משתמש",
diff --git a/settings/l10n/hr.js b/settings/l10n/hr.js
index 7b193a3b596..22f0770a50b 100644
--- a/settings/l10n/hr.js
+++ b/settings/l10n/hr.js
@@ -143,7 +143,6 @@ OC.L10N.register(
"More" : "Više",
"Less" : "Manje",
"Version" : "Verzija",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Razvila <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud zajednica</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">izvorni kod</a> je licenciran <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> licencom.",
"by" : "od strane",
"Documentation:" : "Dokumentacija:",
"User Documentation" : "Korisnička dokumentacija",
@@ -157,7 +156,6 @@ OC.L10N.register(
"Bugtracker" : "Bugtracker",
"Commercial Support" : "Komercijalna podrška",
"Get the apps to sync your files" : "Koristite aplikacije za sinkronizaciju svojih datoteka",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Ako želite podržati projekt\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">pridružite se razvoju</a>\n\t\tili\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">proširite vijest</a>!",
"Show First Run Wizard again" : "Opet pokažite First Run Wizard",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Iskoristili ste <strong>%s</strong> od raspoloživog <strong>%s</strong>",
"Password" : "Lozinka",
diff --git a/settings/l10n/hr.json b/settings/l10n/hr.json
index dd0c671805b..efdcabbb067 100644
--- a/settings/l10n/hr.json
+++ b/settings/l10n/hr.json
@@ -141,7 +141,6 @@
"More" : "Više",
"Less" : "Manje",
"Version" : "Verzija",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Razvila <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud zajednica</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">izvorni kod</a> je licenciran <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> licencom.",
"by" : "od strane",
"Documentation:" : "Dokumentacija:",
"User Documentation" : "Korisnička dokumentacija",
@@ -155,7 +154,6 @@
"Bugtracker" : "Bugtracker",
"Commercial Support" : "Komercijalna podrška",
"Get the apps to sync your files" : "Koristite aplikacije za sinkronizaciju svojih datoteka",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Ako želite podržati projekt\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">pridružite se razvoju</a>\n\t\tili\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">proširite vijest</a>!",
"Show First Run Wizard again" : "Opet pokažite First Run Wizard",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Iskoristili ste <strong>%s</strong> od raspoloživog <strong>%s</strong>",
"Password" : "Lozinka",
diff --git a/settings/l10n/hu_HU.js b/settings/l10n/hu_HU.js
index 17b9897e01c..78cd074d7bc 100644
--- a/settings/l10n/hu_HU.js
+++ b/settings/l10n/hu_HU.js
@@ -141,7 +141,6 @@ OC.L10N.register(
"More" : "Több",
"Less" : "Kevesebb",
"Version" : "Verzió",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "A programot az <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud közösség</a> fejleszti. A <a href=\"https://github.com/owncloud\" target=\"_blank\">forráskód</a> az <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> feltételei mellett használható föl.",
"by" : "közreadta:",
"Documentation:" : "Leírások:",
"User Documentation" : "Felhasználói leírás",
@@ -155,7 +154,6 @@ OC.L10N.register(
"Bugtracker" : "Hibabejelentések",
"Commercial Support" : "Megvásárolható támogatás",
"Get the apps to sync your files" : "Töltse le az állományok szinkronizációjához szükséges programokat!",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Ha támogatni kívánja a projektet\n <a href=\"https://owncloud.org/contribute\"\n target=\"_blank\">csatlakozzon a fejlesztőkhöz</a>\n vagy\n <a href=\"https://owncloud.org/promote\"\n target=\"_blank\">terjessze a program hírét</a>!",
"Show First Run Wizard again" : "Nézzük meg újra az első bejelentkezéskori segítséget!",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Az Ön tárterület-felhasználása jelenleg: <strong>%s</strong>. Maximálisan ennyi áll rendelkezésére: <strong>%s</strong>",
"Password" : "Jelszó",
diff --git a/settings/l10n/hu_HU.json b/settings/l10n/hu_HU.json
index dbf92b68536..6764efd7e2b 100644
--- a/settings/l10n/hu_HU.json
+++ b/settings/l10n/hu_HU.json
@@ -139,7 +139,6 @@
"More" : "Több",
"Less" : "Kevesebb",
"Version" : "Verzió",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "A programot az <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud közösség</a> fejleszti. A <a href=\"https://github.com/owncloud\" target=\"_blank\">forráskód</a> az <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> feltételei mellett használható föl.",
"by" : "közreadta:",
"Documentation:" : "Leírások:",
"User Documentation" : "Felhasználói leírás",
@@ -153,7 +152,6 @@
"Bugtracker" : "Hibabejelentések",
"Commercial Support" : "Megvásárolható támogatás",
"Get the apps to sync your files" : "Töltse le az állományok szinkronizációjához szükséges programokat!",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Ha támogatni kívánja a projektet\n <a href=\"https://owncloud.org/contribute\"\n target=\"_blank\">csatlakozzon a fejlesztőkhöz</a>\n vagy\n <a href=\"https://owncloud.org/promote\"\n target=\"_blank\">terjessze a program hírét</a>!",
"Show First Run Wizard again" : "Nézzük meg újra az első bejelentkezéskori segítséget!",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Az Ön tárterület-felhasználása jelenleg: <strong>%s</strong>. Maximálisan ennyi áll rendelkezésére: <strong>%s</strong>",
"Password" : "Jelszó",
diff --git a/settings/l10n/id.js b/settings/l10n/id.js
index 522276efdf8..8d23b994ade 100644
--- a/settings/l10n/id.js
+++ b/settings/l10n/id.js
@@ -173,7 +173,6 @@ OC.L10N.register(
"More" : "Lainnya",
"Less" : "Ciutkan",
"Version" : "Versi",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Dikembangkan oleh <a href=\"http://ownCloud.org/contact\" target=\"_blank\">komunitas ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">kode sumber</a> dilisensikan di bawah <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Lebih banyak aplikasi",
"Add your app" : "Tambah aplikasi Anda",
"by" : "oleh",
@@ -197,7 +196,6 @@ OC.L10N.register(
"Desktop client" : "Klien desktop",
"Android app" : "Aplikasi Android",
"iOS app" : "Aplikasi iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Jika Anda ingin mendukung proyek ini\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">bergabung dengan pembagunan</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">sebarkan promosi</a>!",
"Show First Run Wizard again" : "Tampilkan Penuntun Konfigurasi Awal",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Anda telah menggunakan <strong>%s</strong> dari total <strong>%s</strong>",
"Password" : "Sandi",
diff --git a/settings/l10n/id.json b/settings/l10n/id.json
index 727e4d7bf95..04671c29a8a 100644
--- a/settings/l10n/id.json
+++ b/settings/l10n/id.json
@@ -171,7 +171,6 @@
"More" : "Lainnya",
"Less" : "Ciutkan",
"Version" : "Versi",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Dikembangkan oleh <a href=\"http://ownCloud.org/contact\" target=\"_blank\">komunitas ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">kode sumber</a> dilisensikan di bawah <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Lebih banyak aplikasi",
"Add your app" : "Tambah aplikasi Anda",
"by" : "oleh",
@@ -195,7 +194,6 @@
"Desktop client" : "Klien desktop",
"Android app" : "Aplikasi Android",
"iOS app" : "Aplikasi iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Jika Anda ingin mendukung proyek ini\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">bergabung dengan pembagunan</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">sebarkan promosi</a>!",
"Show First Run Wizard again" : "Tampilkan Penuntun Konfigurasi Awal",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Anda telah menggunakan <strong>%s</strong> dari total <strong>%s</strong>",
"Password" : "Sandi",
diff --git a/settings/l10n/is.js b/settings/l10n/is.js
index e96a48f0f46..f3c408a5b1e 100644
--- a/settings/l10n/is.js
+++ b/settings/l10n/is.js
@@ -27,7 +27,6 @@ OC.L10N.register(
"More" : "Meira",
"Less" : "Minna",
"Version" : "Útgáfa",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Þróað af <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud samfélaginu</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">forrita kóðinn</a> er skráðu með <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "af",
"User Documentation" : "Notenda handbók",
"Administrator Documentation" : "Stjórnenda handbók",
diff --git a/settings/l10n/is.json b/settings/l10n/is.json
index 4e28a7fe72c..424e4f5c32e 100644
--- a/settings/l10n/is.json
+++ b/settings/l10n/is.json
@@ -25,7 +25,6 @@
"More" : "Meira",
"Less" : "Minna",
"Version" : "Útgáfa",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Þróað af <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud samfélaginu</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">forrita kóðinn</a> er skráðu með <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "af",
"User Documentation" : "Notenda handbók",
"Administrator Documentation" : "Stjórnenda handbók",
diff --git a/settings/l10n/it.js b/settings/l10n/it.js
index 650a8d6f267..dffcd8f9abc 100644
--- a/settings/l10n/it.js
+++ b/settings/l10n/it.js
@@ -28,6 +28,7 @@ OC.L10N.register(
"No user supplied" : "Non è stato fornito alcun utente",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Fornisci una password amministrativa di ripristino altrimenti tutti i dati degli utenti saranno persi.",
"Wrong admin recovery password. Please check the password and try again." : "Password amministrativa di ripristino errata. Controlla la password e prova ancora.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Il motore non supporta la modifica della password, ma la chiave di cifratura dell'utente è stata aggiornata correttamente.",
"Unable to change password" : "Impossibile cambiare la password",
"Enabled" : "Abilitata",
"Not enabled" : "Non abilitata",
@@ -175,8 +176,8 @@ OC.L10N.register(
"Download logfile" : "Scarica file di log",
"More" : "Altro",
"Less" : "Meno",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Il file di log è più grande di 100MB. Scaricarlo potrebbe richiedere del tempo!",
"Version" : "Versione",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Sviluppato dalla <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunità di ownCloud</a>, il <a href=\"https://github.com/owncloud\" target=\"_blank\">codice sorgente</a> è rilasciato nei termini della licenza <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Altre applicazioni",
"Add your app" : "Aggiungi la tua applicazione",
"by" : "di",
@@ -200,7 +201,7 @@ OC.L10N.register(
"Desktop client" : "Client desktop",
"Android app" : "Applicazione Android",
"iOS app" : "Applicazione iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Se vuoi supportare il progetto\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">diventa uno sviluppatore</a>\n\t\to\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">diffondi il verbo</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Se vuoi supportare il progetto\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">diventa uno sviluppatore</a>\n\t\to\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">diffondi il verbo</a>!",
"Show First Run Wizard again" : "Mostra nuovamente la procedura di primo avvio",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Hai utilizzato <strong>%s</strong> dei <strong>%s</strong> disponibili",
"Password" : "Password",
@@ -215,6 +216,7 @@ OC.L10N.register(
"Your email address" : "Il tuo indirizzo email",
"Fill in an email address to enable password recovery and receive notifications" : "Inserisci il tuo indirizzo di posta per abilitare il recupero della password e ricevere notifiche",
"No email address set" : "Nessun indirizzo email impostato",
+ "You are member of the following groups:" : "Sei membro dei seguenti gruppi:",
"Profile picture" : "Immagine del profilo",
"Upload new" : "Carica nuova",
"Select new from Files" : "Seleziona nuova da file",
@@ -236,6 +238,7 @@ OC.L10N.register(
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Le tue chiavi di cifratura sono state spostate in una posizione sicura. Se qualcosa non dovesse funzionare, potrai ripristinare le chiavi. Eliminale definitivamente solo se sei sicuro che tutti i file siano stati decifrati.",
"Restore Encryption Keys" : "Ripristina chiavi di cifratura",
"Delete Encryption Keys" : "Elimina chiavi di cifratura",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Sviluppato dalla {communityopen}comunità di ownCloud{linkclose}, il {githubopen}codice sorgente{linkclose} è licenziato nei termini della {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}.",
"Show storage location" : "Mostra posizione di archiviazione",
"Show last log in" : "Mostra ultimo accesso",
"Show user backend" : "Mostra il motore utente",
diff --git a/settings/l10n/it.json b/settings/l10n/it.json
index f4c1076201a..752e7436ec3 100644
--- a/settings/l10n/it.json
+++ b/settings/l10n/it.json
@@ -26,6 +26,7 @@
"No user supplied" : "Non è stato fornito alcun utente",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Fornisci una password amministrativa di ripristino altrimenti tutti i dati degli utenti saranno persi.",
"Wrong admin recovery password. Please check the password and try again." : "Password amministrativa di ripristino errata. Controlla la password e prova ancora.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Il motore non supporta la modifica della password, ma la chiave di cifratura dell'utente è stata aggiornata correttamente.",
"Unable to change password" : "Impossibile cambiare la password",
"Enabled" : "Abilitata",
"Not enabled" : "Non abilitata",
@@ -173,8 +174,8 @@
"Download logfile" : "Scarica file di log",
"More" : "Altro",
"Less" : "Meno",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Il file di log è più grande di 100MB. Scaricarlo potrebbe richiedere del tempo!",
"Version" : "Versione",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Sviluppato dalla <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunità di ownCloud</a>, il <a href=\"https://github.com/owncloud\" target=\"_blank\">codice sorgente</a> è rilasciato nei termini della licenza <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Altre applicazioni",
"Add your app" : "Aggiungi la tua applicazione",
"by" : "di",
@@ -198,7 +199,7 @@
"Desktop client" : "Client desktop",
"Android app" : "Applicazione Android",
"iOS app" : "Applicazione iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Se vuoi supportare il progetto\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">diventa uno sviluppatore</a>\n\t\to\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">diffondi il verbo</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Se vuoi supportare il progetto\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">diventa uno sviluppatore</a>\n\t\to\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">diffondi il verbo</a>!",
"Show First Run Wizard again" : "Mostra nuovamente la procedura di primo avvio",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Hai utilizzato <strong>%s</strong> dei <strong>%s</strong> disponibili",
"Password" : "Password",
@@ -213,6 +214,7 @@
"Your email address" : "Il tuo indirizzo email",
"Fill in an email address to enable password recovery and receive notifications" : "Inserisci il tuo indirizzo di posta per abilitare il recupero della password e ricevere notifiche",
"No email address set" : "Nessun indirizzo email impostato",
+ "You are member of the following groups:" : "Sei membro dei seguenti gruppi:",
"Profile picture" : "Immagine del profilo",
"Upload new" : "Carica nuova",
"Select new from Files" : "Seleziona nuova da file",
@@ -234,6 +236,7 @@
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Le tue chiavi di cifratura sono state spostate in una posizione sicura. Se qualcosa non dovesse funzionare, potrai ripristinare le chiavi. Eliminale definitivamente solo se sei sicuro che tutti i file siano stati decifrati.",
"Restore Encryption Keys" : "Ripristina chiavi di cifratura",
"Delete Encryption Keys" : "Elimina chiavi di cifratura",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Sviluppato dalla {communityopen}comunità di ownCloud{linkclose}, il {githubopen}codice sorgente{linkclose} è licenziato nei termini della {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}.",
"Show storage location" : "Mostra posizione di archiviazione",
"Show last log in" : "Mostra ultimo accesso",
"Show user backend" : "Mostra il motore utente",
diff --git a/settings/l10n/ja.js b/settings/l10n/ja.js
index 6351b36d673..ed7317ac19e 100644
--- a/settings/l10n/ja.js
+++ b/settings/l10n/ja.js
@@ -28,6 +28,7 @@ OC.L10N.register(
"No user supplied" : "ユーザーが指定されていません",
"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 successfully updated." : "バックエンドはパスワード変更をサポートしていませんが、ユーザの暗号化キーは正常に更新されました。",
"Unable to change password" : "パスワードを変更できません",
"Enabled" : "有効",
"Not enabled" : "無効",
@@ -114,6 +115,9 @@ OC.L10N.register(
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHPでインラインドキュメントブロックを取り除く設定になっています。これによりコアアプリで利用できないものがいくつかあります。",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "これは、Zend OPcacheやeAccelerator 等のキャッシュ/アクセラレータが原因かもしれません。",
"Database Performance Info" : "データベースパフォーマンス情報",
+ "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLiteがデータベースとして使用されています。大規模な運用では別のデータベースに切り替えることをお勧めします。",
+ "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特にデスクトップクライアントをファイル同期に使用する場合,SQLiteは非推奨です.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type'" : "他のデータベースに移行する場合はコマンドラインツール 'occ db:convert-type'を使ってください。",
"Microsoft Windows Platform" : "Microsoft Windows 環境",
"Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "サーバーがMicrosoft Windowsで動いています。ユーザーに最適なサービスを提供するためには、Linuxを利用することを強くお勧めします。",
"Module 'fileinfo' missing" : "モジュール 'fileinfo' が見つかりません",
@@ -172,8 +176,8 @@ OC.L10N.register(
"Download logfile" : "logファイルのダウンロード",
"More" : "もっと見る",
"Less" : "閉じる",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "100MBより大きいlogファイルです。ダウンロードに時間がかかります!",
"Version" : "バージョン",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud コミュニティ</a>により開発されています。 <a href=\"https://github.com/owncloud\" target=\"_blank\">ソースコード</a>は、<a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> ライセンスの下で提供されています。",
"More apps" : "他のアプリ",
"Add your app" : "アプリを追加",
"by" : "by",
@@ -197,7 +201,7 @@ OC.L10N.register(
"Desktop client" : "デスクトップクライアント",
"Android app" : "Androidアプリ",
"iOS app" : "iOSアプリ",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "プロジェクトをサポートしていただけるなら、\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">開発に参加する</a>\n\t\t、もしくは\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">プロジェクトを広く伝えてください</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "もしプロジェクトをサポートしていただけるなら、\n<a href=\"https://owncloud.org/contribute\"\ntarget=\"_blank\">開発に参加する</a>、\nもしくは\n<a href=\"https://owncloud.org/promote\"\ntarget=\"_blank\">プロジェクトを広く伝えてください</a>!",
"Show First Run Wizard again" : "初回ウィザードを再表示する",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "現在 <strong>%s</strong> / <strong>%s</strong> を利用しています",
"Password" : "パスワード",
@@ -212,6 +216,7 @@ OC.L10N.register(
"Your email address" : "あなたのメールアドレス",
"Fill in an email address to enable password recovery and receive notifications" : "パスワードの回復を有効にし、通知を受け取るにはメールアドレスを入力してください",
"No email address set" : "メールアドレスが設定されていません",
+ "You are member of the following groups:" : "次のグループのメンバーです:",
"Profile picture" : "プロフィール画像",
"Upload new" : "新たにアップロード",
"Select new from Files" : "新しいファイルを選択",
@@ -233,6 +238,7 @@ OC.L10N.register(
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "暗号化キーはバックアップ場所に移動されました。何か問題があった場合は、キーを復元することができます。すべてのファイルが正しく復号化されたことが確信できる場合にのみ、キーを完全に削除してください。",
"Restore Encryption Keys" : "暗号化キーを復元する",
"Delete Encryption Keys" : "暗号化キーを削除する",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : " {communityopen}ownCloud community{link close}によって開発されました、{githubopen}ソースコード{linkclose} は {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{link close}.によってライセンスされます。",
"Show storage location" : "データの保存場所を表示",
"Show last log in" : "最終ログインを表示",
"Show user backend" : "ユーザバックエンドを表示",
diff --git a/settings/l10n/ja.json b/settings/l10n/ja.json
index 6a46e34b372..db75a975d92 100644
--- a/settings/l10n/ja.json
+++ b/settings/l10n/ja.json
@@ -26,6 +26,7 @@
"No user supplied" : "ユーザーが指定されていません",
"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 successfully updated." : "バックエンドはパスワード変更をサポートしていませんが、ユーザの暗号化キーは正常に更新されました。",
"Unable to change password" : "パスワードを変更できません",
"Enabled" : "有効",
"Not enabled" : "無効",
@@ -112,6 +113,9 @@
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHPでインラインドキュメントブロックを取り除く設定になっています。これによりコアアプリで利用できないものがいくつかあります。",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "これは、Zend OPcacheやeAccelerator 等のキャッシュ/アクセラレータが原因かもしれません。",
"Database Performance Info" : "データベースパフォーマンス情報",
+ "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLiteがデータベースとして使用されています。大規模な運用では別のデータベースに切り替えることをお勧めします。",
+ "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特にデスクトップクライアントをファイル同期に使用する場合,SQLiteは非推奨です.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type'" : "他のデータベースに移行する場合はコマンドラインツール 'occ db:convert-type'を使ってください。",
"Microsoft Windows Platform" : "Microsoft Windows 環境",
"Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "サーバーがMicrosoft Windowsで動いています。ユーザーに最適なサービスを提供するためには、Linuxを利用することを強くお勧めします。",
"Module 'fileinfo' missing" : "モジュール 'fileinfo' が見つかりません",
@@ -170,8 +174,8 @@
"Download logfile" : "logファイルのダウンロード",
"More" : "もっと見る",
"Less" : "閉じる",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "100MBより大きいlogファイルです。ダウンロードに時間がかかります!",
"Version" : "バージョン",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud コミュニティ</a>により開発されています。 <a href=\"https://github.com/owncloud\" target=\"_blank\">ソースコード</a>は、<a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> ライセンスの下で提供されています。",
"More apps" : "他のアプリ",
"Add your app" : "アプリを追加",
"by" : "by",
@@ -195,7 +199,7 @@
"Desktop client" : "デスクトップクライアント",
"Android app" : "Androidアプリ",
"iOS app" : "iOSアプリ",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "プロジェクトをサポートしていただけるなら、\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">開発に参加する</a>\n\t\t、もしくは\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">プロジェクトを広く伝えてください</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "もしプロジェクトをサポートしていただけるなら、\n<a href=\"https://owncloud.org/contribute\"\ntarget=\"_blank\">開発に参加する</a>、\nもしくは\n<a href=\"https://owncloud.org/promote\"\ntarget=\"_blank\">プロジェクトを広く伝えてください</a>!",
"Show First Run Wizard again" : "初回ウィザードを再表示する",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "現在 <strong>%s</strong> / <strong>%s</strong> を利用しています",
"Password" : "パスワード",
@@ -210,6 +214,7 @@
"Your email address" : "あなたのメールアドレス",
"Fill in an email address to enable password recovery and receive notifications" : "パスワードの回復を有効にし、通知を受け取るにはメールアドレスを入力してください",
"No email address set" : "メールアドレスが設定されていません",
+ "You are member of the following groups:" : "次のグループのメンバーです:",
"Profile picture" : "プロフィール画像",
"Upload new" : "新たにアップロード",
"Select new from Files" : "新しいファイルを選択",
@@ -231,6 +236,7 @@
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "暗号化キーはバックアップ場所に移動されました。何か問題があった場合は、キーを復元することができます。すべてのファイルが正しく復号化されたことが確信できる場合にのみ、キーを完全に削除してください。",
"Restore Encryption Keys" : "暗号化キーを復元する",
"Delete Encryption Keys" : "暗号化キーを削除する",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : " {communityopen}ownCloud community{link close}によって開発されました、{githubopen}ソースコード{linkclose} は {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{link close}.によってライセンスされます。",
"Show storage location" : "データの保存場所を表示",
"Show last log in" : "最終ログインを表示",
"Show user backend" : "ユーザバックエンドを表示",
diff --git a/settings/l10n/ka_GE.js b/settings/l10n/ka_GE.js
index e8a61debfa8..6d968ff1d9c 100644
--- a/settings/l10n/ka_GE.js
+++ b/settings/l10n/ka_GE.js
@@ -51,7 +51,6 @@ OC.L10N.register(
"More" : "უფრო მეტი",
"Less" : "უფრო ნაკლები",
"Version" : "ვერსია",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "წარმოებულია <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>–ის მიერ. <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> ვრცელდება <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> ლიცენზიის ფარგლებში.",
"by" : "მიერ",
"User Documentation" : "მომხმარებლის დოკუმენტაცია",
"Administrator Documentation" : "ადმინისტრატორის დოკუმენტაცია",
diff --git a/settings/l10n/ka_GE.json b/settings/l10n/ka_GE.json
index 5794fa90692..a852ecbf45e 100644
--- a/settings/l10n/ka_GE.json
+++ b/settings/l10n/ka_GE.json
@@ -49,7 +49,6 @@
"More" : "უფრო მეტი",
"Less" : "უფრო ნაკლები",
"Version" : "ვერსია",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "წარმოებულია <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>–ის მიერ. <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> ვრცელდება <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> ლიცენზიის ფარგლებში.",
"by" : "მიერ",
"User Documentation" : "მომხმარებლის დოკუმენტაცია",
"Administrator Documentation" : "ადმინისტრატორის დოკუმენტაცია",
diff --git a/settings/l10n/km.js b/settings/l10n/km.js
index 33977b5e821..253fc61aab2 100644
--- a/settings/l10n/km.js
+++ b/settings/l10n/km.js
@@ -67,7 +67,6 @@ OC.L10N.register(
"More" : "ច្រើន​ទៀត",
"Less" : "តិច",
"Version" : "កំណែ",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "សរសេរ​កម្មវិធី​ដោយ <a href=\"http://ownCloud.org/contact\" target=\"_blank\">សហគមន៍ ownCloud</a> ហើយ <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> គឺ​ស្ថិត​ក្នុង​អាជ្ញាប័ណ្ណ <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>។",
"by" : "ដោយ",
"User Documentation" : "ឯកសារ​សម្រាប់​អ្នក​ប្រើប្រាស់",
"Admin Documentation" : "កម្រង​ឯកសារ​អភិបាល",
diff --git a/settings/l10n/km.json b/settings/l10n/km.json
index 4758adb9265..45d5b992f6c 100644
--- a/settings/l10n/km.json
+++ b/settings/l10n/km.json
@@ -65,7 +65,6 @@
"More" : "ច្រើន​ទៀត",
"Less" : "តិច",
"Version" : "កំណែ",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "សរសេរ​កម្មវិធី​ដោយ <a href=\"http://ownCloud.org/contact\" target=\"_blank\">សហគមន៍ ownCloud</a> ហើយ <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> គឺ​ស្ថិត​ក្នុង​អាជ្ញាប័ណ្ណ <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>។",
"by" : "ដោយ",
"User Documentation" : "ឯកសារ​សម្រាប់​អ្នក​ប្រើប្រាស់",
"Admin Documentation" : "កម្រង​ឯកសារ​អភិបាល",
diff --git a/settings/l10n/ko.js b/settings/l10n/ko.js
index a126aca72d0..850f4c5691a 100644
--- a/settings/l10n/ko.js
+++ b/settings/l10n/ko.js
@@ -176,7 +176,6 @@ OC.L10N.register(
"More" : "더 중요함",
"Less" : "덜 중요함",
"Version" : "버전",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud 커뮤니티</a>에 의해서 개발되었습니다. <a href=\"https://github.com/owncloud\" target=\"_blank\">원본 코드</a>는 <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>에 따라 사용이 허가됩니다.",
"More apps" : "더 많은 앱",
"Add your app" : "내 앱 추가",
"by" : "작성:",
@@ -200,7 +199,6 @@ OC.L10N.register(
"Desktop client" : "데스크톱 클라이언트",
"Android app" : "Android 앱",
"iOS app" : "iOS 앱",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "프로젝트를 돕고 싶다면\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">개발에 참여하거나</a>\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">널리 알려 주십시오</a>!",
"Show First Run Wizard again" : "첫 실행 마법사 다시 보이기",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "현재 공간 중 <strong>%s</strong>/<strong>%s</strong>을(를) 사용 중입니다",
"Password" : "암호",
diff --git a/settings/l10n/ko.json b/settings/l10n/ko.json
index 0b0973cbb56..9678fb6c140 100644
--- a/settings/l10n/ko.json
+++ b/settings/l10n/ko.json
@@ -174,7 +174,6 @@
"More" : "더 중요함",
"Less" : "덜 중요함",
"Version" : "버전",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud 커뮤니티</a>에 의해서 개발되었습니다. <a href=\"https://github.com/owncloud\" target=\"_blank\">원본 코드</a>는 <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>에 따라 사용이 허가됩니다.",
"More apps" : "더 많은 앱",
"Add your app" : "내 앱 추가",
"by" : "작성:",
@@ -198,7 +197,6 @@
"Desktop client" : "데스크톱 클라이언트",
"Android app" : "Android 앱",
"iOS app" : "iOS 앱",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "프로젝트를 돕고 싶다면\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">개발에 참여하거나</a>\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">널리 알려 주십시오</a>!",
"Show First Run Wizard again" : "첫 실행 마법사 다시 보이기",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "현재 공간 중 <strong>%s</strong>/<strong>%s</strong>을(를) 사용 중입니다",
"Password" : "암호",
diff --git a/settings/l10n/lt_LT.js b/settings/l10n/lt_LT.js
index 18711b019a5..33faafdcdd7 100644
--- a/settings/l10n/lt_LT.js
+++ b/settings/l10n/lt_LT.js
@@ -65,7 +65,6 @@ OC.L10N.register(
"More" : "Daugiau",
"Less" : "Mažiau",
"Version" : "Versija",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Sukurta <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud bendruomenės</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">pirminis kodas</a> platinamas pagal <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Daugiau programų",
"by" : " ",
"User Documentation" : "Naudotojo dokumentacija",
diff --git a/settings/l10n/lt_LT.json b/settings/l10n/lt_LT.json
index 1755c624207..38a457f9eaa 100644
--- a/settings/l10n/lt_LT.json
+++ b/settings/l10n/lt_LT.json
@@ -63,7 +63,6 @@
"More" : "Daugiau",
"Less" : "Mažiau",
"Version" : "Versija",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Sukurta <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud bendruomenės</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">pirminis kodas</a> platinamas pagal <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Daugiau programų",
"by" : " ",
"User Documentation" : "Naudotojo dokumentacija",
diff --git a/settings/l10n/lv.js b/settings/l10n/lv.js
index d4bdebde618..a8165344fb3 100644
--- a/settings/l10n/lv.js
+++ b/settings/l10n/lv.js
@@ -129,7 +129,6 @@ OC.L10N.register(
"More" : "Vairāk",
"Less" : "Mazāk",
"Version" : "Versija",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Izstrādājusi<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud kopiena</a>,<a href=\"https://github.com/owncloud\" target=\"_blank\">pirmkodu</a>kurš ir licencēts zem <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Vairāk programmu",
"by" : "līdz",
"User Documentation" : "Lietotāja dokumentācija",
diff --git a/settings/l10n/lv.json b/settings/l10n/lv.json
index c76f40d1d2b..c73a4fe6deb 100644
--- a/settings/l10n/lv.json
+++ b/settings/l10n/lv.json
@@ -127,7 +127,6 @@
"More" : "Vairāk",
"Less" : "Mazāk",
"Version" : "Versija",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Izstrādājusi<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud kopiena</a>,<a href=\"https://github.com/owncloud\" target=\"_blank\">pirmkodu</a>kurš ir licencēts zem <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Vairāk programmu",
"by" : "līdz",
"User Documentation" : "Lietotāja dokumentācija",
diff --git a/settings/l10n/mk.js b/settings/l10n/mk.js
index e1b52193ee6..d105bb993f1 100644
--- a/settings/l10n/mk.js
+++ b/settings/l10n/mk.js
@@ -101,7 +101,6 @@ OC.L10N.register(
"More" : "Повеќе",
"Less" : "Помалку",
"Version" : "Верзија",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Развој од <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud заедницата</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">изворниот код</a> е лиценциран со<a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "од",
"Documentation:" : "Документација:",
"User Documentation" : "Корисничка документација",
diff --git a/settings/l10n/mk.json b/settings/l10n/mk.json
index f92fcd0935a..958a2d4efe5 100644
--- a/settings/l10n/mk.json
+++ b/settings/l10n/mk.json
@@ -99,7 +99,6 @@
"More" : "Повеќе",
"Less" : "Помалку",
"Version" : "Верзија",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Развој од <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud заедницата</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">изворниот код</a> е лиценциран со<a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "од",
"Documentation:" : "Документација:",
"User Documentation" : "Корисничка документација",
diff --git a/settings/l10n/nb_NO.js b/settings/l10n/nb_NO.js
index dfabb8bfb96..a770fc623c9 100644
--- a/settings/l10n/nb_NO.js
+++ b/settings/l10n/nb_NO.js
@@ -176,7 +176,6 @@ OC.L10N.register(
"More" : "Mer",
"Less" : "Mindre",
"Version" : "Versjon",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Utviklet av <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud-fellesskapet</a>. <a href=\"https://github.com/owncloud\" target=\"_blank\">Kildekoden</a> er lisensiert under <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Flere apper",
"Add your app" : "Legg til din app",
"by" : "av",
@@ -200,7 +199,6 @@ OC.L10N.register(
"Desktop client" : "Skrivebordsklient",
"Android app" : "Android-app",
"iOS app" : "iOS-app",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Hvis du vil støtte prosjektet kan du\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">delta i utviklingen</a>\n\t\teller\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spre budskapet</a>!",
"Show First Run Wizard again" : "Vis \"Førstegangs veiviser\" på nytt",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Du har brukt <strong>%s</strong> av de tilgjengelige <strong>%s</strong>",
"Password" : "Passord",
diff --git a/settings/l10n/nb_NO.json b/settings/l10n/nb_NO.json
index 019496ebf4b..311a945155d 100644
--- a/settings/l10n/nb_NO.json
+++ b/settings/l10n/nb_NO.json
@@ -174,7 +174,6 @@
"More" : "Mer",
"Less" : "Mindre",
"Version" : "Versjon",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Utviklet av <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud-fellesskapet</a>. <a href=\"https://github.com/owncloud\" target=\"_blank\">Kildekoden</a> er lisensiert under <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Flere apper",
"Add your app" : "Legg til din app",
"by" : "av",
@@ -198,7 +197,6 @@
"Desktop client" : "Skrivebordsklient",
"Android app" : "Android-app",
"iOS app" : "iOS-app",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Hvis du vil støtte prosjektet kan du\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">delta i utviklingen</a>\n\t\teller\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spre budskapet</a>!",
"Show First Run Wizard again" : "Vis \"Førstegangs veiviser\" på nytt",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Du har brukt <strong>%s</strong> av de tilgjengelige <strong>%s</strong>",
"Password" : "Passord",
diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js
index 8f6444b2087..40ae4d204fb 100644
--- a/settings/l10n/nl.js
+++ b/settings/l10n/nl.js
@@ -28,6 +28,7 @@ OC.L10N.register(
"No user supplied" : "Geen gebruiker opgegeven",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Voer een beheerdersherstelwachtwoord in, anders zullen alle gebruikersgegevens verloren gaan",
"Wrong admin recovery password. Please check the password and try again." : "Onjuist beheerdersherstelwachtwoord. Controleer het wachtwoord en probeer het opnieuw.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "De Back-end ondersteunt geen wachtwoordwijzigingen, maar de cryptosleutel van de gebruiker is succesvol bijgewerkt.",
"Unable to change password" : "Kan wachtwoord niet wijzigen",
"Enabled" : "Geactiveerd",
"Not enabled" : "Niet ingeschakeld",
@@ -175,8 +176,8 @@ OC.L10N.register(
"Download logfile" : "Download logbestand",
"More" : "Meer",
"Less" : "Minder",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Het logbestand is groter dan 100MB. Downloaden kost even tijd!",
"Version" : "Versie",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Ontwikkeld door de <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud gemeenschap</a>, de <a href=\"https://github.com/owncloud\" target=\"_blank\">broncode</a> is gelicenseerd onder de <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Meer applicaties",
"Add your app" : "Voeg uw app toe",
"by" : "door",
@@ -200,7 +201,6 @@ OC.L10N.register(
"Desktop client" : "Desktop client",
"Android app" : "Android app",
"iOS app" : "iOS app",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Als u het project wilt ondersteunen\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">ontwikkel mee</a>\n\t\tof\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">verkondig het nieuws</a>!",
"Show First Run Wizard again" : "Toon de Eerste start Wizard opnieuw",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "U heeft <strong>%s</strong> gebruikt van de beschikbare <strong>%s</strong>",
"Password" : "Wachtwoord",
@@ -215,6 +215,7 @@ OC.L10N.register(
"Your email address" : "Uw e-mailadres",
"Fill in an email address to enable password recovery and receive notifications" : "Vul een e-mailadres in om wachtwoordherstel mogelijk te maken en meldingen te ontvangen",
"No email address set" : "Geen e-mailadres opgegeven",
+ "You are member of the following groups:" : "U bent lid van de volgende groepen:",
"Profile picture" : "Profielafbeelding",
"Upload new" : "Upload een nieuwe",
"Select new from Files" : "Selecteer een nieuwe vanuit bestanden",
diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json
index 574c4bbaa64..27f30e56fce 100644
--- a/settings/l10n/nl.json
+++ b/settings/l10n/nl.json
@@ -26,6 +26,7 @@
"No user supplied" : "Geen gebruiker opgegeven",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Voer een beheerdersherstelwachtwoord in, anders zullen alle gebruikersgegevens verloren gaan",
"Wrong admin recovery password. Please check the password and try again." : "Onjuist beheerdersherstelwachtwoord. Controleer het wachtwoord en probeer het opnieuw.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "De Back-end ondersteunt geen wachtwoordwijzigingen, maar de cryptosleutel van de gebruiker is succesvol bijgewerkt.",
"Unable to change password" : "Kan wachtwoord niet wijzigen",
"Enabled" : "Geactiveerd",
"Not enabled" : "Niet ingeschakeld",
@@ -173,8 +174,8 @@
"Download logfile" : "Download logbestand",
"More" : "Meer",
"Less" : "Minder",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Het logbestand is groter dan 100MB. Downloaden kost even tijd!",
"Version" : "Versie",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Ontwikkeld door de <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud gemeenschap</a>, de <a href=\"https://github.com/owncloud\" target=\"_blank\">broncode</a> is gelicenseerd onder de <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Meer applicaties",
"Add your app" : "Voeg uw app toe",
"by" : "door",
@@ -198,7 +199,6 @@
"Desktop client" : "Desktop client",
"Android app" : "Android app",
"iOS app" : "iOS app",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Als u het project wilt ondersteunen\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">ontwikkel mee</a>\n\t\tof\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">verkondig het nieuws</a>!",
"Show First Run Wizard again" : "Toon de Eerste start Wizard opnieuw",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "U heeft <strong>%s</strong> gebruikt van de beschikbare <strong>%s</strong>",
"Password" : "Wachtwoord",
@@ -213,6 +213,7 @@
"Your email address" : "Uw e-mailadres",
"Fill in an email address to enable password recovery and receive notifications" : "Vul een e-mailadres in om wachtwoordherstel mogelijk te maken en meldingen te ontvangen",
"No email address set" : "Geen e-mailadres opgegeven",
+ "You are member of the following groups:" : "U bent lid van de volgende groepen:",
"Profile picture" : "Profielafbeelding",
"Upload new" : "Upload een nieuwe",
"Select new from Files" : "Selecteer een nieuwe vanuit bestanden",
diff --git a/settings/l10n/nn_NO.js b/settings/l10n/nn_NO.js
index c2146b270d9..626c8881a6a 100644
--- a/settings/l10n/nn_NO.js
+++ b/settings/l10n/nn_NO.js
@@ -61,7 +61,6 @@ OC.L10N.register(
"More" : "Meir",
"Less" : "Mindre",
"Version" : "Utgåve",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "<a href=\"https://github.com/owncloud\" target=\"_blank\">Kjeldekoden</a>, utvikla av <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud-fellesskapet</a>, er lisensiert under <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "av",
"User Documentation" : "Brukardokumentasjon",
"Administrator Documentation" : "Administratordokumentasjon",
diff --git a/settings/l10n/nn_NO.json b/settings/l10n/nn_NO.json
index d0774fa7d2e..517b14dbaf3 100644
--- a/settings/l10n/nn_NO.json
+++ b/settings/l10n/nn_NO.json
@@ -59,7 +59,6 @@
"More" : "Meir",
"Less" : "Mindre",
"Version" : "Utgåve",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "<a href=\"https://github.com/owncloud\" target=\"_blank\">Kjeldekoden</a>, utvikla av <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud-fellesskapet</a>, er lisensiert under <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "av",
"User Documentation" : "Brukardokumentasjon",
"Administrator Documentation" : "Administratordokumentasjon",
diff --git a/settings/l10n/pl.js b/settings/l10n/pl.js
index 5dd6d5b649e..044500b756d 100644
--- a/settings/l10n/pl.js
+++ b/settings/l10n/pl.js
@@ -108,6 +108,7 @@ OC.L10N.register(
"TLS" : "TLS",
"Security Warning" : "Ostrzeżenie o zabezpieczeniach",
"You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Uzyskujesz dostęp do %s za pomocą protokołu HTTP. Zalecamy skonfigurować swój serwer z użyciem protokołu HTTPS.",
+ "Read-Only config enabled" : "Włączona konfiguracja tylko do odczytu",
"Setup Warning" : "Ostrzeżenia konfiguracji",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Wygląda na to, że ustawienia PHP ucinają bloki wklejonych dokumentów. To sprawi, że niektóre wbudowane aplikacje będą niedostępne.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dzieje się tak prawdopodobnie przez cache lub akcelerator taki jak Zend OPcache lub eAccelerator.",
@@ -168,7 +169,6 @@ OC.L10N.register(
"More" : "Więcej",
"Less" : "Mniej",
"Version" : "Wersja",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Stworzone przez <a href=\"http://ownCloud.org/contact\" target=\"_blank\">społeczność ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">kod źródłowy</a> na licencji <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Więcej aplikacji",
"Add your app" : "Dodaj aplikację",
"by" : "przez",
@@ -189,9 +189,9 @@ OC.L10N.register(
"Bugtracker" : "Zgłaszanie błędów",
"Commercial Support" : "Wsparcie komercyjne",
"Get the apps to sync your files" : "Pobierz aplikacje żeby synchronizować swoje pliki",
+ "Desktop client" : "Klient na komputer",
"Android app" : "Aplikacja Android",
"iOS app" : "Aplikacja iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Jeśli chcesz wesprzeć projekt\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tlub\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!",
"Show First Run Wizard again" : "Uruchom ponownie kreatora pierwszego uruchomienia",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Wykorzystujesz <strong>%s</strong> z dostępnych <strong>%s</strong>",
"Password" : "Hasło",
diff --git a/settings/l10n/pl.json b/settings/l10n/pl.json
index e60fdc4e959..1e6cc0a54d8 100644
--- a/settings/l10n/pl.json
+++ b/settings/l10n/pl.json
@@ -106,6 +106,7 @@
"TLS" : "TLS",
"Security Warning" : "Ostrzeżenie o zabezpieczeniach",
"You are accessing %s via HTTP. We strongly suggest you configure your server to require using HTTPS instead." : "Uzyskujesz dostęp do %s za pomocą protokołu HTTP. Zalecamy skonfigurować swój serwer z użyciem protokołu HTTPS.",
+ "Read-Only config enabled" : "Włączona konfiguracja tylko do odczytu",
"Setup Warning" : "Ostrzeżenia konfiguracji",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Wygląda na to, że ustawienia PHP ucinają bloki wklejonych dokumentów. To sprawi, że niektóre wbudowane aplikacje będą niedostępne.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dzieje się tak prawdopodobnie przez cache lub akcelerator taki jak Zend OPcache lub eAccelerator.",
@@ -166,7 +167,6 @@
"More" : "Więcej",
"Less" : "Mniej",
"Version" : "Wersja",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Stworzone przez <a href=\"http://ownCloud.org/contact\" target=\"_blank\">społeczność ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">kod źródłowy</a> na licencji <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Więcej aplikacji",
"Add your app" : "Dodaj aplikację",
"by" : "przez",
@@ -187,9 +187,9 @@
"Bugtracker" : "Zgłaszanie błędów",
"Commercial Support" : "Wsparcie komercyjne",
"Get the apps to sync your files" : "Pobierz aplikacje żeby synchronizować swoje pliki",
+ "Desktop client" : "Klient na komputer",
"Android app" : "Aplikacja Android",
"iOS app" : "Aplikacja iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Jeśli chcesz wesprzeć projekt\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tlub\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!",
"Show First Run Wizard again" : "Uruchom ponownie kreatora pierwszego uruchomienia",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Wykorzystujesz <strong>%s</strong> z dostępnych <strong>%s</strong>",
"Password" : "Hasło",
diff --git a/settings/l10n/pt_BR.js b/settings/l10n/pt_BR.js
index 989eb8e8486..55fd8af7701 100644
--- a/settings/l10n/pt_BR.js
+++ b/settings/l10n/pt_BR.js
@@ -176,7 +176,6 @@ OC.L10N.register(
"More" : "Mais",
"Less" : "Menos",
"Version" : "Versão",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desenvolvido pela <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidade ownCloud</a>, o <a href=\"https://github.com/owncloud\" target=\"_blank\">código fonte</a> está licenciado sob <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Mais aplicativos",
"Add your app" : "Adicionar seu aplicativo",
"by" : "por",
@@ -200,7 +199,6 @@ OC.L10N.register(
"Desktop client" : "Cliente Desktop",
"Android app" : "App Android",
"iOS app" : "App iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Se você deseja dar suporte ao projeto\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥⇥target=\"_blank\">junte-se ao desenvolvimento</a>\n⇥⇥or\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥⇥target=\"_blank\">espalhe pelo mundo</a>!",
"Show First Run Wizard again" : "Mostrar Assistente de Primeira Execução novamente",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Você usou <strong>%s</strong> do seu espaço de <strong>%s</strong>",
"Password" : "Senha",
@@ -215,6 +213,7 @@ OC.L10N.register(
"Your email address" : "Seu endereço de e-mail",
"Fill in an email address to enable password recovery and receive notifications" : "Preencha com um e-mail para permitir a recuperação de senha e receber notificações",
"No email address set" : "Nenhum endereço de email foi configurado",
+ "You are member of the following groups:" : "Você é membro dos seguintes grupos:",
"Profile picture" : "Imagem para o perfil",
"Upload new" : "Enviar nova foto",
"Select new from Files" : "Selecinar uma nova dos Arquivos",
diff --git a/settings/l10n/pt_BR.json b/settings/l10n/pt_BR.json
index 9cf17268e59..9e0f7a118ab 100644
--- a/settings/l10n/pt_BR.json
+++ b/settings/l10n/pt_BR.json
@@ -174,7 +174,6 @@
"More" : "Mais",
"Less" : "Menos",
"Version" : "Versão",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desenvolvido pela <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidade ownCloud</a>, o <a href=\"https://github.com/owncloud\" target=\"_blank\">código fonte</a> está licenciado sob <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Mais aplicativos",
"Add your app" : "Adicionar seu aplicativo",
"by" : "por",
@@ -198,7 +197,6 @@
"Desktop client" : "Cliente Desktop",
"Android app" : "App Android",
"iOS app" : "App iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Se você deseja dar suporte ao projeto\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥⇥target=\"_blank\">junte-se ao desenvolvimento</a>\n⇥⇥or\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥⇥target=\"_blank\">espalhe pelo mundo</a>!",
"Show First Run Wizard again" : "Mostrar Assistente de Primeira Execução novamente",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Você usou <strong>%s</strong> do seu espaço de <strong>%s</strong>",
"Password" : "Senha",
@@ -213,6 +211,7 @@
"Your email address" : "Seu endereço de e-mail",
"Fill in an email address to enable password recovery and receive notifications" : "Preencha com um e-mail para permitir a recuperação de senha e receber notificações",
"No email address set" : "Nenhum endereço de email foi configurado",
+ "You are member of the following groups:" : "Você é membro dos seguintes grupos:",
"Profile picture" : "Imagem para o perfil",
"Upload new" : "Enviar nova foto",
"Select new from Files" : "Selecinar uma nova dos Arquivos",
diff --git a/settings/l10n/pt_PT.js b/settings/l10n/pt_PT.js
index 1bf48d98db2..90e8295d2e4 100644
--- a/settings/l10n/pt_PT.js
+++ b/settings/l10n/pt_PT.js
@@ -28,6 +28,7 @@ OC.L10N.register(
"No user supplied" : "Nenhum utilizador especificado",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Por favor, forneça uma palavra-passe de recuperação de administrador, caso contrário seráo perdidos todos os dados",
"Wrong admin recovery password. Please check the password and try again." : "Palavra-passe de recuperação de administrador errada. Por favor, verifique a palavra-passe e tente novamente.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Não foi possível alterar a sua palavra-passe, mas a chave de encriptação foi atualizada com sucesso.",
"Unable to change password" : "Não foi possível alterar a sua palavra-passe ",
"Enabled" : "Ativada",
"Not enabled" : "Desativada",
@@ -175,8 +176,8 @@ OC.L10N.register(
"Download logfile" : "Descarregar logfile",
"More" : "Mais",
"Less" : "Menos",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O logfile é maior que 100MB. O download do mesmo poderá demorar algum tempo!",
"Version" : "Versão",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desenvolvido pela <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidade ownCloud</a>, o<a href=\"https://github.com/owncloud\" target=\"_blank\">código fonte</a> está licenciado sob a <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Mais aplicações",
"Add your app" : "Adicione a sua aplicação",
"by" : "por",
@@ -200,7 +201,6 @@ OC.L10N.register(
"Desktop client" : "Cliente Desktop",
"Android app" : "Aplicação Android",
"iOS app" : "Aplicação iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Se quer ajudar no projecto\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥⇥target=\"_blank\">aderir desenvolvimento</a>\n⇥⇥ou\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥⇥target=\"_blank\">espalhe a palavra</a>!",
"Show First Run Wizard again" : "Mostrar novamente Wizard de Arranque Inicial",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Usou <strong>%s</strong> do disponivel <strong>%s</strong>",
"Password" : "Palavra-passe",
@@ -215,6 +215,7 @@ OC.L10N.register(
"Your email address" : "O seu endereço de email",
"Fill in an email address to enable password recovery and receive notifications" : "Preencha com um endereço e-mail para permitir a recuperação da palavra-passe e receber notificações",
"No email address set" : "Nenhum endereço de email estabelecido",
+ "You are member of the following groups:" : "Você é membro dos seguintes grupos:",
"Profile picture" : "Foto do perfil",
"Upload new" : "Carregar novo",
"Select new from Files" : "Seleccionar novo a partir dos ficheiros",
diff --git a/settings/l10n/pt_PT.json b/settings/l10n/pt_PT.json
index 135cc42815f..926ebae34ca 100644
--- a/settings/l10n/pt_PT.json
+++ b/settings/l10n/pt_PT.json
@@ -26,6 +26,7 @@
"No user supplied" : "Nenhum utilizador especificado",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Por favor, forneça uma palavra-passe de recuperação de administrador, caso contrário seráo perdidos todos os dados",
"Wrong admin recovery password. Please check the password and try again." : "Palavra-passe de recuperação de administrador errada. Por favor, verifique a palavra-passe e tente novamente.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Não foi possível alterar a sua palavra-passe, mas a chave de encriptação foi atualizada com sucesso.",
"Unable to change password" : "Não foi possível alterar a sua palavra-passe ",
"Enabled" : "Ativada",
"Not enabled" : "Desativada",
@@ -173,8 +174,8 @@
"Download logfile" : "Descarregar logfile",
"More" : "Mais",
"Less" : "Menos",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "O logfile é maior que 100MB. O download do mesmo poderá demorar algum tempo!",
"Version" : "Versão",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Desenvolvido pela <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidade ownCloud</a>, o<a href=\"https://github.com/owncloud\" target=\"_blank\">código fonte</a> está licenciado sob a <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Mais aplicações",
"Add your app" : "Adicione a sua aplicação",
"by" : "por",
@@ -198,7 +199,6 @@
"Desktop client" : "Cliente Desktop",
"Android app" : "Aplicação Android",
"iOS app" : "Aplicação iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Se quer ajudar no projecto\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥⇥target=\"_blank\">aderir desenvolvimento</a>\n⇥⇥ou\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥⇥target=\"_blank\">espalhe a palavra</a>!",
"Show First Run Wizard again" : "Mostrar novamente Wizard de Arranque Inicial",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Usou <strong>%s</strong> do disponivel <strong>%s</strong>",
"Password" : "Palavra-passe",
@@ -213,6 +213,7 @@
"Your email address" : "O seu endereço de email",
"Fill in an email address to enable password recovery and receive notifications" : "Preencha com um endereço e-mail para permitir a recuperação da palavra-passe e receber notificações",
"No email address set" : "Nenhum endereço de email estabelecido",
+ "You are member of the following groups:" : "Você é membro dos seguintes grupos:",
"Profile picture" : "Foto do perfil",
"Upload new" : "Carregar novo",
"Select new from Files" : "Seleccionar novo a partir dos ficheiros",
diff --git a/settings/l10n/ro.js b/settings/l10n/ro.js
index 3a8f42484ab..c21c575340c 100644
--- a/settings/l10n/ro.js
+++ b/settings/l10n/ro.js
@@ -83,7 +83,6 @@ OC.L10N.register(
"More" : "Mai mult",
"Less" : "Mai puțin",
"Version" : "Versiunea",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Dezvoltat de the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunitatea ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">codul sursă</a> este licențiat sub <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "după",
"User Documentation" : "Documentație utilizator",
"Administrator Documentation" : "Documentație administrator",
diff --git a/settings/l10n/ro.json b/settings/l10n/ro.json
index 0b0db32c56c..202eca186ba 100644
--- a/settings/l10n/ro.json
+++ b/settings/l10n/ro.json
@@ -81,7 +81,6 @@
"More" : "Mai mult",
"Less" : "Mai puțin",
"Version" : "Versiunea",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Dezvoltat de the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunitatea ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">codul sursă</a> este licențiat sub <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "după",
"User Documentation" : "Documentație utilizator",
"Administrator Documentation" : "Documentație administrator",
diff --git a/settings/l10n/ru.js b/settings/l10n/ru.js
index 16e649b2a03..7fdbccaf7b3 100644
--- a/settings/l10n/ru.js
+++ b/settings/l10n/ru.js
@@ -176,7 +176,6 @@ OC.L10N.register(
"More" : "Больше",
"Less" : "Меньше",
"Version" : "Версия",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Разрабатывается <a href=\"http://ownCloud.org/contact\" target=\"_blank\">сообществом ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">исходный код</a> доступен под лицензией <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Ещё приложения",
"Add your app" : "Добавить своё приложение",
"by" : "автор",
@@ -200,7 +199,6 @@ OC.L10N.register(
"Desktop client" : "Клиент для ПК",
"Android app" : "Android приложение",
"iOS app" : "iOS приложение",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Если вы хотите поддержать проект,\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">присоединяйтесь к разработке</a>\n\t\tили\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">содействуйте распространению</a>!",
"Show First Run Wizard again" : "Показать помощник настройки снова",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Вы использовали <strong>%s</strong> из доступных <strong>%s</strong>",
"Password" : "Пароль",
diff --git a/settings/l10n/ru.json b/settings/l10n/ru.json
index 6cda0e743a6..c75afa40d18 100644
--- a/settings/l10n/ru.json
+++ b/settings/l10n/ru.json
@@ -174,7 +174,6 @@
"More" : "Больше",
"Less" : "Меньше",
"Version" : "Версия",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Разрабатывается <a href=\"http://ownCloud.org/contact\" target=\"_blank\">сообществом ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">исходный код</a> доступен под лицензией <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Ещё приложения",
"Add your app" : "Добавить своё приложение",
"by" : "автор",
@@ -198,7 +197,6 @@
"Desktop client" : "Клиент для ПК",
"Android app" : "Android приложение",
"iOS app" : "iOS приложение",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Если вы хотите поддержать проект,\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">присоединяйтесь к разработке</a>\n\t\tили\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">содействуйте распространению</a>!",
"Show First Run Wizard again" : "Показать помощник настройки снова",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Вы использовали <strong>%s</strong> из доступных <strong>%s</strong>",
"Password" : "Пароль",
diff --git a/settings/l10n/si_LK.js b/settings/l10n/si_LK.js
index 44e1168dec1..dfe65fe1d89 100644
--- a/settings/l10n/si_LK.js
+++ b/settings/l10n/si_LK.js
@@ -26,7 +26,6 @@ OC.L10N.register(
"Port" : "තොට",
"More" : "වැඩි",
"Less" : "අඩු",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "නිපදන ලද්දේ <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud සමාජයෙන්</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">මුල් කේතය </a>ලයිසන්ස් කර ඇත්තේ <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> යටතේ.",
"by" : "විසින්",
"Password" : "මුර පදය",
"Your password was changed" : "ඔබගේ මුර පදය වෙනස් කෙරුණි",
diff --git a/settings/l10n/si_LK.json b/settings/l10n/si_LK.json
index 6ec5deb5a1f..f295fd21691 100644
--- a/settings/l10n/si_LK.json
+++ b/settings/l10n/si_LK.json
@@ -24,7 +24,6 @@
"Port" : "තොට",
"More" : "වැඩි",
"Less" : "අඩු",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "නිපදන ලද්දේ <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud සමාජයෙන්</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">මුල් කේතය </a>ලයිසන්ස් කර ඇත්තේ <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> යටතේ.",
"by" : "විසින්",
"Password" : "මුර පදය",
"Your password was changed" : "ඔබගේ මුර පදය වෙනස් කෙරුණි",
diff --git a/settings/l10n/sk_SK.js b/settings/l10n/sk_SK.js
index 34577fb084b..c342480cc68 100644
--- a/settings/l10n/sk_SK.js
+++ b/settings/l10n/sk_SK.js
@@ -176,7 +176,6 @@ OC.L10N.register(
"More" : "Viac",
"Less" : "Menej",
"Version" : "Verzia",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Vyvinuté <a href=\"http://ownCloud.org/contact\" target=\"_blank\">komunitou ownCloud</a>,<a href=\"https://github.com/owncloud\" target=\"_blank\">zdrojový kód</a> je licencovaný pod <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Viac aplikácií",
"Add your app" : "Pridať vašu aplikáciu",
"by" : "od",
@@ -200,7 +199,6 @@ OC.L10N.register(
"Desktop client" : "Desktopový klient",
"Android app" : "Android aplikácia",
"iOS app" : "iOS aplikácia",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Ak chcete podporiť projekt\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">pridajte sa do vývoja</a>\n\t\talebo\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">pomáhajte šíriť povedomie</a>!",
"Show First Run Wizard again" : "Znovu zobraziť sprievodcu prvým spustením",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Použili ste <strong>%s</strong> z <strong>%s</strong> dostupných ",
"Password" : "Heslo",
diff --git a/settings/l10n/sk_SK.json b/settings/l10n/sk_SK.json
index 1c45f961332..d638c878639 100644
--- a/settings/l10n/sk_SK.json
+++ b/settings/l10n/sk_SK.json
@@ -174,7 +174,6 @@
"More" : "Viac",
"Less" : "Menej",
"Version" : "Verzia",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Vyvinuté <a href=\"http://ownCloud.org/contact\" target=\"_blank\">komunitou ownCloud</a>,<a href=\"https://github.com/owncloud\" target=\"_blank\">zdrojový kód</a> je licencovaný pod <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Viac aplikácií",
"Add your app" : "Pridať vašu aplikáciu",
"by" : "od",
@@ -198,7 +197,6 @@
"Desktop client" : "Desktopový klient",
"Android app" : "Android aplikácia",
"iOS app" : "iOS aplikácia",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Ak chcete podporiť projekt\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">pridajte sa do vývoja</a>\n\t\talebo\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">pomáhajte šíriť povedomie</a>!",
"Show First Run Wizard again" : "Znovu zobraziť sprievodcu prvým spustením",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Použili ste <strong>%s</strong> z <strong>%s</strong> dostupných ",
"Password" : "Heslo",
diff --git a/settings/l10n/sl.js b/settings/l10n/sl.js
index 2280912d19b..42c85f42187 100644
--- a/settings/l10n/sl.js
+++ b/settings/l10n/sl.js
@@ -160,7 +160,6 @@ OC.L10N.register(
"More" : "Več",
"Less" : "Manj",
"Version" : "Različica",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Programski paket razvija <a href=\"http://ownCloud.org/contact\" target=\"_blank\">skupnost ownCloud</a>. <a href=\"https://github.com/owncloud\" target=\"_blank\">Izvorna koda</a> je objavljena pod pogoji <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Splošnega javnega dovoljenja Affero\">AGPL</abbr></a>.",
"More apps" : "Več programov",
"Add your app" : "Dodajte program",
"by" : "od",
@@ -181,7 +180,6 @@ OC.L10N.register(
"Desktop client" : "Namizni odjemalec",
"Android app" : "Program za Android",
"iOS app" : "Program za iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Če želite podpreti projekt,\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">prispevajte k razvoju</a>\n\t\tali pa\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">seznanite druge o zmožnostih oblaka.</a>!",
"Show First Run Wizard again" : "Zaženi čarovnika prvega zagona",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Uporabljenega je <strong>%s</strong> od razpoložljivih <strong>%s</strong> prostora.",
"Password" : "Geslo",
diff --git a/settings/l10n/sl.json b/settings/l10n/sl.json
index 75fc58bf008..57aa3377864 100644
--- a/settings/l10n/sl.json
+++ b/settings/l10n/sl.json
@@ -158,7 +158,6 @@
"More" : "Več",
"Less" : "Manj",
"Version" : "Različica",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Programski paket razvija <a href=\"http://ownCloud.org/contact\" target=\"_blank\">skupnost ownCloud</a>. <a href=\"https://github.com/owncloud\" target=\"_blank\">Izvorna koda</a> je objavljena pod pogoji <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Splošnega javnega dovoljenja Affero\">AGPL</abbr></a>.",
"More apps" : "Več programov",
"Add your app" : "Dodajte program",
"by" : "od",
@@ -179,7 +178,6 @@
"Desktop client" : "Namizni odjemalec",
"Android app" : "Program za Android",
"iOS app" : "Program za iOS",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Če želite podpreti projekt,\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">prispevajte k razvoju</a>\n\t\tali pa\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">seznanite druge o zmožnostih oblaka.</a>!",
"Show First Run Wizard again" : "Zaženi čarovnika prvega zagona",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Uporabljenega je <strong>%s</strong> od razpoložljivih <strong>%s</strong> prostora.",
"Password" : "Geslo",
diff --git a/settings/l10n/sq.js b/settings/l10n/sq.js
index a483f46166f..a878c4939e9 100644
--- a/settings/l10n/sq.js
+++ b/settings/l10n/sq.js
@@ -88,7 +88,6 @@ OC.L10N.register(
"More" : "Më tepër",
"Less" : "M'pak",
"Version" : "Versioni",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Zhvilluar nga <a href=\"http://ownCloud.org/contact\" target=\"_blank\">Komuniteti OwnCloud</a>, gjithashtu <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> është licensuar me anë të <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "nga",
"Documentation:" : "Dokumentacioni:",
"User Documentation" : "Dokumentacion përdoruesi",
diff --git a/settings/l10n/sq.json b/settings/l10n/sq.json
index b0f8e519285..940649710d4 100644
--- a/settings/l10n/sq.json
+++ b/settings/l10n/sq.json
@@ -86,7 +86,6 @@
"More" : "Më tepër",
"Less" : "M'pak",
"Version" : "Versioni",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Zhvilluar nga <a href=\"http://ownCloud.org/contact\" target=\"_blank\">Komuniteti OwnCloud</a>, gjithashtu <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> është licensuar me anë të <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "nga",
"Documentation:" : "Dokumentacioni:",
"User Documentation" : "Dokumentacion përdoruesi",
diff --git a/settings/l10n/sr.js b/settings/l10n/sr.js
index 915913b8950..04df4e1ab65 100644
--- a/settings/l10n/sr.js
+++ b/settings/l10n/sr.js
@@ -49,7 +49,6 @@ OC.L10N.register(
"More" : "Више",
"Less" : "Мање",
"Version" : "Верзија",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Развијају <a href=\"http://ownCloud.org/contact\" target=\"_blank\">Оунклауд (ownCloud) заједница</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">изворни код</a> је издат под <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Аферо Јавном Лиценцом (Affero General Public License)\">АГПЛ лиценцом</abbr></a>.",
"by" : "од",
"User Documentation" : "Корисничка документација",
"Administrator Documentation" : "Администраторска документација",
diff --git a/settings/l10n/sr.json b/settings/l10n/sr.json
index cb6bd430507..1f20857cad5 100644
--- a/settings/l10n/sr.json
+++ b/settings/l10n/sr.json
@@ -47,7 +47,6 @@
"More" : "Више",
"Less" : "Мање",
"Version" : "Верзија",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Развијају <a href=\"http://ownCloud.org/contact\" target=\"_blank\">Оунклауд (ownCloud) заједница</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">изворни код</a> је издат под <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Аферо Јавном Лиценцом (Affero General Public License)\">АГПЛ лиценцом</abbr></a>.",
"by" : "од",
"User Documentation" : "Корисничка документација",
"Administrator Documentation" : "Администраторска документација",
diff --git a/settings/l10n/sv.js b/settings/l10n/sv.js
index 150ed74b977..5666613033d 100644
--- a/settings/l10n/sv.js
+++ b/settings/l10n/sv.js
@@ -172,7 +172,6 @@ OC.L10N.register(
"More" : "Mer",
"Less" : "Mindre",
"Version" : "Version",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Utvecklad av <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud Community</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">källkoden</a> är licenserad under <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Fler appar",
"Add your app" : "Lägg till din app",
"by" : "av",
@@ -196,7 +195,6 @@ OC.L10N.register(
"Desktop client" : "Skrivbordsklient",
"Android app" : "Android-app",
"iOS app" : "iOS-app",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Om du vill stödja projektet\n<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">hjälp till med utvecklingen</a>\n\t\teller\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">sprid budskapet vidare</a>!",
"Show First Run Wizard again" : "Visa Första uppstarts-guiden igen",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Du har använt <strong>%s</strong> av tillgängliga <strong>%s</strong>",
"Password" : "Lösenord",
diff --git a/settings/l10n/sv.json b/settings/l10n/sv.json
index b0a65798e36..f7dc49fb1a8 100644
--- a/settings/l10n/sv.json
+++ b/settings/l10n/sv.json
@@ -170,7 +170,6 @@
"More" : "Mer",
"Less" : "Mindre",
"Version" : "Version",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Utvecklad av <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud Community</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">källkoden</a> är licenserad under <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Fler appar",
"Add your app" : "Lägg till din app",
"by" : "av",
@@ -194,7 +193,6 @@
"Desktop client" : "Skrivbordsklient",
"Android app" : "Android-app",
"iOS app" : "iOS-app",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Om du vill stödja projektet\n<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">hjälp till med utvecklingen</a>\n\t\teller\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">sprid budskapet vidare</a>!",
"Show First Run Wizard again" : "Visa Första uppstarts-guiden igen",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Du har använt <strong>%s</strong> av tillgängliga <strong>%s</strong>",
"Password" : "Lösenord",
diff --git a/settings/l10n/ta_LK.js b/settings/l10n/ta_LK.js
index 97e05966861..c1088c3ca83 100644
--- a/settings/l10n/ta_LK.js
+++ b/settings/l10n/ta_LK.js
@@ -25,7 +25,6 @@ OC.L10N.register(
"Credentials" : "சான்று ஆவணங்கள்",
"More" : "மேலதிக",
"Less" : "குறைவான",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "மூலம்",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "நீங்கள் <strong>%s</strong> இலுள்ள <strong>%s</strong>பயன்படுத்தியுள்ளீர்கள்",
"Password" : "கடவுச்சொல்",
diff --git a/settings/l10n/ta_LK.json b/settings/l10n/ta_LK.json
index 7f01a9150d3..8e13b58deae 100644
--- a/settings/l10n/ta_LK.json
+++ b/settings/l10n/ta_LK.json
@@ -23,7 +23,6 @@
"Credentials" : "சான்று ஆவணங்கள்",
"More" : "மேலதிக",
"Less" : "குறைவான",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "மூலம்",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "நீங்கள் <strong>%s</strong> இலுள்ள <strong>%s</strong>பயன்படுத்தியுள்ளீர்கள்",
"Password" : "கடவுச்சொல்",
diff --git a/settings/l10n/th_TH.js b/settings/l10n/th_TH.js
index 99e44100214..95023aa083c 100644
--- a/settings/l10n/th_TH.js
+++ b/settings/l10n/th_TH.js
@@ -40,7 +40,6 @@ OC.L10N.register(
"More" : "มาก",
"Less" : "น้อย",
"Version" : "รุ่น",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "พัฒนาโดย the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ชุมชนผู้ใช้งาน ownCloud</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">ซอร์สโค้ด</a>อยู่ภายใต้สัญญาอนุญาตของ <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "โดย",
"User Documentation" : "เอกสารคู่มือการใช้งานสำหรับผู้ใช้งาน",
"Administrator Documentation" : "เอกสารคู่มือการใช้งานสำหรับผู้ดูแลระบบ",
diff --git a/settings/l10n/th_TH.json b/settings/l10n/th_TH.json
index b2dddc747ea..6141d0f9507 100644
--- a/settings/l10n/th_TH.json
+++ b/settings/l10n/th_TH.json
@@ -38,7 +38,6 @@
"More" : "มาก",
"Less" : "น้อย",
"Version" : "รุ่น",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "พัฒนาโดย the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ชุมชนผู้ใช้งาน ownCloud</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">ซอร์สโค้ด</a>อยู่ภายใต้สัญญาอนุญาตของ <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "โดย",
"User Documentation" : "เอกสารคู่มือการใช้งานสำหรับผู้ใช้งาน",
"Administrator Documentation" : "เอกสารคู่มือการใช้งานสำหรับผู้ดูแลระบบ",
diff --git a/settings/l10n/tr.js b/settings/l10n/tr.js
index 7fddd8eb98e..762e7f9fce8 100644
--- a/settings/l10n/tr.js
+++ b/settings/l10n/tr.js
@@ -1,7 +1,7 @@
OC.L10N.register(
"settings",
{
- "Security & Setup Warnings" : "Güvelik ve Kurulum Uyarıları",
+ "Security & Setup Warnings" : "Güvenlik ve Kurulum Uyarıları",
"Cron" : "Cron",
"Sharing" : "Paylaşım",
"Security" : "Güvenlik",
@@ -28,6 +28,7 @@ OC.L10N.register(
"No user supplied" : "Kullanıcı girilmedi",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Lütfen yönetici kurtarma parolasını girin, aksi takdirde tüm kullanıcı verisi kaybedilecek",
"Wrong admin recovery password. Please check the password and try again." : "Hatalı yönetici kurtarma parolası. Lütfen parolayı denetleyip yeniden deneyin.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Arka uç, parola değiştirmesini desteklemiyor, ancak kullanıcı şifreleme anahtarı başarıyla güncellendi.",
"Unable to change password" : "Parola değiştirilemiyor",
"Enabled" : "Etkin",
"Not enabled" : "Etkin değil",
@@ -175,8 +176,8 @@ OC.L10N.register(
"Download logfile" : "Günlük dosyasını indir",
"More" : "Daha fazla",
"Less" : "Daha az",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Günlük dosyası 100 MB'dan daha büyük. İndirmek zaman alabilir!",
"Version" : "Sürüm",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud topluluğu</a> tarafından geliştirilmiş olup, <a href=\"https://github.com/owncloud\" target=\"_blank\">kaynak kodu</a>, <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> altında lisanslanmıştır.",
"More apps" : "Daha fazla uygulama",
"Add your app" : "Uygulamanızı ekleyin",
"by" : "Yazan:",
@@ -200,7 +201,7 @@ OC.L10N.register(
"Desktop client" : "Masaüstü istemcisi",
"Android app" : "Android uygulaması",
"iOS app" : "iOS uygulaması",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Projeyi desteklemek istiyorsanız\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">geliştirilmesine katılın</a>\n\t\tveya\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">bizi duyurun</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Projeyi desteklemek istiyorsanız\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">geliştirilmesine katılın</a>\n\t\tveya\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">duyurun</a>!",
"Show First Run Wizard again" : "İlk Çalıştırma Sihirbazı'nı yeniden göster",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Kullandığınız: <strong>%s</strong>. Kullanılabilir alan: <strong>%s</strong>",
"Password" : "Parola",
@@ -215,6 +216,7 @@ OC.L10N.register(
"Your email address" : "E-posta adresiniz",
"Fill in an email address to enable password recovery and receive notifications" : "Parola kurtarmayı ve bildirim almayı açmak için bir e-posta adresi girin",
"No email address set" : "E-posta adresi ayarlanmamış",
+ "You are member of the following groups:" : "Şu grupların üyesisiniz:",
"Profile picture" : "Profil resmi",
"Upload new" : "Yeni yükle",
"Select new from Files" : "Dosyalardan seç",
@@ -236,6 +238,7 @@ OC.L10N.register(
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Şifreleme anahtarlarınız yedek bir konuma taşındı. Eğer bir şeyler yanlış gittiyse, anahtarlarınızı geri yükleyebilirsiniz. Bu anahtarları, sadece tüm dosyalarınızın şifrelemelerinin düzgün bir şekilde kaldırıldığından eminseniz kalıcı olarak silin.",
"Restore Encryption Keys" : "Şifreleme Anahtarlarını Geri Yükle",
"Delete Encryption Keys" : "Şifreleme Anahtarlarını Sil",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "{communityopen}ownCloud topluluğu tarafından{linkclose} geliştirildi. {githubopen}Kaynak kodu{linkclose}, {licenseopen}<abbr title=\"Affero Genel Kamu Lisansı\">AGPL</abbr>{linkclose} ile lisanslanmıştır.",
"Show storage location" : "Depolama konumunu göster",
"Show last log in" : "Son oturum açılma zamanını göster",
"Show user backend" : "Kullanıcı arka ucunu göster",
diff --git a/settings/l10n/tr.json b/settings/l10n/tr.json
index 223d995388b..3a78787ea7d 100644
--- a/settings/l10n/tr.json
+++ b/settings/l10n/tr.json
@@ -1,5 +1,5 @@
{ "translations": {
- "Security & Setup Warnings" : "Güvelik ve Kurulum Uyarıları",
+ "Security & Setup Warnings" : "Güvenlik ve Kurulum Uyarıları",
"Cron" : "Cron",
"Sharing" : "Paylaşım",
"Security" : "Güvenlik",
@@ -26,6 +26,7 @@
"No user supplied" : "Kullanıcı girilmedi",
"Please provide an admin recovery password, otherwise all user data will be lost" : "Lütfen yönetici kurtarma parolasını girin, aksi takdirde tüm kullanıcı verisi kaybedilecek",
"Wrong admin recovery password. Please check the password and try again." : "Hatalı yönetici kurtarma parolası. Lütfen parolayı denetleyip yeniden deneyin.",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Arka uç, parola değiştirmesini desteklemiyor, ancak kullanıcı şifreleme anahtarı başarıyla güncellendi.",
"Unable to change password" : "Parola değiştirilemiyor",
"Enabled" : "Etkin",
"Not enabled" : "Etkin değil",
@@ -173,8 +174,8 @@
"Download logfile" : "Günlük dosyasını indir",
"More" : "Daha fazla",
"Less" : "Daha az",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Günlük dosyası 100 MB'dan daha büyük. İndirmek zaman alabilir!",
"Version" : "Sürüm",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud topluluğu</a> tarafından geliştirilmiş olup, <a href=\"https://github.com/owncloud\" target=\"_blank\">kaynak kodu</a>, <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> altında lisanslanmıştır.",
"More apps" : "Daha fazla uygulama",
"Add your app" : "Uygulamanızı ekleyin",
"by" : "Yazan:",
@@ -198,7 +199,7 @@
"Desktop client" : "Masaüstü istemcisi",
"Android app" : "Android uygulaması",
"iOS app" : "iOS uygulaması",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Projeyi desteklemek istiyorsanız\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">geliştirilmesine katılın</a>\n\t\tveya\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">bizi duyurun</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Projeyi desteklemek istiyorsanız\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">geliştirilmesine katılın</a>\n\t\tveya\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">duyurun</a>!",
"Show First Run Wizard again" : "İlk Çalıştırma Sihirbazı'nı yeniden göster",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Kullandığınız: <strong>%s</strong>. Kullanılabilir alan: <strong>%s</strong>",
"Password" : "Parola",
@@ -213,6 +214,7 @@
"Your email address" : "E-posta adresiniz",
"Fill in an email address to enable password recovery and receive notifications" : "Parola kurtarmayı ve bildirim almayı açmak için bir e-posta adresi girin",
"No email address set" : "E-posta adresi ayarlanmamış",
+ "You are member of the following groups:" : "Şu grupların üyesisiniz:",
"Profile picture" : "Profil resmi",
"Upload new" : "Yeni yükle",
"Select new from Files" : "Dosyalardan seç",
@@ -234,6 +236,7 @@
"Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Şifreleme anahtarlarınız yedek bir konuma taşındı. Eğer bir şeyler yanlış gittiyse, anahtarlarınızı geri yükleyebilirsiniz. Bu anahtarları, sadece tüm dosyalarınızın şifrelemelerinin düzgün bir şekilde kaldırıldığından eminseniz kalıcı olarak silin.",
"Restore Encryption Keys" : "Şifreleme Anahtarlarını Geri Yükle",
"Delete Encryption Keys" : "Şifreleme Anahtarlarını Sil",
+ "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "{communityopen}ownCloud topluluğu tarafından{linkclose} geliştirildi. {githubopen}Kaynak kodu{linkclose}, {licenseopen}<abbr title=\"Affero Genel Kamu Lisansı\">AGPL</abbr>{linkclose} ile lisanslanmıştır.",
"Show storage location" : "Depolama konumunu göster",
"Show last log in" : "Son oturum açılma zamanını göster",
"Show user backend" : "Kullanıcı arka ucunu göster",
diff --git a/settings/l10n/uk.js b/settings/l10n/uk.js
index d533746ef4b..95e2061b2eb 100644
--- a/settings/l10n/uk.js
+++ b/settings/l10n/uk.js
@@ -170,7 +170,6 @@ OC.L10N.register(
"More" : "Більше",
"Less" : "Менше",
"Version" : "Версія",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Розроблено <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud громадою</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">вихідний код</a> має ліцензію <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Більше додатків",
"Add your app" : "Додати свій додаток",
"by" : "по",
@@ -194,7 +193,6 @@ OC.L10N.register(
"Desktop client" : "Клієнт для ПК",
"Android app" : "Android-додаток",
"iOS app" : "iOS додаток",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Якщо ви бажаєте підтримати прект\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥target=\"_blank\">приєднуйтесь до розробки</a>\n⇥⇥або\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥target=\"_blank\">розкажіть про нас</a>!",
"Show First Run Wizard again" : "Показувати Майстер Налаштувань знову",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Ви використали <strong>%s</strong> із доступних <strong>%s</strong>",
"Password" : "Пароль",
diff --git a/settings/l10n/uk.json b/settings/l10n/uk.json
index 9d4d25095a0..12d6f84ec63 100644
--- a/settings/l10n/uk.json
+++ b/settings/l10n/uk.json
@@ -168,7 +168,6 @@
"More" : "Більше",
"Less" : "Менше",
"Version" : "Версія",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Розроблено <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud громадою</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">вихідний код</a> має ліцензію <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"More apps" : "Більше додатків",
"Add your app" : "Додати свій додаток",
"by" : "по",
@@ -192,7 +191,6 @@
"Desktop client" : "Клієнт для ПК",
"Android app" : "Android-додаток",
"iOS app" : "iOS додаток",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "Якщо ви бажаєте підтримати прект\n⇥⇥<a href=\"https://owncloud.org/contribute\"\n⇥⇥target=\"_blank\">приєднуйтесь до розробки</a>\n⇥⇥або\n⇥⇥<a href=\"https://owncloud.org/promote\"\n⇥⇥target=\"_blank\">розкажіть про нас</a>!",
"Show First Run Wizard again" : "Показувати Майстер Налаштувань знову",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Ви використали <strong>%s</strong> із доступних <strong>%s</strong>",
"Password" : "Пароль",
diff --git a/settings/l10n/vi.js b/settings/l10n/vi.js
index 4e2a994628c..4a1fe013e64 100644
--- a/settings/l10n/vi.js
+++ b/settings/l10n/vi.js
@@ -42,7 +42,6 @@ OC.L10N.register(
"More" : "hơn",
"Less" : "ít",
"Version" : "Phiên bản",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Được phát triển bởi <a href=\"http://ownCloud.org/contact\" target=\"_blank\">cộng đồng ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">mã nguồn </a> đã được cấp phép theo chuẩn <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "bởi",
"User Documentation" : "Tài liệu người sử dụng",
"Cheers!" : "Chúc mừng!",
diff --git a/settings/l10n/vi.json b/settings/l10n/vi.json
index c875e9aa622..7d883c9cfc8 100644
--- a/settings/l10n/vi.json
+++ b/settings/l10n/vi.json
@@ -40,7 +40,6 @@
"More" : "hơn",
"Less" : "ít",
"Version" : "Phiên bản",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "Được phát triển bởi <a href=\"http://ownCloud.org/contact\" target=\"_blank\">cộng đồng ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">mã nguồn </a> đã được cấp phép theo chuẩn <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"by" : "bởi",
"User Documentation" : "Tài liệu người sử dụng",
"Cheers!" : "Chúc mừng!",
diff --git a/settings/l10n/zh_CN.js b/settings/l10n/zh_CN.js
index 65bb488c433..9b91fd3cae9 100644
--- a/settings/l10n/zh_CN.js
+++ b/settings/l10n/zh_CN.js
@@ -142,7 +142,6 @@ OC.L10N.register(
"More" : "更多",
"Less" : "更少",
"Version" : "版本",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "由<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud社区</a>开发, <a href=\"https://github.com/owncloud\" target=\"_blank\">源代码</a>在<a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>许可证下发布。",
"More apps" : "更多应用",
"by" : "被",
"Documentation:" : "文档:",
@@ -157,7 +156,6 @@ OC.L10N.register(
"Bugtracker" : "问题跟踪器",
"Commercial Support" : "商业支持",
"Get the apps to sync your files" : "安装应用进行文件同步",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "<a href=\"https://owncloud.org/contribute\"\n\ttarget=\"_blank\">加入开发</a>\n或\n<a href=\"https://owncloud.org/promote\"\n\ttarget=\"_blank\">帮助推广</a>以支持本项目!",
"Show First Run Wizard again" : "再次显示首次运行向导",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "你已使用 <strong>%s</strong>,有效空间 <strong>%s</strong>",
"Password" : "密码",
diff --git a/settings/l10n/zh_CN.json b/settings/l10n/zh_CN.json
index 8006d8bfc4c..4fddc4e3514 100644
--- a/settings/l10n/zh_CN.json
+++ b/settings/l10n/zh_CN.json
@@ -140,7 +140,6 @@
"More" : "更多",
"Less" : "更少",
"Version" : "版本",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "由<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud社区</a>开发, <a href=\"https://github.com/owncloud\" target=\"_blank\">源代码</a>在<a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>许可证下发布。",
"More apps" : "更多应用",
"by" : "被",
"Documentation:" : "文档:",
@@ -155,7 +154,6 @@
"Bugtracker" : "问题跟踪器",
"Commercial Support" : "商业支持",
"Get the apps to sync your files" : "安装应用进行文件同步",
- "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\">spread the word</a>!" : "<a href=\"https://owncloud.org/contribute\"\n\ttarget=\"_blank\">加入开发</a>\n或\n<a href=\"https://owncloud.org/promote\"\n\ttarget=\"_blank\">帮助推广</a>以支持本项目!",
"Show First Run Wizard again" : "再次显示首次运行向导",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" : "你已使用 <strong>%s</strong>,有效空间 <strong>%s</strong>",
"Password" : "密码",
diff --git a/settings/l10n/zh_TW.js b/settings/l10n/zh_TW.js
index 76489969f01..e4f39a273b8 100644
--- a/settings/l10n/zh_TW.js
+++ b/settings/l10n/zh_TW.js
@@ -93,6 +93,7 @@ OC.L10N.register(
"Allow apps to use the Share API" : "允許 apps 使用分享 API",
"Allow public uploads" : "允許任何人上傳",
"Allow users to send mail notification for shared files" : "允許使用者寄送有關分享檔案的郵件通知",
+ "days" : "天",
"Allow resharing" : "允許轉貼分享",
"Enforce HTTPS" : "強制啟用 HTTPS",
"Forces the clients to connect to %s via an encrypted connection." : "強迫用戶端使用加密連線連接到 %s",
@@ -113,7 +114,6 @@ OC.L10N.register(
"More" : "更多",
"Less" : "更少",
"Version" : "版本",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "由 <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud 社群</a>開發,<a href=\"https://github.com/owncloud\" target=\"_blank\">原始碼</a>在 <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> 授權許可下發布。",
"More apps" : "更多 Apps",
"by" : "由",
"Documentation:" : "文件:",
diff --git a/settings/l10n/zh_TW.json b/settings/l10n/zh_TW.json
index 48b6a0d2f36..ac0efa8f086 100644
--- a/settings/l10n/zh_TW.json
+++ b/settings/l10n/zh_TW.json
@@ -91,6 +91,7 @@
"Allow apps to use the Share API" : "允許 apps 使用分享 API",
"Allow public uploads" : "允許任何人上傳",
"Allow users to send mail notification for shared files" : "允許使用者寄送有關分享檔案的郵件通知",
+ "days" : "天",
"Allow resharing" : "允許轉貼分享",
"Enforce HTTPS" : "強制啟用 HTTPS",
"Forces the clients to connect to %s via an encrypted connection." : "強迫用戶端使用加密連線連接到 %s",
@@ -111,7 +112,6 @@
"More" : "更多",
"Less" : "更少",
"Version" : "版本",
- "Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." : "由 <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud 社群</a>開發,<a href=\"https://github.com/owncloud\" target=\"_blank\">原始碼</a>在 <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> 授權許可下發布。",
"More apps" : "更多 Apps",
"by" : "由",
"Documentation:" : "文件:",
diff --git a/settings/routes.php b/settings/routes.php
index 150746665d3..942d9b0fb28 100644
--- a/settings/routes.php
+++ b/settings/routes.php
@@ -37,8 +37,6 @@ $this->create('settings_help', '/settings/help')
->actionInclude('settings/help.php');
$this->create('settings_personal', '/settings/personal')
->actionInclude('settings/personal.php');
-$this->create('settings_settings', '/settings')
- ->actionInclude('settings/settings.php');
$this->create('settings_users', '/settings/users')
->actionInclude('settings/users.php');
$this->create('settings_apps', '/settings/apps')
diff --git a/settings/settings.php b/settings/settings.php
deleted file mode 100644
index c08732fcf66..00000000000
--- a/settings/settings.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-/**
- * Copyright (c) 2011, Robin Appelman <icewind1991@gmail.com>
- * This file is licensed under the Affero General Public License version 3 or later.
- * See the COPYING-README file.
- */
-
-OC_Util::checkLoggedIn();
-
-OC_Util::addStyle( 'settings', 'settings' );
-OC_App::setActiveNavigationEntry( 'settings' );
-
-$tmpl = new OC_Template( 'settings', 'settings', 'user');
-$forms=OC_App::getForms('settings');
-$tmpl->assign('forms', array());
-foreach($forms as $form) {
- $tmpl->append('forms', $form);
-}
-$tmpl->printPage();
diff --git a/settings/templates/admin.php b/settings/templates/admin.php
index a739e517ede..1f7eacd746b 100644
--- a/settings/templates/admin.php
+++ b/settings/templates/admin.php
@@ -143,9 +143,24 @@ if ($_['WindowsWarning']) {
</p>
</div>
+
<?php
}
+// APCU Warning if outdated
+if ($_['ApcuOutdatedWarning']) {
+ ?>
+ <div class="section">
+ <h2><?php p($l->t('APCu below version 4.0.6 installed'));?></h2>
+
+ <p class="securitywarning">
+ <?php p($l->t('APCu below version 4.0.6 is installed, for stability and performance reasons we recommend to update to a newer APCu version.')); ?>
+ </p>
+
+ </div>
+
+<?php
+}
// if module fileinfo available?
if (!$_['has_fileinfo']) {
?>
@@ -525,11 +540,7 @@ if ($_['suggestedOverwriteCliUrl']) {
<div class="section">
<h2><?php p($l->t('Version'));?></h2>
<strong><?php p($theme->getTitle()); ?></strong> <?php p(OC_Util::getHumanVersion()) ?>
-<?php if (OC_Util::getEditionString() === ''): ?>
- <p>
- <?php print_unescaped($l->t('Developed by the <a href="http://ownCloud.org/contact" target="_blank">ownCloud community</a>, the <a href="https://github.com/owncloud" target="_blank">source code</a> is licensed under the <a href="http://www.gnu.org/licenses/agpl-3.0.html" target="_blank"><abbr title="Affero General Public License">AGPL</abbr></a>.')); ?>
- </p>
-<?php endif; ?>
+ <?php include('settings.development.notice.php'); ?>
</div>
<div class="section credits-footer">
diff --git a/settings/templates/help.php b/settings/templates/help.php
index 403dde30dae..f559329c6bb 100644
--- a/settings/templates/help.php
+++ b/settings/templates/help.php
@@ -16,12 +16,12 @@
<?php } ?>
<li>
- <a href="http://owncloud.org/support" target="_blank">
+ <a href="https://owncloud.org/support" target="_blank" rel="noreferrer">
<?php p($l->t( 'Online Documentation' )); ?> ↗
</a>
</li>
<li>
- <a href="https://forum.owncloud.org" target="_blank">
+ <a href="https://forum.owncloud.org" target="_blank" rel="noreferrer">
<?php p($l->t( 'Forum' )); ?> ↗
</a>
</li>
@@ -29,14 +29,14 @@
<?php if($_['admin']) { ?>
<li>
<a href="https://github.com/owncloud/core/blob/master/CONTRIBUTING.md"
- target="_blank">
+ target="_blank" rel="noreferrer">
<?php p($l->t( 'Bugtracker' )); ?> ↗
</a>
</li>
<?php } ?>
<li>
- <a href="https://owncloud.com" target="_blank">
+ <a href="https://owncloud.com" target="_blank" rel="noreferrer">
<?php p($l->t( 'Commercial Support' )); ?> ↗
</a>
</li>
diff --git a/settings/templates/personal.php b/settings/templates/personal.php
index 02e61287937..f48737b6db7 100644
--- a/settings/templates/personal.php
+++ b/settings/templates/personal.php
@@ -40,10 +40,10 @@
<p class="center">
<?php print_unescaped($l->t('If you want to support the project
<a href="https://owncloud.org/contribute"
- target="_blank">join development</a>
+ target="_blank" rel="noreferrer">join development</a>
or
<a href="https://owncloud.org/promote"
- target="_blank">spread the word</a>!'));?>
+ target="_blank" rel="noreferrer">spread the word</a>!'));?>
</p>
<?php endif; ?>
@@ -189,7 +189,7 @@ if($_['passwordChangeSupported']) {
</select>
<?php if (OC_Util::getEditionString() === ''): ?>
<a href="https://www.transifex.com/projects/p/owncloud/team/<?php p($_['activelanguage']['code']);?>/"
- target="_blank">
+ target="_blank" rel="noreferrer">
<em><?php p($l->t('Help translate'));?></em>
</a>
<?php endif; ?>
@@ -294,9 +294,7 @@ if($_['passwordChangeSupported']) {
<div class="section">
<h2><?php p($l->t('Version'));?></h2>
<strong><?php p($theme->getTitle()); ?></strong> <?php p(OC_Util::getHumanVersion()) ?><br />
-<?php if (OC_Util::getEditionString() === ''): ?>
- <?php print_unescaped($l->t('Developed by the <a href="http://ownCloud.org/contact" target="_blank">ownCloud community</a>, the <a href="https://github.com/owncloud" target="_blank">source code</a> is licensed under the <a href="http://www.gnu.org/licenses/agpl-3.0.html" target="_blank"><abbr title="Affero General Public License">AGPL</abbr></a>.')); ?>
-<?php endif; ?>
+ <?php include('settings.development.notice.php'); ?>
</div>
<div class="section credits-footer">
diff --git a/settings/templates/settings.development.notice.php b/settings/templates/settings.development.notice.php
new file mode 100644
index 00000000000..c88c90f6b6b
--- /dev/null
+++ b/settings/templates/settings.development.notice.php
@@ -0,0 +1,19 @@
+<?php if (OC_Util::getEditionString() === ''): ?>
+ <p>
+ <?php print_unescaped(str_replace(
+ [
+ '{communityopen}',
+ '{githubopen}',
+ '{licenseopen}',
+ '{linkclose}',
+ ],
+ [
+ '<a href="https://owncloud.org/contact" target="_blank" rel="noreferrer">',
+ '<a href="https://github.com/owncloud" target="_blank" rel="noreferrer">',
+ '<a href="https://www.gnu.org/licenses/agpl-3.0.html" target="_blank" rel="noreferrer">',
+ '</a>',
+ ],
+ $l->t('Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title="Affero General Public License">AGPL</abbr>{linkclose}.')
+ )); ?>
+ </p>
+<?php endif; ?>
diff --git a/tests/data/app/code-checker/test-const.php b/tests/data/app/code-checker/test-const.php
new file mode 100644
index 00000000000..2af6baf2f3d
--- /dev/null
+++ b/tests/data/app/code-checker/test-const.php
@@ -0,0 +1,10 @@
+<?php
+
+/**
+ * Class BadClass - accessing consts on blacklisted classes is not allowed
+ */
+class BadClass {
+ public function foo() {
+ $bar = OC_API::ADMIN_AUTH;
+ }
+}
diff --git a/tests/data/app/code-checker/test-extends.php b/tests/data/app/code-checker/test-extends.php
new file mode 100644
index 00000000000..39d29da92dc
--- /dev/null
+++ b/tests/data/app/code-checker/test-extends.php
@@ -0,0 +1,8 @@
+<?php
+
+/**
+ * Class BadClass - sub class a forbidden class is not allowed
+ */
+class BadClass extends OC_Hook {
+
+}
diff --git a/tests/data/app/code-checker/test-implements.php b/tests/data/app/code-checker/test-implements.php
new file mode 100644
index 00000000000..3bf2f959b52
--- /dev/null
+++ b/tests/data/app/code-checker/test-implements.php
@@ -0,0 +1,9 @@
+<?php
+
+/**
+ * Class BadClass - sub class a forbidden class is not allowed
+ * NOTE: lowercase typo is intended
+ */
+class BadClass implements oC_Avatar {
+
+}
diff --git a/tests/data/app/code-checker/test-new.php b/tests/data/app/code-checker/test-new.php
new file mode 100644
index 00000000000..0522d473d96
--- /dev/null
+++ b/tests/data/app/code-checker/test-new.php
@@ -0,0 +1,10 @@
+<?php
+
+/**
+ * Class BadClass - creating an instance of a blacklisted class is not allowed
+ */
+class BadClass {
+ public function foo() {
+ $bar = new OC_AppConfig();
+ }
+}
diff --git a/tests/data/app/code-checker/test-static-call.php b/tests/data/app/code-checker/test-static-call.php
new file mode 100644
index 00000000000..4afe0b1174d
--- /dev/null
+++ b/tests/data/app/code-checker/test-static-call.php
@@ -0,0 +1,10 @@
+<?php
+
+/**
+ * Class BadClass - calling static methods on blacklisted classes is not allowed
+ */
+class BadClass {
+ public function foo() {
+ OC_App::isEnabled('bar');
+ }
+}
diff --git a/tests/lib/app/codechecker.php b/tests/lib/app/codechecker.php
new file mode 100644
index 00000000000..64403fd0f23
--- /dev/null
+++ b/tests/lib/app/codechecker.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Copyright (c) 2015 Thomas Müller <deepdiver@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace Test\App;
+
+use OC;
+
+class CodeChecker extends \Test\TestCase {
+
+ /**
+ * @dataProvider providesFilesToCheck
+ * @param $expectedErrors
+ * @param $fileToVerify
+ */
+ public function testFindInvalidUsage($expectedErrorToken, $expectedErrorCode, $fileToVerify) {
+ $checker = new OC\App\CodeChecker();
+ $errors = $checker->analyseFile(OC::$SERVERROOT . "/tests/data/app/code-checker/$fileToVerify");
+
+ $this->assertEquals(1, count($errors));
+ $this->assertEquals($expectedErrorCode, $errors[0]['errorCode']);
+ $this->assertEquals($expectedErrorToken, $errors[0]['disallowedToken']);
+ }
+
+ public function providesFilesToCheck() {
+ return [
+ ['OC_Hook', 1000, 'test-extends.php'],
+ ['oC_Avatar', 1001, 'test-implements.php'],
+ ['OC_App', 1002, 'test-static-call.php'],
+ ['OC_API', 1003, 'test-const.php'],
+ ['OC_AppConfig', 1004, 'test-new.php'],
+ ];
+ }
+}
diff --git a/tests/lib/appframework/controller/ApiControllerTest.php b/tests/lib/appframework/controller/ApiControllerTest.php
index b2e52cc0b5c..137e5950f67 100644
--- a/tests/lib/appframework/controller/ApiControllerTest.php
+++ b/tests/lib/appframework/controller/ApiControllerTest.php
@@ -37,7 +37,8 @@ class ApiControllerTest extends \Test\TestCase {
public function testCors() {
$request = new Request(
['server' => ['HTTP_ORIGIN' => 'test']],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
);
$this->controller = new ChildApiController('app', $request, 'verbs',
'headers', 100);
diff --git a/tests/lib/appframework/controller/ControllerTest.php b/tests/lib/appframework/controller/ControllerTest.php
index 58395d05914..78c0d9d15a1 100644
--- a/tests/lib/appframework/controller/ControllerTest.php
+++ b/tests/lib/appframework/controller/ControllerTest.php
@@ -75,7 +75,8 @@ class ControllerTest extends \Test\TestCase {
'session' => ['sezession' => 'kein'],
'method' => 'hi',
],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
);
$this->app = $this->getMock('OC\AppFramework\DependencyInjection\DIContainer',
diff --git a/tests/lib/appframework/controller/OCSControllerTest.php b/tests/lib/appframework/controller/OCSControllerTest.php
index 3b4de1d7a05..11a9d45eb92 100644
--- a/tests/lib/appframework/controller/OCSControllerTest.php
+++ b/tests/lib/appframework/controller/OCSControllerTest.php
@@ -33,11 +33,17 @@ class ChildOCSController extends OCSController {}
class OCSControllerTest extends \Test\TestCase {
+ private $controller;
public function testCors() {
$request = new Request(
- array('server' => array('HTTP_ORIGIN' => 'test')),
- $this->getMock('\OCP\Security\ISecureRandom')
+ [
+ 'server' => [
+ 'HTTP_ORIGIN' => 'test',
+ ],
+ ],
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
);
$controller = new ChildOCSController('app', $request, 'verbs',
'headers', 100);
@@ -57,7 +63,8 @@ class OCSControllerTest extends \Test\TestCase {
public function testXML() {
$controller = new ChildOCSController('app', new Request(
[],
- $this->getMock('\OCP\Security\ISecureRandom')
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
));
$expected = "<?xml version=\"1.0\"?>\n" .
"<ocs>\n" .
@@ -86,7 +93,8 @@ class OCSControllerTest extends \Test\TestCase {
public function testXMLDataResponse() {
$controller = new ChildOCSController('app', new Request(
[],
- $this->getMock('\OCP\Security\ISecureRandom')
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
));
$expected = "<?xml version=\"1.0\"?>\n" .
"<ocs>\n" .
@@ -115,7 +123,8 @@ class OCSControllerTest extends \Test\TestCase {
public function testJSON() {
$controller = new ChildOCSController('app', new Request(
[],
- $this->getMock('\OCP\Security\ISecureRandom')
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
));
$expected = '{"status":"OK","statuscode":400,"message":"OK",' .
'"totalitems":"","itemsperpage":"","data":{"test":"hi"}}';
diff --git a/tests/lib/appframework/dependencyinjection/DIContainerTest.php b/tests/lib/appframework/dependencyinjection/DIContainerTest.php
index 43309f64e63..0cbdddbb205 100644
--- a/tests/lib/appframework/dependencyinjection/DIContainerTest.php
+++ b/tests/lib/appframework/dependencyinjection/DIContainerTest.php
@@ -73,7 +73,8 @@ class DIContainerTest extends \Test\TestCase {
public function testMiddlewareDispatcherIncludesSecurityMiddleware(){
$this->container['Request'] = new Request(
['method' => 'GET'],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
);
$security = $this->container['SecurityMiddleware'];
$dispatcher = $this->container['MiddlewareDispatcher'];
diff --git a/tests/lib/appframework/http/DispatcherTest.php b/tests/lib/appframework/http/DispatcherTest.php
index 832cd80e60a..02c86df8e72 100644
--- a/tests/lib/appframework/http/DispatcherTest.php
+++ b/tests/lib/appframework/http/DispatcherTest.php
@@ -24,7 +24,6 @@
namespace OC\AppFramework\Http;
-use OC\AppFramework\Middleware\MiddlewareDispatcher;
use OC\AppFramework\Utility\ControllerMethodReflector;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\JSONResponse;
@@ -33,6 +32,10 @@ use OCP\AppFramework\Controller;
class TestController extends Controller {
+ /**
+ * @param string $appName
+ * @param \OCP\IRequest $request
+ */
public function __construct($appName, $request) {
parent::__construct($appName, $request);
}
@@ -40,6 +43,9 @@ class TestController extends Controller {
/**
* @param int $int
* @param bool $bool
+ * @param int $test
+ * @param int $test2
+ * @return array
*/
public function exec($int, $bool, $test=4, $test2=1) {
$this->registerResponder('text', function($in) {
@@ -52,6 +58,9 @@ class TestController extends Controller {
/**
* @param int $int
* @param bool $bool
+ * @param int $test
+ * @param int $test2
+ * @return DataResponse
*/
public function execDataResponse($int, $bool, $test=4, $test2=1) {
return new DataResponse(array(
@@ -67,6 +76,7 @@ class DispatcherTest extends \Test\TestCase {
private $dispatcher;
private $controllerMethod;
private $response;
+ private $request;
private $lastModified;
private $etag;
private $http;
@@ -284,7 +294,8 @@ class DispatcherTest extends \Test\TestCase {
],
'method' => 'POST'
],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
);
$this->dispatcher = new Dispatcher(
$this->http, $this->middlewareDispatcher, $this->reflector,
@@ -310,7 +321,8 @@ class DispatcherTest extends \Test\TestCase {
],
'method' => 'POST',
],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
);
$this->dispatcher = new Dispatcher(
$this->http, $this->middlewareDispatcher, $this->reflector,
@@ -339,7 +351,8 @@ class DispatcherTest extends \Test\TestCase {
],
'method' => 'GET'
],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
);
$this->dispatcher = new Dispatcher(
$this->http, $this->middlewareDispatcher, $this->reflector,
@@ -367,7 +380,8 @@ class DispatcherTest extends \Test\TestCase {
],
'method' => 'GET'
],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
);
$this->dispatcher = new Dispatcher(
$this->http, $this->middlewareDispatcher, $this->reflector,
@@ -396,7 +410,8 @@ class DispatcherTest extends \Test\TestCase {
],
'method' => 'PUT'
],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
);
$this->dispatcher = new Dispatcher(
$this->http, $this->middlewareDispatcher, $this->reflector,
@@ -427,7 +442,8 @@ class DispatcherTest extends \Test\TestCase {
],
'method' => 'POST'
],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
);
$this->dispatcher = new Dispatcher(
$this->http, $this->middlewareDispatcher, $this->reflector,
diff --git a/tests/lib/appframework/http/RequestTest.php b/tests/lib/appframework/http/RequestTest.php
index eeba64b7f69..3185a0093c4 100644
--- a/tests/lib/appframework/http/RequestTest.php
+++ b/tests/lib/appframework/http/RequestTest.php
@@ -1,6 +1,8 @@
<?php
/**
- * Copyright (c) 2013 Thomas Tanghus (thomas@tanghus.net)
+ * @copyright 2013 Thomas Tanghus (thomas@tanghus.net)
+ * @copyright 2015 Lukas Reschke lukas@owncloud.com
+ *
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
@@ -9,12 +11,20 @@
namespace OC\AppFramework\Http;
use OCP\Security\ISecureRandom;
+use OCP\IConfig;
+/**
+ * Class RequestTest
+ *
+ * @package OC\AppFramework\Http
+ */
class RequestTest extends \Test\TestCase {
/** @var string */
protected $stream = 'fakeinput://data';
/** @var ISecureRandom */
protected $secureRandom;
+ /** @var IConfig */
+ protected $config;
protected function setUp() {
parent::setUp();
@@ -26,6 +36,7 @@ class RequestTest extends \Test\TestCase {
stream_wrapper_register('fakeinput', 'RequestStream');
$this->secureRandom = $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock();
+ $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock();
}
protected function tearDown() {
@@ -39,7 +50,12 @@ class RequestTest extends \Test\TestCase {
'method' => 'GET',
);
- $request = new Request($vars, $this->secureRandom, $this->stream);
+ $request = new Request(
+ $vars,
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
// Countable
$this->assertEquals(2, count($request));
@@ -66,7 +82,12 @@ class RequestTest extends \Test\TestCase {
'method' => 'GET'
);
- $request = new Request($vars, $this->secureRandom, $this->stream);
+ $request = new Request(
+ $vars,
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
$this->assertEquals(3, count($request));
$this->assertEquals('Janey', $request->{'nickname'});
@@ -75,7 +96,7 @@ class RequestTest extends \Test\TestCase {
/**
- * @expectedException RuntimeException
+ * @expectedException \RuntimeException
*/
public function testImmutableArrayAccess() {
$vars = array(
@@ -83,12 +104,18 @@ class RequestTest extends \Test\TestCase {
'method' => 'GET'
);
- $request = new Request($vars, $this->secureRandom, $this->stream);
+ $request = new Request(
+ $vars,
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
$request['nickname'] = 'Janey';
}
/**
- * @expectedException RuntimeException
+ * @expectedException \RuntimeException
*/
public function testImmutableMagicAccess() {
$vars = array(
@@ -96,12 +123,18 @@ class RequestTest extends \Test\TestCase {
'method' => 'GET'
);
- $request = new Request($vars, $this->secureRandom, $this->stream);
+ $request = new Request(
+ $vars,
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
$request->{'nickname'} = 'Janey';
}
/**
- * @expectedException LogicException
+ * @expectedException \LogicException
*/
public function testGetTheMethodRight() {
$vars = array(
@@ -109,8 +142,14 @@ class RequestTest extends \Test\TestCase {
'method' => 'GET',
);
- $request = new Request($vars, $this->secureRandom, $this->stream);
- $result = $request->post;
+ $request = new Request(
+ $vars,
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $request->post;
}
public function testTheMethodIsRight() {
@@ -119,7 +158,13 @@ class RequestTest extends \Test\TestCase {
'method' => 'GET',
);
- $request = new Request($vars, $this->secureRandom, $this->stream);
+ $request = new Request(
+ $vars,
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
$this->assertEquals('GET', $request->method);
$result = $request->get;
$this->assertEquals('John Q. Public', $result['name']);
@@ -134,7 +179,13 @@ class RequestTest extends \Test\TestCase {
'server' => array('CONTENT_TYPE' => 'application/json; utf-8')
);
- $request = new Request($vars, $this->secureRandom, $this->stream);
+ $request = new Request(
+ $vars,
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
$this->assertEquals('POST', $request->method);
$result = $request->post;
$this->assertEquals('John Q. Public', $result['name']);
@@ -152,7 +203,12 @@ class RequestTest extends \Test\TestCase {
'server' => array('CONTENT_TYPE' => 'application/x-www-form-urlencoded'),
);
- $request = new Request($vars, $this->secureRandom, $this->stream);
+ $request = new Request(
+ $vars,
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
$this->assertEquals('PATCH', $request->method);
$result = $request->patch;
@@ -171,7 +227,12 @@ class RequestTest extends \Test\TestCase {
'server' => array('CONTENT_TYPE' => 'application/json; utf-8'),
);
- $request = new Request($vars, $this->secureRandom, $this->stream);
+ $request = new Request(
+ $vars,
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
$this->assertEquals('PUT', $request->method);
$result = $request->put;
@@ -186,7 +247,12 @@ class RequestTest extends \Test\TestCase {
'server' => array('CONTENT_TYPE' => 'application/json; utf-8'),
);
- $request = new Request($vars, $this->secureRandom, $this->stream);
+ $request = new Request(
+ $vars,
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
$this->assertEquals('PATCH', $request->method);
$result = $request->patch;
@@ -205,7 +271,13 @@ class RequestTest extends \Test\TestCase {
'server' => array('CONTENT_TYPE' => 'image/png'),
);
- $request = new Request($vars, $this->secureRandom, $this->stream);
+ $request = new Request(
+ $vars,
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
$this->assertEquals('PUT', $request->method);
$resource = $request->put;
$contents = stream_get_contents($resource);
@@ -228,7 +300,12 @@ class RequestTest extends \Test\TestCase {
'urlParams' => array('id' => '2'),
);
- $request = new Request($vars, $this->secureRandom, $this->stream);
+ $request = new Request(
+ $vars,
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
$newParams = array('id' => '3', 'test' => 'test2');
$request->setUrlParameters($newParams);
@@ -244,7 +321,13 @@ class RequestTest extends \Test\TestCase {
],
];
- $request = new Request($vars, $this->secureRandom, $this->stream);
+ $request = new Request(
+ $vars,
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
$this->assertSame('GeneratedUniqueIdByModUnique', $request->getId());
}
@@ -261,14 +344,695 @@ class RequestTest extends \Test\TestCase {
->method('getLowStrengthGenerator')
->will($this->returnValue($lowRandomSource));
- $request = new Request([], $this->secureRandom, $this->stream);
+ $request = new Request(
+ [],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
$this->assertSame('GeneratedByOwnCloudItself', $request->getId());
}
public function testGetIdWithoutModUniqueStable() {
- $request = new Request([], \OC::$server->getSecureRandom(), $this->stream);
+ $request = new Request(
+ [],
+ \OC::$server->getSecureRandom(),
+ $this->config,
+ $this->stream
+ );
$firstId = $request->getId();
$secondId = $request->getId();
$this->assertSame($firstId, $secondId);
}
+
+ public function testGetRemoteAddressWithoutTrustedRemote() {
+ $this->config
+ ->expects($this->once())
+ ->method('getSystemValue')
+ ->with('trusted_proxies')
+ ->will($this->returnValue([]));
+
+ $request = new Request(
+ [
+ 'server' => [
+ 'REMOTE_ADDR' => '10.0.0.2',
+ 'HTTP_X_FORWARDED' => '10.4.0.5, 10.4.0.4',
+ 'HTTP_X_FORWARDED_FOR' => '192.168.0.233'
+ ],
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertSame('10.0.0.2', $request->getRemoteAddress());
+ }
+
+ public function testGetRemoteAddressWithNoTrustedHeader() {
+ $this->config
+ ->expects($this->at(0))
+ ->method('getSystemValue')
+ ->with('trusted_proxies')
+ ->will($this->returnValue(['10.0.0.2']));
+ $this->config
+ ->expects($this->at(1))
+ ->method('getSystemValue')
+ ->with('forwarded_for_headers')
+ ->will($this->returnValue([]));
+
+ $request = new Request(
+ [
+ 'server' => [
+ 'REMOTE_ADDR' => '10.0.0.2',
+ 'HTTP_X_FORWARDED' => '10.4.0.5, 10.4.0.4',
+ 'HTTP_X_FORWARDED_FOR' => '192.168.0.233'
+ ],
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertSame('10.0.0.2', $request->getRemoteAddress());
+ }
+
+ public function testGetRemoteAddressWithSingleTrustedRemote() {
+ $this->config
+ ->expects($this->at(0))
+ ->method('getSystemValue')
+ ->with('trusted_proxies')
+ ->will($this->returnValue(['10.0.0.2']));
+ $this->config
+ ->expects($this->at(1))
+ ->method('getSystemValue')
+ ->with('forwarded_for_headers')
+ ->will($this->returnValue(['HTTP_X_FORWARDED']));
+
+ $request = new Request(
+ [
+ 'server' => [
+ 'REMOTE_ADDR' => '10.0.0.2',
+ 'HTTP_X_FORWARDED' => '10.4.0.5, 10.4.0.4',
+ 'HTTP_X_FORWARDED_FOR' => '192.168.0.233'
+ ],
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertSame('10.4.0.5', $request->getRemoteAddress());
+ }
+
+ public function testGetRemoteAddressVerifyPriorityHeader() {
+ $this->config
+ ->expects($this->at(0))
+ ->method('getSystemValue')
+ ->with('trusted_proxies')
+ ->will($this->returnValue(['10.0.0.2']));
+ $this->config
+ ->expects($this->at(1))
+ ->method('getSystemValue')
+ ->with('forwarded_for_headers')
+ ->will($this->returnValue([
+ 'HTTP_CLIENT_IP',
+ 'HTTP_X_FORWARDED_FOR',
+ 'HTTP_X_FORWARDED'
+ ]));
+
+ $request = new Request(
+ [
+ 'server' => [
+ 'REMOTE_ADDR' => '10.0.0.2',
+ 'HTTP_X_FORWARDED' => '10.4.0.5, 10.4.0.4',
+ 'HTTP_X_FORWARDED_FOR' => '192.168.0.233'
+ ],
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertSame('192.168.0.233', $request->getRemoteAddress());
+ }
+
+ public function testGetServerProtocolWithOverride() {
+ $this->config
+ ->expects($this->at(0))
+ ->method('getSystemValue')
+ ->with('overwriteprotocol')
+ ->will($this->returnValue('customProtocol'));
+ $this->config
+ ->expects($this->at(1))
+ ->method('getSystemValue')
+ ->with('overwritecondaddr')
+ ->will($this->returnValue(''));
+ $this->config
+ ->expects($this->at(2))
+ ->method('getSystemValue')
+ ->with('overwriteprotocol')
+ ->will($this->returnValue('customProtocol'));
+
+ $request = new Request(
+ [],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertSame('customProtocol', $request->getServerProtocol());
+ }
+
+ public function testGetServerProtocolWithProtoValid() {
+ $this->config
+ ->expects($this->exactly(2))
+ ->method('getSystemValue')
+ ->with('overwriteprotocol')
+ ->will($this->returnValue(''));
+
+ $requestHttps = new Request(
+ [
+ 'server' => [
+ 'HTTP_X_FORWARDED_PROTO' => 'HtTpS'
+ ],
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+ $requestHttp = new Request(
+ [
+ 'server' => [
+ 'HTTP_X_FORWARDED_PROTO' => 'HTTp'
+ ],
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+
+ $this->assertSame('https', $requestHttps->getServerProtocol());
+ $this->assertSame('http', $requestHttp->getServerProtocol());
+ }
+
+ public function testGetServerProtocolWithHttpsServerValueOn() {
+ $this->config
+ ->expects($this->once())
+ ->method('getSystemValue')
+ ->with('overwriteprotocol')
+ ->will($this->returnValue(''));
+
+ $request = new Request(
+ [
+ 'server' => [
+ 'HTTPS' => 'on'
+ ],
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+ $this->assertSame('https', $request->getServerProtocol());
+ }
+
+ public function testGetServerProtocolWithHttpsServerValueOff() {
+ $this->config
+ ->expects($this->once())
+ ->method('getSystemValue')
+ ->with('overwriteprotocol')
+ ->will($this->returnValue(''));
+
+ $request = new Request(
+ [
+ 'server' => [
+ 'HTTPS' => 'off'
+ ],
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+ $this->assertSame('http', $request->getServerProtocol());
+ }
+
+ public function testGetServerProtocolDefault() {
+ $this->config
+ ->expects($this->once())
+ ->method('getSystemValue')
+ ->with('overwriteprotocol')
+ ->will($this->returnValue(''));
+
+ $request = new Request(
+ [],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+ $this->assertSame('http', $request->getServerProtocol());
+ }
+
+ /**
+ * @dataProvider userAgentProvider
+ * @param string $testAgent
+ * @param array $userAgent
+ * @param bool $matches
+ */
+ public function testUserAgent($testAgent, $userAgent, $matches) {
+ $request = new Request(
+ [
+ 'server' => [
+ 'HTTP_USER_AGENT' => $testAgent,
+ ]
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertEquals($matches, $request->isUserAgent($userAgent));
+ }
+
+ /**
+ * @return array
+ */
+ function userAgentProvider() {
+ return [
+ [
+ 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',
+ [
+ Request::USER_AGENT_IE
+ ],
+ true,
+ ],
+ [
+ 'Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0',
+ [
+ Request::USER_AGENT_IE
+ ],
+ false,
+ ],
+ [
+ 'Mozilla/5.0 (Linux; Android 4.4; Nexus 4 Build/KRT16S) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36',
+ [
+ Request::USER_AGENT_ANDROID_MOBILE_CHROME
+ ],
+ true,
+ ],
+ [
+ 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',
+ [
+ Request::USER_AGENT_ANDROID_MOBILE_CHROME
+ ],
+ false,
+ ],
+ [
+ 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',
+ [
+ Request::USER_AGENT_IE,
+ Request::USER_AGENT_ANDROID_MOBILE_CHROME,
+ ],
+ true,
+ ],
+ [
+ 'Mozilla/5.0 (Linux; Android 4.4; Nexus 4 Build/KRT16S) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36',
+ [
+ Request::USER_AGENT_IE,
+ Request::USER_AGENT_ANDROID_MOBILE_CHROME,
+ ],
+ true,
+ ],
+ [
+ 'Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0',
+ [
+ Request::USER_AGENT_FREEBOX
+ ],
+ false,
+ ],
+ [
+ 'Mozilla/5.0',
+ [
+ Request::USER_AGENT_FREEBOX
+ ],
+ true,
+ ],
+ [
+ 'Fake Mozilla/5.0',
+ [
+ Request::USER_AGENT_FREEBOX
+ ],
+ false,
+ ],
+ ];
+ }
+
+ public function testInsecureServerHostServerNameHeader() {
+ $request = new Request(
+ [
+ 'server' => [
+ 'SERVER_NAME' => 'from.server.name:8080',
+ ]
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertEquals('from.server.name:8080', $request->getInsecureServerHost());
+ }
+
+ public function testInsecureServerHostHttpHostHeader() {
+ $request = new Request(
+ [
+ 'server' => [
+ 'SERVER_NAME' => 'from.server.name:8080',
+ 'HTTP_HOST' => 'from.host.header:8080',
+ ]
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertEquals('from.host.header:8080', $request->getInsecureServerHost());
+ }
+
+ public function testInsecureServerHostHttpFromForwardedHeaderSingle() {
+ $request = new Request(
+ [
+ 'server' => [
+ 'SERVER_NAME' => 'from.server.name:8080',
+ 'HTTP_HOST' => 'from.host.header:8080',
+ 'HTTP_X_FORWARDED_HOST' => 'from.forwarded.host:8080',
+ ]
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertEquals('from.forwarded.host:8080', $request->getInsecureServerHost());
+ }
+
+ public function testInsecureServerHostHttpFromForwardedHeaderStacked() {
+ $request = new Request(
+ [
+ 'server' => [
+ 'SERVER_NAME' => 'from.server.name:8080',
+ 'HTTP_HOST' => 'from.host.header:8080',
+ 'HTTP_X_FORWARDED_HOST' => 'from.forwarded.host2:8080,another.one:9000',
+ ]
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertEquals('from.forwarded.host2:8080', $request->getInsecureServerHost());
+ }
+
+ public function testGetServerHost() {
+ $request = new Request(
+ [],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertEquals('localhost', $request->getServerHost());
+ }
+
+ public function testGetOverwriteHostDefaultNull() {
+ $this->config
+ ->expects($this->once())
+ ->method('getSystemValue')
+ ->with('overwritehost')
+ ->will($this->returnValue(''));
+ $request = new Request(
+ [],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertNull(\Test_Helper::invokePrivate($request, 'getOverwriteHost'));
+ }
+
+ public function testGetOverwriteHostWithOverwrite() {
+ $this->config
+ ->expects($this->at(0))
+ ->method('getSystemValue')
+ ->with('overwritehost')
+ ->will($this->returnValue('www.owncloud.org'));
+ $this->config
+ ->expects($this->at(1))
+ ->method('getSystemValue')
+ ->with('overwritecondaddr')
+ ->will($this->returnValue(''));
+ $this->config
+ ->expects($this->at(2))
+ ->method('getSystemValue')
+ ->with('overwritehost')
+ ->will($this->returnValue('www.owncloud.org'));
+
+ $request = new Request(
+ [],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertSame('www.owncloud.org', \Test_Helper::invokePrivate($request, 'getOverwriteHost'));
+ }
+
+ public function testGetPathInfoWithSetEnv() {
+ $request = new Request(
+ [
+ 'server' => [
+ 'PATH_INFO' => 'apps/files/',
+ ]
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertEquals('apps/files/', $request->getPathInfo());
+ }
+
+ /**
+ * @expectedException \Exception
+ * @expectedExceptionMessage The requested uri(/foo.php) cannot be processed by the script '/var/www/index.php')
+ */
+ public function testGetPathInfoNotProcessible() {
+ $request = new Request(
+ [
+ 'server' => [
+ 'REQUEST_URI' => '/foo.php',
+ 'SCRIPT_NAME' => '/var/www/index.php',
+ ]
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $request->getPathInfo();
+ }
+
+ /**
+ * @expectedException \Exception
+ * @expectedExceptionMessage The requested uri(/foo.php) cannot be processed by the script '/var/www/index.php')
+ */
+ public function testGetRawPathInfoNotProcessible() {
+ $request = new Request(
+ [
+ 'server' => [
+ 'REQUEST_URI' => '/foo.php',
+ 'SCRIPT_NAME' => '/var/www/index.php',
+ ]
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $request->getRawPathInfo();
+ }
+
+ /**
+ * @dataProvider genericPathInfoProvider
+ * @param string $requestUri
+ * @param string $scriptName
+ * @param string $expected
+ */
+ public function testGetPathInfoWithoutSetEnvGeneric($requestUri, $scriptName, $expected) {
+ $request = new Request(
+ [
+ 'server' => [
+ 'REQUEST_URI' => $requestUri,
+ 'SCRIPT_NAME' => $scriptName,
+ ]
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertEquals($expected, $request->getPathInfo());
+ }
+
+ /**
+ * @dataProvider genericPathInfoProvider
+ * @param string $requestUri
+ * @param string $scriptName
+ * @param string $expected
+ */
+ public function testGetRawPathInfoWithoutSetEnvGeneric($requestUri, $scriptName, $expected) {
+ $request = new Request(
+ [
+ 'server' => [
+ 'REQUEST_URI' => $requestUri,
+ 'SCRIPT_NAME' => $scriptName,
+ ]
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertEquals($expected, $request->getRawPathInfo());
+ }
+
+ /**
+ * @dataProvider rawPathInfoProvider
+ * @param string $requestUri
+ * @param string $scriptName
+ * @param string $expected
+ */
+ public function testGetRawPathInfoWithoutSetEnv($requestUri, $scriptName, $expected) {
+ $request = new Request(
+ [
+ 'server' => [
+ 'REQUEST_URI' => $requestUri,
+ 'SCRIPT_NAME' => $scriptName,
+ ]
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertEquals($expected, $request->getRawPathInfo());
+ }
+
+ /**
+ * @dataProvider pathInfoProvider
+ * @param string $requestUri
+ * @param string $scriptName
+ * @param string $expected
+ */
+ public function testGetPathInfoWithoutSetEnv($requestUri, $scriptName, $expected) {
+ $request = new Request(
+ [
+ 'server' => [
+ 'REQUEST_URI' => $requestUri,
+ 'SCRIPT_NAME' => $scriptName,
+ ]
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertEquals($expected, $request->getPathInfo());
+ }
+
+ /**
+ * @return array
+ */
+ public function genericPathInfoProvider() {
+ return [
+ ['/index.php/apps/files/', 'index.php', '/apps/files/'],
+ ['/index.php/apps/files/../&amp;/&?someQueryParameter=QueryParam', 'index.php', '/apps/files/../&amp;/&'],
+ ['/remote.php/漢字編碼方法 / 汉字编码方法', 'remote.php', '/漢字編碼方法 / 汉字编码方法'],
+ ['///removeTrailin//gSlashes///', 'remote.php', '/removeTrailin/gSlashes/'],
+ ['/', '/', ''],
+ ['', '', ''],
+ ];
+ }
+
+ /**
+ * @return array
+ */
+ public function rawPathInfoProvider() {
+ return [
+ ['/foo%2Fbar/subfolder', '', 'foo%2Fbar/subfolder'],
+ ];
+ }
+
+ /**
+ * @return array
+ */
+ public function pathInfoProvider() {
+ return [
+ ['/foo%2Fbar/subfolder', '', 'foo/bar/subfolder'],
+ ];
+ }
+
+ public function testGetRequestUriWithoutOverwrite() {
+ $this->config
+ ->expects($this->once())
+ ->method('getSystemValue')
+ ->with('overwritewebroot')
+ ->will($this->returnValue(''));
+
+ $request = new Request(
+ [
+ 'server' => [
+ 'REQUEST_URI' => '/test.php'
+ ]
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ );
+
+ $this->assertSame('/test.php', $request->getRequestUri());
+ }
+
+ public function testGetRequestUriWithOverwrite() {
+ $this->config
+ ->expects($this->at(0))
+ ->method('getSystemValue')
+ ->with('overwritewebroot')
+ ->will($this->returnValue('/owncloud/'));
+ $this->config
+ ->expects($this->at(1))
+ ->method('getSystemValue')
+ ->with('overwritecondaddr')
+ ->will($this->returnValue(''));
+
+ $request = $this->getMockBuilder('\OC\AppFramework\Http\Request')
+ ->setMethods(['getScriptName'])
+ ->setConstructorArgs([
+ [
+ 'server' => [
+ 'REQUEST_URI' => '/test.php/some/PathInfo',
+ 'SCRIPT_NAME' => '/test.php',
+ ]
+ ],
+ $this->secureRandom,
+ $this->config,
+ $this->stream
+ ])
+ ->getMock();
+ $request
+ ->expects($this->once())
+ ->method('getScriptName')
+ ->will($this->returnValue('/scriptname.php'));
+
+ $this->assertSame('/scriptname.php/some/PathInfo', $request->getRequestUri());
+ }
}
diff --git a/tests/lib/appframework/middleware/MiddlewareDispatcherTest.php b/tests/lib/appframework/middleware/MiddlewareDispatcherTest.php
index 078543c7b59..a8731525798 100644
--- a/tests/lib/appframework/middleware/MiddlewareDispatcherTest.php
+++ b/tests/lib/appframework/middleware/MiddlewareDispatcherTest.php
@@ -132,7 +132,8 @@ class MiddlewareDispatcherTest extends \Test\TestCase {
['app',
new Request(
['method' => 'GET'],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
)
]
);
diff --git a/tests/lib/appframework/middleware/MiddlewareTest.php b/tests/lib/appframework/middleware/MiddlewareTest.php
index fcc0c300a8a..33f04e1383d 100644
--- a/tests/lib/appframework/middleware/MiddlewareTest.php
+++ b/tests/lib/appframework/middleware/MiddlewareTest.php
@@ -26,7 +26,7 @@ namespace OC\AppFramework;
use OC\AppFramework\Http\Request;
use OCP\AppFramework\Middleware;
-
+use OCP\AppFramework\Http\Response;
class ChildMiddleware extends Middleware {};
@@ -40,6 +40,8 @@ class MiddlewareTest extends \Test\TestCase {
private $controller;
private $exception;
private $api;
+ /** @var Response */
+ private $response;
protected function setUp(){
parent::setUp();
@@ -56,7 +58,11 @@ class MiddlewareTest extends \Test\TestCase {
[],
[
$this->api,
- new Request([], $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock())
+ new Request(
+ [],
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
+ )
]
);
$this->exception = new \Exception();
diff --git a/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php b/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php
index 57a7c524abe..a4f3137cb11 100644
--- a/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php
+++ b/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php
@@ -37,7 +37,8 @@ class CORSMiddlewareTest extends \Test\TestCase {
'HTTP_ORIGIN' => 'test'
]
],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
);
$this->reflector->reflect($this, __FUNCTION__);
$middleware = new CORSMiddleware($request, $this->reflector);
@@ -55,7 +56,8 @@ class CORSMiddlewareTest extends \Test\TestCase {
'HTTP_ORIGIN' => 'test'
]
],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
);
$middleware = new CORSMiddleware($request, $this->reflector);
@@ -69,7 +71,11 @@ class CORSMiddlewareTest extends \Test\TestCase {
* @CORS
*/
public function testNoOriginHeaderNoCORSHEADER() {
- $request = new Request([], $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock());
+ $request = new Request(
+ [],
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
+ );
$this->reflector->reflect($this, __FUNCTION__);
$middleware = new CORSMiddleware($request, $this->reflector);
@@ -90,14 +96,15 @@ class CORSMiddlewareTest extends \Test\TestCase {
'HTTP_ORIGIN' => 'test'
]
],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
);
$this->reflector->reflect($this, __FUNCTION__);
$middleware = new CORSMiddleware($request, $this->reflector);
$response = new Response();
$response->addHeader('AcCess-control-Allow-Credentials ', 'TRUE');
- $response = $middleware->afterController($this, __FUNCTION__, $response);
+ $middleware->afterController($this, __FUNCTION__, $response);
}
}
diff --git a/tests/lib/appframework/middleware/security/SecurityMiddlewareTest.php b/tests/lib/appframework/middleware/security/SecurityMiddlewareTest.php
index 3acba7ce1d8..347a0423ea6 100644
--- a/tests/lib/appframework/middleware/security/SecurityMiddlewareTest.php
+++ b/tests/lib/appframework/middleware/security/SecurityMiddlewareTest.php
@@ -321,7 +321,8 @@ class SecurityMiddlewareTest extends \Test\TestCase {
'REQUEST_URI' => 'owncloud/index.php/apps/specialapp'
]
],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMock('\OCP\Security\ISecureRandom'),
+ $this->getMock('\OCP\IConfig')
);
$this->middleware = $this->getMiddleware(true, true);
$response = $this->middleware->afterException($this->controller, 'test',
diff --git a/tests/lib/appframework/middleware/sessionmiddlewaretest.php b/tests/lib/appframework/middleware/sessionmiddlewaretest.php
index c417225d908..11c1600f515 100644
--- a/tests/lib/appframework/middleware/sessionmiddlewaretest.php
+++ b/tests/lib/appframework/middleware/sessionmiddlewaretest.php
@@ -35,7 +35,8 @@ class SessionMiddlewareTest extends \Test\TestCase {
$this->request = new Request(
[],
- $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock()
+ $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock(),
+ $this->getMock('\OCP\IConfig')
);
$this->reflector = new ControllerMethodReflector();
}
diff --git a/tests/lib/connector/sabre/directory.php b/tests/lib/connector/sabre/directory.php
index e9bfea81b77..599a6ca3f7c 100644
--- a/tests/lib/connector/sabre/directory.php
+++ b/tests/lib/connector/sabre/directory.php
@@ -155,4 +155,34 @@ class Test_OC_Connector_Sabre_Directory extends \Test\TestCase {
$nodes[1]->getProperties($properties)
);
}
+
+ public function testGetQuotaInfo() {
+ $storage = $this->getMockBuilder('\OC\Files\Storage\Wrapper\Quota')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $storage->expects($this->once())
+ ->method('instanceOfStorage')
+ ->with('\OC\Files\Storage\Wrapper\Quota')
+ ->will($this->returnValue(true));
+
+ $storage->expects($this->once())
+ ->method('getQuota')
+ ->will($this->returnValue(1000));
+
+ $storage->expects($this->once())
+ ->method('free_space')
+ ->will($this->returnValue(800));
+
+ $this->info->expects($this->once())
+ ->method('getSize')
+ ->will($this->returnValue(200));
+
+ $this->info->expects($this->once())
+ ->method('getStorage')
+ ->will($this->returnValue($storage));
+
+ $dir = new OC_Connector_Sabre_Directory($this->view, $this->info);
+ $this->assertEquals([200, 800], $dir->getQuotaInfo()); //200 used, 800 free
+ }
}
diff --git a/tests/lib/files/cache/changepropagator.php b/tests/lib/files/cache/changepropagator.php
index 89bd9dfe80a..1b56da5e97c 100644
--- a/tests/lib/files/cache/changepropagator.php
+++ b/tests/lib/files/cache/changepropagator.php
@@ -23,12 +23,17 @@ class ChangePropagator extends \Test\TestCase {
*/
private $view;
+ /**
+ * @var \OC\Files\Storage\Storage
+ */
+ private $storage;
+
protected function setUp() {
parent::setUp();
- $storage = new Temporary(array());
+ $this->storage = new Temporary(array());
$root = $this->getUniqueID('/');
- Filesystem::mount($storage, array(), $root);
+ Filesystem::mount($this->storage, array(), $root);
$this->view = new View($root);
$this->propagator = new \OC\Files\Cache\ChangePropagator($this->view);
}
@@ -71,4 +76,22 @@ class ChangePropagator extends \Test\TestCase {
$this->assertNotSame($oldInfo2->getEtag(), $newInfo2->getEtag());
$this->assertNotSame($oldInfo3->getEtag(), $newInfo3->getEtag());
}
+
+ public function testDontLowerMtime() {
+ $time = time();
+ $this->view->mkdir('/foo');
+ $this->view->mkdir('/foo/bar');
+
+ $cache = $this->storage->getCache();
+ $cache->put('', ['mtime' => $time - 50]);
+ $cache->put('foo', ['mtime' => $time - 150]);
+ $cache->put('foo/bar', ['mtime' => $time - 250]);
+
+ $this->propagator->addChange('/foo/bar/foo');
+ $this->propagator->propagateChanges($time - 100);
+
+ $this->assertEquals(50, $time - $cache->get('')['mtime']);
+ $this->assertEquals(100, $time - $cache->get('foo')['mtime']);
+ $this->assertEquals(100, $time - $cache->get('foo/bar')['mtime']);
+ }
}
diff --git a/tests/lib/files/cache/updaterlegacy.php b/tests/lib/files/cache/updaterlegacy.php
index 7cf4dc6df5f..99cacca8e95 100644
--- a/tests/lib/files/cache/updaterlegacy.php
+++ b/tests/lib/files/cache/updaterlegacy.php
@@ -284,6 +284,7 @@ class UpdaterLegacy extends \Test\TestCase {
$time = 1371006070;
$barCachedData = $this->cache->get('folder/bar.txt');
$folderCachedData = $this->cache->get('folder');
+ $this->cache->put('', ['mtime' => $time - 100]);
Filesystem::touch('folder/bar.txt', $time);
$cachedData = $this->cache->get('folder/bar.txt');
$this->assertInternalType('string', $barCachedData['etag']);
@@ -314,6 +315,7 @@ class UpdaterLegacy extends \Test\TestCase {
$fooCachedData = $cache2->get('foo.txt');
$cachedData = $cache2->get('foo.txt');
$time = 1371006070;
+ $this->cache->put('folder', ['mtime' => $time - 100]);
Filesystem::touch('folder/substorage/foo.txt', $time);
$cachedData = $cache2->get('foo.txt');
$this->assertInternalType('string', $fooCachedData['etag']);
diff --git a/tests/lib/memcache/arraycache.php b/tests/lib/memcache/arraycache.php
new file mode 100644
index 00000000000..1db673da2a8
--- /dev/null
+++ b/tests/lib/memcache/arraycache.php
@@ -0,0 +1,17 @@
+<?php
+
+/**
+ * Copyright (c) 2015 Joas Schilling <nickvergessen@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace Test\Memcache;
+
+class ArrayCache extends Cache {
+ protected function setUp() {
+ parent::setUp();
+ $this->instance = new \OC\Memcache\ArrayCache('');
+ }
+}
diff --git a/tests/lib/request.php b/tests/lib/request.php
deleted file mode 100644
index dd6d1e47cd5..00000000000
--- a/tests/lib/request.php
+++ /dev/null
@@ -1,333 +0,0 @@
-<?php
-/**
- * Copyright (c) 2013 Thomas Müller <thomas.mueller@tmit.eu>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-class Test_Request extends \Test\TestCase {
-
- protected function setUp() {
- parent::setUp();
-
- OC::$server->getConfig()->setSystemValue('overwritewebroot', '/domain.tld/ownCloud');
-
- OC::$server->getConfig()->setSystemValue('trusted_proxies', array());
- OC::$server->getConfig()->setSystemValue('forwarded_for_headers', array());
- }
-
- protected function tearDown() {
- OC::$server->getConfig()->setSystemValue('overwritewebroot', '');
- OC::$server->getConfig()->setSystemValue('trusted_proxies', array());
- OC::$server->getConfig()->setSystemValue('forwarded_for_headers', array());
-
- parent::tearDown();
- }
-
- public function testScriptNameOverWrite() {
- $_SERVER['REMOTE_ADDR'] = '10.0.0.1';
- $_SERVER['SCRIPT_FILENAME'] = __FILE__;
-
- $scriptName = OC_Request::scriptName();
- $this->assertEquals('/domain.tld/ownCloud/tests/lib/request.php', $scriptName);
- }
-
- public function testGetRemoteAddress() {
- $_SERVER['REMOTE_ADDR'] = '10.0.0.2';
- $_SERVER['HTTP_X_FORWARDED'] = '10.4.0.5, 10.4.0.4';
- $_SERVER['HTTP_X_FORWARDED_FOR'] = '192.168.0.233';
-
- // Without having specified a trusted remote address
- $this->assertEquals('10.0.0.2', OC_Request::getRemoteAddress());
-
- // With specifying a trusted remote address but no trusted header
- OC::$server->getConfig()->setSystemValue('trusted_proxies', array('10.0.0.2'));
- $this->assertEquals('10.0.0.2', OC_Request::getRemoteAddress());
-
- // With specifying a trusted remote address and trusted headers
- OC::$server->getConfig()->setSystemValue('trusted_proxies', array('10.0.0.2'));
- OC::$server->getConfig()->setSystemValue('forwarded_for_headers', array('HTTP_X_FORWARDED'));
- $this->assertEquals('10.4.0.5', OC_Request::getRemoteAddress());
- OC::$server->getConfig()->setSystemValue('forwarded_for_headers', array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED'));
- $this->assertEquals('192.168.0.233', OC_Request::getRemoteAddress());
-
- // With specifying multiple trusted remote addresses and trusted headers
- OC::$server->getConfig()->setSystemValue('trusted_proxies', array('10.3.4.2', '10.0.0.2', '127.0.3.3'));
- OC::$server->getConfig()->setSystemValue('forwarded_for_headers', array('HTTP_X_FORWARDED'));
- $this->assertEquals('10.4.0.5', OC_Request::getRemoteAddress());
- OC::$server->getConfig()->setSystemValue('forwarded_for_headers', array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED'));
- $this->assertEquals('192.168.0.233', OC_Request::getRemoteAddress());
- }
-
- /**
- * @dataProvider rawPathInfoProvider
- * @param $expected
- * @param $requestUri
- * @param $scriptName
- */
- public function testRawPathInfo($expected, $requestUri, $scriptName) {
- $_SERVER['REQUEST_URI'] = $requestUri;
- $_SERVER['SCRIPT_NAME'] = $scriptName;
- $rawPathInfo = OC_Request::getRawPathInfo();
- $this->assertEquals($expected, $rawPathInfo);
- }
-
- function rawPathInfoProvider() {
- return array(
- array('/core/ajax/translations.php', 'index.php/core/ajax/translations.php', 'index.php'),
- array('/core/ajax/translations.php', '/index.php/core/ajax/translations.php', '/index.php'),
- array('/core/ajax/translations.php', '//index.php/core/ajax/translations.php', '/index.php'),
- array('', '/oc/core', '/oc/core/index.php'),
- array('', '/oc/core/', '/oc/core/index.php'),
- array('', '/oc/core/index.php', '/oc/core/index.php'),
- array('/core/ajax/translations.php', '/core/ajax/translations.php', 'index.php'),
- array('/core/ajax/translations.php', '//core/ajax/translations.php', '/index.php'),
- array('/core/ajax/translations.php', '/oc/core/ajax/translations.php', '/oc/index.php'),
- array('/core/ajax/translations.php', '/oc//index.php/core/ajax/translations.php', '/oc/index.php'),
- array('/1', '/oc/core/1', '/oc/core/index.php'),
- );
- }
-
- /**
- * @dataProvider rawPathInfoThrowsExceptionProvider
- * @expectedException Exception
- *
- * @param $requestUri
- * @param $scriptName
- */
- public function testRawPathInfoThrowsException($requestUri, $scriptName) {
- $_SERVER['REQUEST_URI'] = $requestUri;
- $_SERVER['SCRIPT_NAME'] = $scriptName;
- OC_Request::getRawPathInfo();
- }
-
- function rawPathInfoThrowsExceptionProvider() {
- return array(
- array('/oc/core1', '/oc/core/index.php'),
- );
- }
-
- /**
- * @dataProvider userAgentProvider
- */
- public function testUserAgent($testAgent, $userAgent, $matches) {
- $_SERVER['HTTP_USER_AGENT'] = $testAgent;
- $this->assertEquals($matches, OC_Request::isUserAgent($userAgent));
- }
-
- function userAgentProvider() {
- return array(
- array(
- 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',
- OC_Request::USER_AGENT_IE,
- true
- ),
- array(
- 'Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0',
- OC_Request::USER_AGENT_IE,
- false
- ),
- array(
- 'Mozilla/5.0 (Linux; Android 4.4; Nexus 4 Build/KRT16S) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36',
- OC_Request::USER_AGENT_ANDROID_MOBILE_CHROME,
- true
- ),
- array(
- 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',
- OC_Request::USER_AGENT_ANDROID_MOBILE_CHROME,
- false
- ),
- // test two values
- array(
- 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',
- array(
- OC_Request::USER_AGENT_IE,
- OC_Request::USER_AGENT_ANDROID_MOBILE_CHROME,
- ),
- true
- ),
- array(
- 'Mozilla/5.0 (Linux; Android 4.4; Nexus 4 Build/KRT16S) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36',
- array(
- OC_Request::USER_AGENT_IE,
- OC_Request::USER_AGENT_ANDROID_MOBILE_CHROME,
- ),
- true
- ),
- array(
- 'Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0',
- OC_Request::USER_AGENT_FREEBOX,
- false
- ),
- array(
- 'Mozilla/5.0',
- OC_Request::USER_AGENT_FREEBOX,
- true
- ),
- array(
- 'Fake Mozilla/5.0',
- OC_Request::USER_AGENT_FREEBOX,
- false
- ),
- );
- }
-
- public function testInsecureServerHost() {
- unset($_SERVER['HTTP_X_FORWARDED_HOST']);
- unset($_SERVER['HTTP_HOST']);
- unset($_SERVER['SERVER_NAME']);
- $_SERVER['SERVER_NAME'] = 'from.server.name:8080';
- $host = OC_Request::insecureServerHost();
- $this->assertEquals('from.server.name:8080', $host);
-
- $_SERVER['HTTP_HOST'] = 'from.host.header:8080';
- $host = OC_Request::insecureServerHost();
- $this->assertEquals('from.host.header:8080', $host);
-
- $_SERVER['HTTP_X_FORWARDED_HOST'] = 'from.forwarded.host:8080';
- $host = OC_Request::insecureServerHost();
- $this->assertEquals('from.forwarded.host:8080', $host);
-
- $_SERVER['HTTP_X_FORWARDED_HOST'] = 'from.forwarded.host2:8080,another.one:9000';
- $host = OC_Request::insecureServerHost();
- $this->assertEquals('from.forwarded.host2:8080', $host);
-
- // clean up
- unset($_SERVER['HTTP_X_FORWARDED_HOST']);
- unset($_SERVER['HTTP_HOST']);
- unset($_SERVER['SERVER_NAME']);
- }
-
- public function testGetOverwriteHost() {
- unset($_SERVER['REMOTE_ADDR']);
- OC_Config::deleteKey('overwritecondaddr');
- OC_Config::deleteKey('overwritehost');
- $host = OC_Request::getOverwriteHost();
- $this->assertNull($host);
-
- OC_Config::setValue('overwritehost', '');
- $host = OC_Request::getOverwriteHost();
- $this->assertNull($host);
-
- OC_Config::setValue('overwritehost', 'host.one.test:8080');
- $host = OC_Request::getOverwriteHost();
- $this->assertEquals('host.one.test:8080', $host);
-
- $_SERVER['REMOTE_ADDR'] = 'somehost.test:8080';
- OC_Config::setValue('overwritecondaddr', '^somehost\..*$');
- $host = OC_Request::getOverwriteHost();
- $this->assertEquals('host.one.test:8080', $host);
-
- OC_Config::setValue('overwritecondaddr', '^somethingelse.*$');
- $host = OC_Request::getOverwriteHost();
- $this->assertNull($host);
-
- // clean up
- unset($_SERVER['REMOTE_ADDR']);
- OC_Config::deleteKey('overwritecondaddr');
- OC_Config::deleteKey('overwritehost');
- }
-
- public function hostWithPortProvider() {
- return array(
- array('localhost:500', 'localhost'),
- array('foo.com', 'foo.com'),
- array('[1fff:0:a88:85a3::ac1f]:801', '[1fff:0:a88:85a3::ac1f]'),
- array('[1fff:0:a88:85a3::ac1f]', '[1fff:0:a88:85a3::ac1f]')
- );
- }
-
- /**
- * @dataProvider hostWithPortProvider
- */
- public function testGetDomainWithoutPort($hostWithPort, $host) {
- $this->assertEquals($host, OC_Request::getDomainWithoutPort($hostWithPort));
-
- }
-
- /**
- * @dataProvider trustedDomainDataProvider
- */
- public function testIsTrustedDomain($trustedDomains, $testDomain, $result) {
- OC_Config::deleteKey('trusted_domains');
- if ($trustedDomains !== null) {
- OC_Config::setValue('trusted_domains', $trustedDomains);
- }
-
- $this->assertEquals($result, OC_Request::isTrustedDomain($testDomain));
-
- // clean up
- OC_Config::deleteKey('trusted_domains');
- }
-
- public function trustedDomainDataProvider() {
- $trustedHostTestList = array('host.one.test', 'host.two.test', '[1fff:0:a88:85a3::ac1f]');
- return array(
- // empty defaults to true
- array(null, 'host.one.test:8080', true),
- array('', 'host.one.test:8080', true),
- array(array(), 'host.one.test:8080', true),
-
- // trust list when defined
- array($trustedHostTestList, 'host.two.test:8080', true),
- array($trustedHostTestList, 'host.two.test:9999', true),
- array($trustedHostTestList, 'host.three.test:8080', false),
- array($trustedHostTestList, 'host.two.test:8080:aa:222', false),
- array($trustedHostTestList, '[1fff:0:a88:85a3::ac1f]', true),
- array($trustedHostTestList, '[1fff:0:a88:85a3::ac1f]:801', true),
- array($trustedHostTestList, '[1fff:0:a88:85a3::ac1f]:801:34', false),
-
- // trust localhost regardless of trust list
- array($trustedHostTestList, 'localhost', true),
- array($trustedHostTestList, 'localhost:8080', true),
- array($trustedHostTestList, '127.0.0.1', true),
- array($trustedHostTestList, '127.0.0.1:8080', true),
-
- // do not trust invalid localhosts
- array($trustedHostTestList, 'localhost:1:2', false),
- array($trustedHostTestList, 'localhost: evil.host', false),
- );
- }
-
- public function testServerHost() {
- OC_Config::deleteKey('overwritecondaddr');
- OC_Config::setValue('overwritehost', 'overwritten.host:8080');
- OC_Config::setValue(
- 'trusted_domains',
- array(
- 'trusted.host:8080',
- 'second.trusted.host:8080'
- )
- );
- $_SERVER['HTTP_HOST'] = 'trusted.host:8080';
-
- // CLI always gives localhost
- $oldCLI = OC::$CLI;
- OC::$CLI = true;
- $host = OC_Request::serverHost();
- $this->assertEquals('localhost', $host);
- OC::$CLI = false;
-
- // overwritehost overrides trusted domain
- $host = OC_Request::serverHost();
- $this->assertEquals('overwritten.host:8080', $host);
-
- // trusted domain returned when used
- OC_Config::deleteKey('overwritehost');
- $host = OC_Request::serverHost();
- $this->assertEquals('trusted.host:8080', $host);
-
- // trusted domain returned when untrusted one in header
- $_SERVER['HTTP_HOST'] = 'untrusted.host:8080';
- OC_Config::deleteKey('overwritehost');
- $host = OC_Request::serverHost();
- $this->assertEquals('trusted.host:8080', $host);
-
- // clean up
- OC_Config::deleteKey('overwritecondaddr');
- OC_Config::deleteKey('overwritehost');
- unset($_SERVER['HTTP_HOST']);
- OC::$CLI = $oldCLI;
- }
-}
diff --git a/tests/lib/security/trusteddomainhelper.php b/tests/lib/security/trusteddomainhelper.php
new file mode 100644
index 00000000000..c8d5ffa587b
--- /dev/null
+++ b/tests/lib/security/trusteddomainhelper.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Copyright (c) 2015 Lukas Reschke <lukas@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+use \OC\Security\TrustedDomainHelper;
+use OCP\IConfig;
+
+/**
+ * Class TrustedDomainHelperTest
+ */
+class TrustedDomainHelperTest extends \Test\TestCase {
+ /** @var IConfig */
+ protected $config;
+
+ protected function setUp() {
+ parent::setUp();
+
+ $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock();
+ }
+
+ /**
+ * @dataProvider trustedDomainDataProvider
+ * @param string $trustedDomains
+ * @param string $testDomain
+ * @param bool $result
+ */
+ public function testIsTrustedDomain($trustedDomains, $testDomain, $result) {
+ $this->config->expects($this->once())
+ ->method('getSystemValue')
+ ->with('trusted_domains')
+ ->will($this->returnValue($trustedDomains));
+
+ $trustedDomainHelper = new TrustedDomainHelper($this->config);
+ $this->assertEquals($result, $trustedDomainHelper->isTrustedDomain($testDomain));
+ }
+
+ /**
+ * @return array
+ */
+ public function trustedDomainDataProvider() {
+ $trustedHostTestList = ['host.one.test', 'host.two.test', '[1fff:0:a88:85a3::ac1f]'];
+ return [
+ // empty defaults to false with 8.1
+ [null, 'host.one.test:8080', false],
+ ['', 'host.one.test:8080', false],
+ [[], 'host.one.test:8080', false],
+ // trust list when defined
+ [$trustedHostTestList, 'host.two.test:8080', true],
+ [$trustedHostTestList, 'host.two.test:9999', true],
+ [$trustedHostTestList, 'host.three.test:8080', false],
+ [$trustedHostTestList, 'host.two.test:8080:aa:222', false],
+ [$trustedHostTestList, '[1fff:0:a88:85a3::ac1f]', true],
+ [$trustedHostTestList, '[1fff:0:a88:85a3::ac1f]:801', true],
+ [$trustedHostTestList, '[1fff:0:a88:85a3::ac1f]:801:34', false],
+ // trust localhost regardless of trust list
+ [$trustedHostTestList, 'localhost', true],
+ [$trustedHostTestList, 'localhost:8080', true],
+ [$trustedHostTestList, '127.0.0.1', true],
+ [$trustedHostTestList, '127.0.0.1:8080', true],
+ // do not trust invalid localhosts
+ [$trustedHostTestList, 'localhost:1:2', false],
+ [$trustedHostTestList, 'localhost: evil.host', false],
+ ];
+ }
+
+}
diff --git a/tests/lib/templatelayout.php b/tests/lib/templatelayout.php
index 1035dae122d..c23aaa9b762 100644
--- a/tests/lib/templatelayout.php
+++ b/tests/lib/templatelayout.php
@@ -52,7 +52,7 @@ class OC_TemplateLayout extends \Test\TestCase {
*/
public function testConvertToRelativePath($absolutePath, $expected) {
$_SERVER['REQUEST_URI'] = $expected;
- $_SERVER['SCRIPT_NAME'] = '/';
+ $_SERVER['SCRIPT_NAME'] = $expected;
$relativePath = \Test_Helper::invokePrivate(new \OC_TemplateLayout('user'), 'convertToRelativePath', array($absolutePath));
$this->assertEquals($expected, $relativePath);
diff --git a/tests/settings/controller/userscontrollertest.php b/tests/settings/controller/userscontrollertest.php
index 53a42de62ab..b813da038a3 100644
--- a/tests/settings/controller/userscontrollertest.php
+++ b/tests/settings/controller/userscontrollertest.php
@@ -162,7 +162,7 @@ class UsersControllerTest extends \Test\TestCase {
'subadmin' => array(),
'quota' => 1024,
'storageLocation' => '/home/foo',
- 'lastLogin' => 500,
+ 'lastLogin' => 500000,
'backend' => 'OC_User_Database',
'email' => 'foo@bar.com',
'isRestoreDisabled' => false,
@@ -174,7 +174,7 @@ class UsersControllerTest extends \Test\TestCase {
'subadmin' => array(),
'quota' => 404,
'storageLocation' => '/home/admin',
- 'lastLogin' => 12,
+ 'lastLogin' => 12000,
'backend' => 'OC_User_Dummy',
'email' => 'admin@bar.com',
'isRestoreDisabled' => false,
@@ -186,7 +186,7 @@ class UsersControllerTest extends \Test\TestCase {
'subadmin' => array(),
'quota' => 2323,
'storageLocation' => '/home/bar',
- 'lastLogin' => 3999,
+ 'lastLogin' => 3999000,
'backend' => 'OC_User_Dummy',
'email' => 'bar@dummy.com',
'isRestoreDisabled' => false,
@@ -330,7 +330,7 @@ class UsersControllerTest extends \Test\TestCase {
'subadmin' => [],
'quota' => 1024,
'storageLocation' => '/home/foo',
- 'lastLogin' => 500,
+ 'lastLogin' => 500000,
'backend' => 'OC_User_Database',
'email' => 'foo@bar.com',
'isRestoreDisabled' => false,
@@ -342,7 +342,7 @@ class UsersControllerTest extends \Test\TestCase {
'subadmin' => [],
'quota' => 404,
'storageLocation' => '/home/admin',
- 'lastLogin' => 12,
+ 'lastLogin' => 12000,
'backend' => 'OC_User_Dummy',
'email' => 'admin@bar.com',
'isRestoreDisabled' => false,
@@ -354,7 +354,7 @@ class UsersControllerTest extends \Test\TestCase {
'subadmin' => [],
'quota' => 2323,
'storageLocation' => '/home/bar',
- 'lastLogin' => 3999,
+ 'lastLogin' => 3999000,
'backend' => 'OC_User_Dummy',
'email' => 'bar@dummy.com',
'isRestoreDisabled' => false,
@@ -461,7 +461,7 @@ class UsersControllerTest extends \Test\TestCase {
'subadmin' => array(),
'quota' => 1024,
'storageLocation' => '/home/foo',
- 'lastLogin' => 500,
+ 'lastLogin' => 500000,
'backend' => 'OC_User_Database',
'email' => 'foo@bar.com',
'isRestoreDisabled' => false,
@@ -473,7 +473,7 @@ class UsersControllerTest extends \Test\TestCase {
'subadmin' => array(),
'quota' => 404,
'storageLocation' => '/home/admin',
- 'lastLogin' => 12,
+ 'lastLogin' => 12000,
'backend' => 'OC_User_Dummy',
'email' => 'admin@bar.com',
'isRestoreDisabled' => false,
@@ -485,7 +485,7 @@ class UsersControllerTest extends \Test\TestCase {
'subadmin' => array(),
'quota' => 2323,
'storageLocation' => '/home/bar',
- 'lastLogin' => 3999,
+ 'lastLogin' => 3999000,
'backend' => 'OC_User_Dummy',
'email' => 'bar@dummy.com',
'isRestoreDisabled' => false,
@@ -545,7 +545,7 @@ class UsersControllerTest extends \Test\TestCase {
'subadmin' => array(),
'quota' => null,
'storageLocation' => '/home/foo',
- 'lastLogin' => 500,
+ 'lastLogin' => 500000,
'backend' => 'OC_User_Database',
'email' => null,
'isRestoreDisabled' => false,
@@ -1239,7 +1239,7 @@ class UsersControllerTest extends \Test\TestCase {
'subadmin' => array(),
'quota' => null,
'storageLocation' => $home,
- 'lastLogin' => $lastLogin,
+ 'lastLogin' => $lastLogin * 1000,
'backend' => $backend,
'email' => null,
'isRestoreDisabled' => false,
diff --git a/version.php b/version.php
index e50220be11b..89d8bc48a2a 100644
--- a/version.php
+++ b/version.php
@@ -3,7 +3,7 @@
// We only can count up. The 4. digit is only for the internal patchlevel to trigger DB upgrades
// between betas, final and RCs. This is _not_ the public version number. Reset minor/patchlevel
// when updating major/minor version number.
-$OC_Version=array(8, 0, 0, 7);
+$OC_Version=array(8, 0, 0, 9);
// The human readable string
$OC_VersionString='8.0';