summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.scrutinizer.yml8
m---------3rdparty0
-rw-r--r--apps/comments/l10n/.gitkeep0
-rw-r--r--apps/comments/l10n/af_ZA.js6
-rw-r--r--apps/comments/l10n/af_ZA.json4
-rw-r--r--apps/comments/l10n/ar.js8
-rw-r--r--apps/comments/l10n/ar.json6
-rw-r--r--apps/comments/l10n/ast.js8
-rw-r--r--apps/comments/l10n/ast.json6
-rw-r--r--apps/comments/l10n/az.js8
-rw-r--r--apps/comments/l10n/az.json6
-rw-r--r--apps/comments/l10n/bg_BG.js8
-rw-r--r--apps/comments/l10n/bg_BG.json6
-rw-r--r--apps/comments/l10n/bn_BD.js8
-rw-r--r--apps/comments/l10n/bn_BD.json6
-rw-r--r--apps/comments/l10n/bn_IN.js7
-rw-r--r--apps/comments/l10n/bn_IN.json5
-rw-r--r--apps/comments/l10n/bs.js8
-rw-r--r--apps/comments/l10n/bs.json6
-rw-r--r--apps/comments/l10n/ca.js8
-rw-r--r--apps/comments/l10n/ca.json6
-rw-r--r--apps/comments/l10n/cs_CZ.js8
-rw-r--r--apps/comments/l10n/cs_CZ.json6
-rw-r--r--apps/comments/l10n/cy_GB.js7
-rw-r--r--apps/comments/l10n/cy_GB.json5
-rw-r--r--apps/comments/l10n/da.js8
-rw-r--r--apps/comments/l10n/da.json6
-rw-r--r--apps/comments/l10n/de.js12
-rw-r--r--apps/comments/l10n/de.json10
-rw-r--r--apps/comments/l10n/de_AT.js7
-rw-r--r--apps/comments/l10n/de_AT.json5
-rw-r--r--apps/comments/l10n/de_DE.js8
-rw-r--r--apps/comments/l10n/de_DE.json6
-rw-r--r--apps/comments/l10n/el.js8
-rw-r--r--apps/comments/l10n/el.json6
-rw-r--r--apps/comments/l10n/en_GB.js8
-rw-r--r--apps/comments/l10n/en_GB.json6
-rw-r--r--apps/comments/l10n/eo.js8
-rw-r--r--apps/comments/l10n/eo.json6
-rw-r--r--apps/comments/l10n/es.js8
-rw-r--r--apps/comments/l10n/es.json6
-rw-r--r--apps/comments/l10n/es_AR.js7
-rw-r--r--apps/comments/l10n/es_AR.json5
-rw-r--r--apps/comments/l10n/es_CL.js6
-rw-r--r--apps/comments/l10n/es_CL.json4
-rw-r--r--apps/comments/l10n/es_MX.js8
-rw-r--r--apps/comments/l10n/es_MX.json6
-rw-r--r--apps/comments/l10n/et_EE.js8
-rw-r--r--apps/comments/l10n/et_EE.json6
-rw-r--r--apps/comments/l10n/eu.js8
-rw-r--r--apps/comments/l10n/eu.json6
-rw-r--r--apps/comments/l10n/fa.js8
-rw-r--r--apps/comments/l10n/fa.json6
-rw-r--r--apps/comments/l10n/fi_FI.js21
-rw-r--r--apps/comments/l10n/fi_FI.json19
-rw-r--r--apps/comments/l10n/fr.js8
-rw-r--r--apps/comments/l10n/fr.json6
-rw-r--r--apps/comments/l10n/gl.js8
-rw-r--r--apps/comments/l10n/gl.json6
-rw-r--r--apps/comments/l10n/he.js21
-rw-r--r--apps/comments/l10n/he.json19
-rw-r--r--apps/comments/l10n/hi.js7
-rw-r--r--apps/comments/l10n/hi.json5
-rw-r--r--apps/comments/l10n/hr.js7
-rw-r--r--apps/comments/l10n/hr.json5
-rw-r--r--apps/comments/l10n/hu_HU.js8
-rw-r--r--apps/comments/l10n/hu_HU.json6
-rw-r--r--apps/comments/l10n/hy.js7
-rw-r--r--apps/comments/l10n/hy.json5
-rw-r--r--apps/comments/l10n/ia.js7
-rw-r--r--apps/comments/l10n/ia.json5
-rw-r--r--apps/comments/l10n/id.js8
-rw-r--r--apps/comments/l10n/id.json6
-rw-r--r--apps/comments/l10n/is.js7
-rw-r--r--apps/comments/l10n/is.json5
-rw-r--r--apps/comments/l10n/it.js19
-rw-r--r--apps/comments/l10n/it.json17
-rw-r--r--apps/comments/l10n/ja.js8
-rw-r--r--apps/comments/l10n/ja.json6
-rw-r--r--apps/comments/l10n/ka_GE.js7
-rw-r--r--apps/comments/l10n/ka_GE.json5
-rw-r--r--apps/comments/l10n/km.js7
-rw-r--r--apps/comments/l10n/km.json5
-rw-r--r--apps/comments/l10n/kn.js7
-rw-r--r--apps/comments/l10n/kn.json5
-rw-r--r--apps/comments/l10n/ko.js8
-rw-r--r--apps/comments/l10n/ko.json6
-rw-r--r--apps/comments/l10n/ku_IQ.js7
-rw-r--r--apps/comments/l10n/ku_IQ.json5
-rw-r--r--apps/comments/l10n/lb.js7
-rw-r--r--apps/comments/l10n/lb.json5
-rw-r--r--apps/comments/l10n/lt_LT.js8
-rw-r--r--apps/comments/l10n/lt_LT.json6
-rw-r--r--apps/comments/l10n/lv.js8
-rw-r--r--apps/comments/l10n/lv.json6
-rw-r--r--apps/comments/l10n/mk.js8
-rw-r--r--apps/comments/l10n/mk.json6
-rw-r--r--apps/comments/l10n/mn.js6
-rw-r--r--apps/comments/l10n/mn.json4
-rw-r--r--apps/comments/l10n/ms_MY.js7
-rw-r--r--apps/comments/l10n/ms_MY.json5
-rw-r--r--apps/comments/l10n/my_MM.js6
-rw-r--r--apps/comments/l10n/my_MM.json4
-rw-r--r--apps/comments/l10n/nb_NO.js8
-rw-r--r--apps/comments/l10n/nb_NO.json6
-rw-r--r--apps/comments/l10n/nds.js6
-rw-r--r--apps/comments/l10n/nds.json4
-rw-r--r--apps/comments/l10n/nl.js8
-rw-r--r--apps/comments/l10n/nl.json6
-rw-r--r--apps/comments/l10n/nn_NO.js7
-rw-r--r--apps/comments/l10n/nn_NO.json5
-rw-r--r--apps/comments/l10n/oc.js8
-rw-r--r--apps/comments/l10n/oc.json6
-rw-r--r--apps/comments/l10n/pa.js6
-rw-r--r--apps/comments/l10n/pa.json4
-rw-r--r--apps/comments/l10n/pl.js8
-rw-r--r--apps/comments/l10n/pl.json6
-rw-r--r--apps/comments/l10n/pt_BR.js21
-rw-r--r--apps/comments/l10n/pt_BR.json19
-rw-r--r--apps/comments/l10n/pt_PT.js21
-rw-r--r--apps/comments/l10n/pt_PT.json19
-rw-r--r--apps/comments/l10n/ro.js7
-rw-r--r--apps/comments/l10n/ro.json5
-rw-r--r--apps/comments/l10n/ru.js8
-rw-r--r--apps/comments/l10n/ru.json6
-rw-r--r--apps/comments/l10n/si_LK.js7
-rw-r--r--apps/comments/l10n/si_LK.json5
-rw-r--r--apps/comments/l10n/sk_SK.js8
-rw-r--r--apps/comments/l10n/sk_SK.json6
-rw-r--r--apps/comments/l10n/sl.js8
-rw-r--r--apps/comments/l10n/sl.json6
-rw-r--r--apps/comments/l10n/sq.js21
-rw-r--r--apps/comments/l10n/sq.json19
-rw-r--r--apps/comments/l10n/sr.js8
-rw-r--r--apps/comments/l10n/sr.json6
-rw-r--r--apps/comments/l10n/sr@latin.js7
-rw-r--r--apps/comments/l10n/sr@latin.json5
-rw-r--r--apps/comments/l10n/sv.js8
-rw-r--r--apps/comments/l10n/sv.json6
-rw-r--r--apps/comments/l10n/ta_LK.js7
-rw-r--r--apps/comments/l10n/ta_LK.json5
-rw-r--r--apps/comments/l10n/te.js7
-rw-r--r--apps/comments/l10n/te.json5
-rw-r--r--apps/comments/l10n/th_TH.js8
-rw-r--r--apps/comments/l10n/th_TH.json6
-rw-r--r--apps/comments/l10n/tr.js8
-rw-r--r--apps/comments/l10n/tr.json6
-rw-r--r--apps/comments/l10n/ug.js7
-rw-r--r--apps/comments/l10n/ug.json5
-rw-r--r--apps/comments/l10n/uk.js8
-rw-r--r--apps/comments/l10n/uk.json6
-rw-r--r--apps/comments/l10n/ur_PK.js7
-rw-r--r--apps/comments/l10n/ur_PK.json5
-rw-r--r--apps/comments/l10n/vi.js7
-rw-r--r--apps/comments/l10n/vi.json5
-rw-r--r--apps/comments/l10n/zh_CN.js7
-rw-r--r--apps/comments/l10n/zh_CN.json5
-rw-r--r--apps/comments/l10n/zh_HK.js7
-rw-r--r--apps/comments/l10n/zh_HK.json5
-rw-r--r--apps/comments/l10n/zh_TW.js7
-rw-r--r--apps/comments/l10n/zh_TW.json5
-rw-r--r--apps/dav/appinfo/application.php4
-rw-r--r--apps/dav/lib/carddav/addressbook.php7
-rw-r--r--apps/dav/lib/carddav/addressbookimpl.php2
-rw-r--r--apps/dav/lib/carddav/carddavbackend.php37
-rw-r--r--apps/dav/lib/carddav/plugin.php32
-rw-r--r--apps/dav/lib/carddav/xml/groups.php45
-rw-r--r--apps/dav/lib/comments/commentsplugin.php2
-rw-r--r--apps/dav/lib/connector/sabre/file.php10
-rw-r--r--apps/dav/lib/connector/sabre/objecttree.php2
-rw-r--r--apps/dav/lib/hookmanager.php42
-rw-r--r--apps/dav/tests/unit/carddav/addressbookimpltest.php2
-rw-r--r--apps/dav/tests/unit/carddav/carddavbackendtest.php29
-rw-r--r--apps/encryption/l10n/cs_CZ.js2
-rw-r--r--apps/encryption/l10n/cs_CZ.json2
-rw-r--r--apps/encryption/l10n/fi_FI.js3
-rw-r--r--apps/encryption/l10n/fi_FI.json3
-rw-r--r--apps/encryption/l10n/fr.js2
-rw-r--r--apps/encryption/l10n/fr.json2
-rw-r--r--apps/encryption/l10n/he.js2
-rw-r--r--apps/encryption/l10n/he.json2
-rw-r--r--apps/encryption/l10n/it.js2
-rw-r--r--apps/encryption/l10n/it.json2
-rw-r--r--apps/encryption/l10n/ja.js2
-rw-r--r--apps/encryption/l10n/ja.json2
-rw-r--r--apps/encryption/l10n/nb_NO.js2
-rw-r--r--apps/encryption/l10n/nb_NO.json2
-rw-r--r--apps/encryption/l10n/pt_BR.js2
-rw-r--r--apps/encryption/l10n/pt_BR.json2
-rw-r--r--apps/encryption/l10n/pt_PT.js2
-rw-r--r--apps/encryption/l10n/pt_PT.json2
-rw-r--r--apps/encryption/l10n/ru.js2
-rw-r--r--apps/encryption/l10n/ru.json2
-rw-r--r--apps/encryption/l10n/sq.js2
-rw-r--r--apps/encryption/l10n/sq.json2
-rw-r--r--apps/encryption/l10n/tr.js2
-rw-r--r--apps/encryption/l10n/tr.json2
-rw-r--r--apps/federatedfilesharing/l10n/.gitkeep0
-rw-r--r--apps/federatedfilesharing/l10n/ast.js6
-rw-r--r--apps/federatedfilesharing/l10n/ast.json4
-rw-r--r--apps/federatedfilesharing/l10n/bg_BG.js7
-rw-r--r--apps/federatedfilesharing/l10n/bg_BG.json5
-rw-r--r--apps/federatedfilesharing/l10n/ca.js6
-rw-r--r--apps/federatedfilesharing/l10n/ca.json4
-rw-r--r--apps/federatedfilesharing/l10n/cs_CZ.js9
-rw-r--r--apps/federatedfilesharing/l10n/cs_CZ.json7
-rw-r--r--apps/federatedfilesharing/l10n/da.js8
-rw-r--r--apps/federatedfilesharing/l10n/da.json6
-rw-r--r--apps/federatedfilesharing/l10n/de.js8
-rw-r--r--apps/federatedfilesharing/l10n/de.json6
-rw-r--r--apps/federatedfilesharing/l10n/de_DE.js8
-rw-r--r--apps/federatedfilesharing/l10n/de_DE.json6
-rw-r--r--apps/federatedfilesharing/l10n/el.js8
-rw-r--r--apps/federatedfilesharing/l10n/el.json6
-rw-r--r--apps/federatedfilesharing/l10n/en_GB.js7
-rw-r--r--apps/federatedfilesharing/l10n/en_GB.json5
-rw-r--r--apps/federatedfilesharing/l10n/eo.js6
-rw-r--r--apps/federatedfilesharing/l10n/eo.json4
-rw-r--r--apps/federatedfilesharing/l10n/es.js9
-rw-r--r--apps/federatedfilesharing/l10n/es.json7
-rw-r--r--apps/federatedfilesharing/l10n/et_EE.js6
-rw-r--r--apps/federatedfilesharing/l10n/et_EE.json4
-rw-r--r--apps/federatedfilesharing/l10n/eu.js7
-rw-r--r--apps/federatedfilesharing/l10n/eu.json5
-rw-r--r--apps/federatedfilesharing/l10n/fi_FI.js9
-rw-r--r--apps/federatedfilesharing/l10n/fi_FI.json7
-rw-r--r--apps/federatedfilesharing/l10n/fr.js9
-rw-r--r--apps/federatedfilesharing/l10n/fr.json7
-rw-r--r--apps/federatedfilesharing/l10n/gl.js8
-rw-r--r--apps/federatedfilesharing/l10n/gl.json6
-rw-r--r--apps/federatedfilesharing/l10n/he.js9
-rw-r--r--apps/federatedfilesharing/l10n/he.json7
-rw-r--r--apps/federatedfilesharing/l10n/hr.js6
-rw-r--r--apps/federatedfilesharing/l10n/hr.json4
-rw-r--r--apps/federatedfilesharing/l10n/hu_HU.js8
-rw-r--r--apps/federatedfilesharing/l10n/hu_HU.json6
-rw-r--r--apps/federatedfilesharing/l10n/id.js8
-rw-r--r--apps/federatedfilesharing/l10n/id.json6
-rw-r--r--apps/federatedfilesharing/l10n/it.js9
-rw-r--r--apps/federatedfilesharing/l10n/it.json7
-rw-r--r--apps/federatedfilesharing/l10n/ja.js9
-rw-r--r--apps/federatedfilesharing/l10n/ja.json7
-rw-r--r--apps/federatedfilesharing/l10n/ko.js8
-rw-r--r--apps/federatedfilesharing/l10n/ko.json6
-rw-r--r--apps/federatedfilesharing/l10n/nb_NO.js9
-rw-r--r--apps/federatedfilesharing/l10n/nb_NO.json7
-rw-r--r--apps/federatedfilesharing/l10n/nl.js9
-rw-r--r--apps/federatedfilesharing/l10n/nl.json7
-rw-r--r--apps/federatedfilesharing/l10n/oc.js8
-rw-r--r--apps/federatedfilesharing/l10n/oc.json6
-rw-r--r--apps/federatedfilesharing/l10n/pl.js6
-rw-r--r--apps/federatedfilesharing/l10n/pl.json4
-rw-r--r--apps/federatedfilesharing/l10n/pt_BR.js9
-rw-r--r--apps/federatedfilesharing/l10n/pt_BR.json7
-rw-r--r--apps/federatedfilesharing/l10n/pt_PT.js9
-rw-r--r--apps/federatedfilesharing/l10n/pt_PT.json7
-rw-r--r--apps/federatedfilesharing/l10n/ru.js9
-rw-r--r--apps/federatedfilesharing/l10n/ru.json7
-rw-r--r--apps/federatedfilesharing/l10n/sk_SK.js8
-rw-r--r--apps/federatedfilesharing/l10n/sk_SK.json6
-rw-r--r--apps/federatedfilesharing/l10n/sl.js7
-rw-r--r--apps/federatedfilesharing/l10n/sl.json5
-rw-r--r--apps/federatedfilesharing/l10n/sq.js9
-rw-r--r--apps/federatedfilesharing/l10n/sq.json7
-rw-r--r--apps/federatedfilesharing/l10n/sr.js8
-rw-r--r--apps/federatedfilesharing/l10n/sr.json6
-rw-r--r--apps/federatedfilesharing/l10n/sv.js7
-rw-r--r--apps/federatedfilesharing/l10n/sv.json5
-rw-r--r--apps/federatedfilesharing/l10n/th_TH.js9
-rw-r--r--apps/federatedfilesharing/l10n/th_TH.json7
-rw-r--r--apps/federatedfilesharing/l10n/tr.js8
-rw-r--r--apps/federatedfilesharing/l10n/tr.json6
-rw-r--r--apps/federatedfilesharing/l10n/uk.js7
-rw-r--r--apps/federatedfilesharing/l10n/uk.json5
-rw-r--r--apps/federatedfilesharing/l10n/zh_CN.js6
-rw-r--r--apps/federatedfilesharing/l10n/zh_CN.json4
-rw-r--r--apps/federatedfilesharing/l10n/zh_TW.js9
-rw-r--r--apps/federatedfilesharing/l10n/zh_TW.json7
-rw-r--r--apps/federation/api/ocsauthapi.php25
-rw-r--r--apps/federation/backgroundjob/getsharedsecret.php8
-rw-r--r--apps/federation/backgroundjob/requestsharedsecret.php8
-rw-r--r--apps/federation/l10n/.gitkeep0
-rw-r--r--apps/federation/l10n/fi_FI.js11
-rw-r--r--apps/federation/l10n/fi_FI.json9
-rw-r--r--apps/federation/l10n/fr.js6
-rw-r--r--apps/federation/l10n/fr.json4
-rw-r--r--apps/federation/l10n/he.js11
-rw-r--r--apps/federation/l10n/he.json9
-rw-r--r--apps/federation/l10n/it.js10
-rw-r--r--apps/federation/l10n/it.json8
-rw-r--r--apps/federation/l10n/pt_BR.js11
-rw-r--r--apps/federation/l10n/pt_BR.json9
-rw-r--r--apps/federation/l10n/pt_PT.js11
-rw-r--r--apps/federation/l10n/pt_PT.json9
-rw-r--r--apps/federation/l10n/sq.js11
-rw-r--r--apps/federation/l10n/sq.json9
-rw-r--r--apps/federation/lib/dbhandler.php6
-rw-r--r--apps/federation/tests/api/ocsauthapitest.php3
-rw-r--r--apps/files/js/filelist.js14
-rw-r--r--apps/files/l10n/tr.js11
-rw-r--r--apps/files/l10n/tr.json11
-rw-r--r--apps/files/tests/js/filelistSpec.js31
-rw-r--r--apps/files_external/appinfo/application.php2
-rw-r--r--apps/files_external/l10n/cs_CZ.js3
-rw-r--r--apps/files_external/l10n/cs_CZ.json3
-rw-r--r--apps/files_external/l10n/de_DE.js2
-rw-r--r--apps/files_external/l10n/de_DE.json2
-rw-r--r--apps/files_external/l10n/es.js2
-rw-r--r--apps/files_external/l10n/es.json2
-rw-r--r--apps/files_external/l10n/fi_FI.js2
-rw-r--r--apps/files_external/l10n/fi_FI.json2
-rw-r--r--apps/files_external/l10n/fr.js2
-rw-r--r--apps/files_external/l10n/fr.json2
-rw-r--r--apps/files_external/l10n/he.js7
-rw-r--r--apps/files_external/l10n/he.json7
-rw-r--r--apps/files_external/l10n/it.js2
-rw-r--r--apps/files_external/l10n/it.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/l10n/nb_NO.js10
-rw-r--r--apps/files_external/l10n/nb_NO.json10
-rw-r--r--apps/files_external/l10n/nl.js2
-rw-r--r--apps/files_external/l10n/nl.json2
-rw-r--r--apps/files_external/l10n/pt_BR.js2
-rw-r--r--apps/files_external/l10n/pt_BR.json2
-rw-r--r--apps/files_external/l10n/pt_PT.js2
-rw-r--r--apps/files_external/l10n/pt_PT.json2
-rw-r--r--apps/files_external/l10n/ru.js9
-rw-r--r--apps/files_external/l10n/ru.json9
-rw-r--r--apps/files_external/l10n/sq.js4
-rw-r--r--apps/files_external/l10n/sq.json4
-rw-r--r--apps/files_external/l10n/th_TH.js2
-rw-r--r--apps/files_external/l10n/th_TH.json2
-rw-r--r--apps/files_external/l10n/tr.js10
-rw-r--r--apps/files_external/l10n/tr.json10
-rw-r--r--apps/files_external/lib/auth/password/logincredentials.php92
-rw-r--r--apps/files_external/lib/auth/password/userprovided.php88
-rw-r--r--apps/files_external/lib/smb.php19
-rw-r--r--apps/files_external/service/dbconfigservice.php36
-rw-r--r--apps/files_external/tests/command/listcommandtest.php7
-rw-r--r--apps/files_external/tests/service/dbconfigservicetest.php2
-rw-r--r--apps/files_external/tests/service/storagesservicetest.php2
-rw-r--r--apps/files_sharing/api/remote.php8
-rw-r--r--apps/files_sharing/api/server2server.php7
-rw-r--r--apps/files_sharing/api/share20ocs.php8
-rw-r--r--apps/files_sharing/api/sharees.php71
-rw-r--r--apps/files_sharing/js/share.js4
-rw-r--r--apps/files_sharing/l10n/ar.js2
-rw-r--r--apps/files_sharing/l10n/ar.json2
-rw-r--r--apps/files_sharing/l10n/ast.js2
-rw-r--r--apps/files_sharing/l10n/ast.json2
-rw-r--r--apps/files_sharing/l10n/az.js2
-rw-r--r--apps/files_sharing/l10n/az.json2
-rw-r--r--apps/files_sharing/l10n/bg_BG.js2
-rw-r--r--apps/files_sharing/l10n/bg_BG.json2
-rw-r--r--apps/files_sharing/l10n/bn_BD.js2
-rw-r--r--apps/files_sharing/l10n/bn_BD.json2
-rw-r--r--apps/files_sharing/l10n/bn_IN.js2
-rw-r--r--apps/files_sharing/l10n/bn_IN.json2
-rw-r--r--apps/files_sharing/l10n/ca.js2
-rw-r--r--apps/files_sharing/l10n/ca.json2
-rw-r--r--apps/files_sharing/l10n/cs_CZ.js28
-rw-r--r--apps/files_sharing/l10n/cs_CZ.json28
-rw-r--r--apps/files_sharing/l10n/da.js9
-rw-r--r--apps/files_sharing/l10n/da.json9
-rw-r--r--apps/files_sharing/l10n/de.js9
-rw-r--r--apps/files_sharing/l10n/de.json9
-rw-r--r--apps/files_sharing/l10n/de_AT.js2
-rw-r--r--apps/files_sharing/l10n/de_AT.json2
-rw-r--r--apps/files_sharing/l10n/de_DE.js8
-rw-r--r--apps/files_sharing/l10n/de_DE.json8
-rw-r--r--apps/files_sharing/l10n/el.js9
-rw-r--r--apps/files_sharing/l10n/el.json9
-rw-r--r--apps/files_sharing/l10n/en_GB.js2
-rw-r--r--apps/files_sharing/l10n/en_GB.json2
-rw-r--r--apps/files_sharing/l10n/eo.js2
-rw-r--r--apps/files_sharing/l10n/eo.json2
-rw-r--r--apps/files_sharing/l10n/es.js9
-rw-r--r--apps/files_sharing/l10n/es.json9
-rw-r--r--apps/files_sharing/l10n/es_AR.js2
-rw-r--r--apps/files_sharing/l10n/es_AR.json2
-rw-r--r--apps/files_sharing/l10n/es_CL.js2
-rw-r--r--apps/files_sharing/l10n/es_CL.json2
-rw-r--r--apps/files_sharing/l10n/et_EE.js2
-rw-r--r--apps/files_sharing/l10n/et_EE.json2
-rw-r--r--apps/files_sharing/l10n/eu.js2
-rw-r--r--apps/files_sharing/l10n/eu.json2
-rw-r--r--apps/files_sharing/l10n/fa.js2
-rw-r--r--apps/files_sharing/l10n/fa.json2
-rw-r--r--apps/files_sharing/l10n/fi_FI.js16
-rw-r--r--apps/files_sharing/l10n/fi_FI.json16
-rw-r--r--apps/files_sharing/l10n/fr.js28
-rw-r--r--apps/files_sharing/l10n/fr.json28
-rw-r--r--apps/files_sharing/l10n/gl.js2
-rw-r--r--apps/files_sharing/l10n/gl.json2
-rw-r--r--apps/files_sharing/l10n/he.js28
-rw-r--r--apps/files_sharing/l10n/he.json28
-rw-r--r--apps/files_sharing/l10n/hr.js2
-rw-r--r--apps/files_sharing/l10n/hr.json2
-rw-r--r--apps/files_sharing/l10n/hu_HU.js9
-rw-r--r--apps/files_sharing/l10n/hu_HU.json9
-rw-r--r--apps/files_sharing/l10n/ia.js2
-rw-r--r--apps/files_sharing/l10n/ia.json2
-rw-r--r--apps/files_sharing/l10n/id.js9
-rw-r--r--apps/files_sharing/l10n/id.json9
-rw-r--r--apps/files_sharing/l10n/it.js28
-rw-r--r--apps/files_sharing/l10n/it.json28
-rw-r--r--apps/files_sharing/l10n/ja.js19
-rw-r--r--apps/files_sharing/l10n/ja.json19
-rw-r--r--apps/files_sharing/l10n/km.js2
-rw-r--r--apps/files_sharing/l10n/km.json2
-rw-r--r--apps/files_sharing/l10n/ko.js9
-rw-r--r--apps/files_sharing/l10n/ko.json9
-rw-r--r--apps/files_sharing/l10n/lt_LT.js9
-rw-r--r--apps/files_sharing/l10n/lt_LT.json9
-rw-r--r--apps/files_sharing/l10n/lv.js2
-rw-r--r--apps/files_sharing/l10n/lv.json2
-rw-r--r--apps/files_sharing/l10n/mk.js4
-rw-r--r--apps/files_sharing/l10n/mk.json4
-rw-r--r--apps/files_sharing/l10n/ml_IN.js2
-rw-r--r--apps/files_sharing/l10n/ml_IN.json2
-rw-r--r--apps/files_sharing/l10n/mn.js2
-rw-r--r--apps/files_sharing/l10n/mn.json2
-rw-r--r--apps/files_sharing/l10n/ms_MY.js2
-rw-r--r--apps/files_sharing/l10n/ms_MY.json2
-rw-r--r--apps/files_sharing/l10n/nb_NO.js28
-rw-r--r--apps/files_sharing/l10n/nb_NO.json28
-rw-r--r--apps/files_sharing/l10n/nl.js9
-rw-r--r--apps/files_sharing/l10n/nl.json9
-rw-r--r--apps/files_sharing/l10n/nn_NO.js2
-rw-r--r--apps/files_sharing/l10n/nn_NO.json2
-rw-r--r--apps/files_sharing/l10n/oc.js9
-rw-r--r--apps/files_sharing/l10n/oc.json9
-rw-r--r--apps/files_sharing/l10n/pl.js2
-rw-r--r--apps/files_sharing/l10n/pl.json2
-rw-r--r--apps/files_sharing/l10n/pt_BR.js28
-rw-r--r--apps/files_sharing/l10n/pt_BR.json28
-rw-r--r--apps/files_sharing/l10n/pt_PT.js28
-rw-r--r--apps/files_sharing/l10n/pt_PT.json28
-rw-r--r--apps/files_sharing/l10n/ro.js2
-rw-r--r--apps/files_sharing/l10n/ro.json2
-rw-r--r--apps/files_sharing/l10n/ru.js11
-rw-r--r--apps/files_sharing/l10n/ru.json11
-rw-r--r--apps/files_sharing/l10n/sk_SK.js9
-rw-r--r--apps/files_sharing/l10n/sk_SK.json9
-rw-r--r--apps/files_sharing/l10n/sl.js2
-rw-r--r--apps/files_sharing/l10n/sl.json2
-rw-r--r--apps/files_sharing/l10n/sq.js28
-rw-r--r--apps/files_sharing/l10n/sq.json28
-rw-r--r--apps/files_sharing/l10n/sr.js2
-rw-r--r--apps/files_sharing/l10n/sr.json2
-rw-r--r--apps/files_sharing/l10n/sr@latin.js2
-rw-r--r--apps/files_sharing/l10n/sr@latin.json2
-rw-r--r--apps/files_sharing/l10n/sv.js2
-rw-r--r--apps/files_sharing/l10n/sv.json2
-rw-r--r--apps/files_sharing/l10n/ta_IN.js2
-rw-r--r--apps/files_sharing/l10n/ta_IN.json2
-rw-r--r--apps/files_sharing/l10n/th_TH.js9
-rw-r--r--apps/files_sharing/l10n/th_TH.json9
-rw-r--r--apps/files_sharing/l10n/tr.js29
-rw-r--r--apps/files_sharing/l10n/tr.json29
-rw-r--r--apps/files_sharing/l10n/uk.js2
-rw-r--r--apps/files_sharing/l10n/uk.json2
-rw-r--r--apps/files_sharing/l10n/zh_CN.js2
-rw-r--r--apps/files_sharing/l10n/zh_CN.json2
-rw-r--r--apps/files_sharing/l10n/zh_TW.js9
-rw-r--r--apps/files_sharing/l10n/zh_TW.json9
-rw-r--r--apps/files_sharing/lib/activity.php93
-rw-r--r--apps/files_sharing/lib/external/manager.php6
-rw-r--r--apps/files_sharing/lib/migration.php68
-rw-r--r--apps/files_sharing/tests/api.php120
-rw-r--r--apps/files_sharing/tests/api/shareestest.php101
-rw-r--r--apps/files_sharing/tests/migrationtest.php27
-rw-r--r--apps/systemtags/l10n/.gitkeep0
-rw-r--r--apps/systemtags/l10n/ar.js11
-rw-r--r--apps/systemtags/l10n/ar.json9
-rw-r--r--apps/systemtags/l10n/ast.js11
-rw-r--r--apps/systemtags/l10n/ast.json9
-rw-r--r--apps/systemtags/l10n/az.js11
-rw-r--r--apps/systemtags/l10n/az.json9
-rw-r--r--apps/systemtags/l10n/bg_BG.js11
-rw-r--r--apps/systemtags/l10n/bg_BG.json9
-rw-r--r--apps/systemtags/l10n/bn_BD.js9
-rw-r--r--apps/systemtags/l10n/bn_BD.json7
-rw-r--r--apps/systemtags/l10n/bn_IN.js8
-rw-r--r--apps/systemtags/l10n/bn_IN.json6
-rw-r--r--apps/systemtags/l10n/bs.js8
-rw-r--r--apps/systemtags/l10n/bs.json6
-rw-r--r--apps/systemtags/l10n/ca.js11
-rw-r--r--apps/systemtags/l10n/ca.json9
-rw-r--r--apps/systemtags/l10n/cs_CZ.js11
-rw-r--r--apps/systemtags/l10n/cs_CZ.json9
-rw-r--r--apps/systemtags/l10n/cy_GB.js9
-rw-r--r--apps/systemtags/l10n/cy_GB.json7
-rw-r--r--apps/systemtags/l10n/da.js11
-rw-r--r--apps/systemtags/l10n/da.json9
-rw-r--r--apps/systemtags/l10n/de.js11
-rw-r--r--apps/systemtags/l10n/de.json9
-rw-r--r--apps/systemtags/l10n/de_DE.js11
-rw-r--r--apps/systemtags/l10n/de_DE.json9
-rw-r--r--apps/systemtags/l10n/el.js11
-rw-r--r--apps/systemtags/l10n/el.json9
-rw-r--r--apps/systemtags/l10n/en_GB.js11
-rw-r--r--apps/systemtags/l10n/en_GB.json9
-rw-r--r--apps/systemtags/l10n/eo.js10
-rw-r--r--apps/systemtags/l10n/eo.json8
-rw-r--r--apps/systemtags/l10n/es.js11
-rw-r--r--apps/systemtags/l10n/es.json9
-rw-r--r--apps/systemtags/l10n/es_AR.js9
-rw-r--r--apps/systemtags/l10n/es_AR.json7
-rw-r--r--apps/systemtags/l10n/es_MX.js9
-rw-r--r--apps/systemtags/l10n/es_MX.json7
-rw-r--r--apps/systemtags/l10n/et_EE.js11
-rw-r--r--apps/systemtags/l10n/et_EE.json9
-rw-r--r--apps/systemtags/l10n/eu.js10
-rw-r--r--apps/systemtags/l10n/eu.json8
-rw-r--r--apps/systemtags/l10n/fa.js11
-rw-r--r--apps/systemtags/l10n/fa.json9
-rw-r--r--apps/systemtags/l10n/fi_FI.js17
-rw-r--r--apps/systemtags/l10n/fi_FI.json15
-rw-r--r--apps/systemtags/l10n/fr.js11
-rw-r--r--apps/systemtags/l10n/fr.json9
-rw-r--r--apps/systemtags/l10n/gl.js11
-rw-r--r--apps/systemtags/l10n/gl.json9
-rw-r--r--apps/systemtags/l10n/he.js25
-rw-r--r--apps/systemtags/l10n/he.json23
-rw-r--r--apps/systemtags/l10n/hr.js9
-rw-r--r--apps/systemtags/l10n/hr.json7
-rw-r--r--apps/systemtags/l10n/hu_HU.js11
-rw-r--r--apps/systemtags/l10n/hu_HU.json9
-rw-r--r--apps/systemtags/l10n/hy.js8
-rw-r--r--apps/systemtags/l10n/hy.json6
-rw-r--r--apps/systemtags/l10n/ia.js9
-rw-r--r--apps/systemtags/l10n/ia.json7
-rw-r--r--apps/systemtags/l10n/id.js11
-rw-r--r--apps/systemtags/l10n/id.json9
-rw-r--r--apps/systemtags/l10n/is.js10
-rw-r--r--apps/systemtags/l10n/is.json8
-rw-r--r--apps/systemtags/l10n/it.js13
-rw-r--r--apps/systemtags/l10n/it.json11
-rw-r--r--apps/systemtags/l10n/ja.js11
-rw-r--r--apps/systemtags/l10n/ja.json9
-rw-r--r--apps/systemtags/l10n/ka_GE.js9
-rw-r--r--apps/systemtags/l10n/ka_GE.json7
-rw-r--r--apps/systemtags/l10n/km.js9
-rw-r--r--apps/systemtags/l10n/km.json7
-rw-r--r--apps/systemtags/l10n/kn.js8
-rw-r--r--apps/systemtags/l10n/kn.json6
-rw-r--r--apps/systemtags/l10n/ko.js11
-rw-r--r--apps/systemtags/l10n/ko.json9
-rw-r--r--apps/systemtags/l10n/ku_IQ.js7
-rw-r--r--apps/systemtags/l10n/ku_IQ.json5
-rw-r--r--apps/systemtags/l10n/lb.js10
-rw-r--r--apps/systemtags/l10n/lb.json8
-rw-r--r--apps/systemtags/l10n/lt_LT.js11
-rw-r--r--apps/systemtags/l10n/lt_LT.json9
-rw-r--r--apps/systemtags/l10n/lv.js10
-rw-r--r--apps/systemtags/l10n/lv.json8
-rw-r--r--apps/systemtags/l10n/mk.js11
-rw-r--r--apps/systemtags/l10n/mk.json9
-rw-r--r--apps/systemtags/l10n/ms_MY.js8
-rw-r--r--apps/systemtags/l10n/ms_MY.json6
-rw-r--r--apps/systemtags/l10n/nb_NO.js11
-rw-r--r--apps/systemtags/l10n/nb_NO.json9
-rw-r--r--apps/systemtags/l10n/nds.js6
-rw-r--r--apps/systemtags/l10n/nds.json4
-rw-r--r--apps/systemtags/l10n/nl.js11
-rw-r--r--apps/systemtags/l10n/nl.json9
-rw-r--r--apps/systemtags/l10n/nn_NO.js9
-rw-r--r--apps/systemtags/l10n/nn_NO.json7
-rw-r--r--apps/systemtags/l10n/oc.js11
-rw-r--r--apps/systemtags/l10n/oc.json9
-rw-r--r--apps/systemtags/l10n/pl.js10
-rw-r--r--apps/systemtags/l10n/pl.json8
-rw-r--r--apps/systemtags/l10n/pt_BR.js25
-rw-r--r--apps/systemtags/l10n/pt_BR.json23
-rw-r--r--apps/systemtags/l10n/pt_PT.js25
-rw-r--r--apps/systemtags/l10n/pt_PT.json23
-rw-r--r--apps/systemtags/l10n/ro.js9
-rw-r--r--apps/systemtags/l10n/ro.json7
-rw-r--r--apps/systemtags/l10n/ru.js11
-rw-r--r--apps/systemtags/l10n/ru.json9
-rw-r--r--apps/systemtags/l10n/si_LK.js9
-rw-r--r--apps/systemtags/l10n/si_LK.json7
-rw-r--r--apps/systemtags/l10n/sk_SK.js11
-rw-r--r--apps/systemtags/l10n/sk_SK.json9
-rw-r--r--apps/systemtags/l10n/sl.js11
-rw-r--r--apps/systemtags/l10n/sl.json9
-rw-r--r--apps/systemtags/l10n/sq.js25
-rw-r--r--apps/systemtags/l10n/sq.json23
-rw-r--r--apps/systemtags/l10n/sr.js11
-rw-r--r--apps/systemtags/l10n/sr.json9
-rw-r--r--apps/systemtags/l10n/sr@latin.js11
-rw-r--r--apps/systemtags/l10n/sr@latin.json9
-rw-r--r--apps/systemtags/l10n/sv.js11
-rw-r--r--apps/systemtags/l10n/sv.json9
-rw-r--r--apps/systemtags/l10n/ta_LK.js9
-rw-r--r--apps/systemtags/l10n/ta_LK.json7
-rw-r--r--apps/systemtags/l10n/te.js7
-rw-r--r--apps/systemtags/l10n/te.json5
-rw-r--r--apps/systemtags/l10n/th_TH.js11
-rw-r--r--apps/systemtags/l10n/th_TH.json9
-rw-r--r--apps/systemtags/l10n/tr.js11
-rw-r--r--apps/systemtags/l10n/tr.json9
-rw-r--r--apps/systemtags/l10n/ug.js9
-rw-r--r--apps/systemtags/l10n/ug.json7
-rw-r--r--apps/systemtags/l10n/uk.js11
-rw-r--r--apps/systemtags/l10n/uk.json9
-rw-r--r--apps/systemtags/l10n/ur_PK.js6
-rw-r--r--apps/systemtags/l10n/ur_PK.json4
-rw-r--r--apps/systemtags/l10n/vi.js10
-rw-r--r--apps/systemtags/l10n/vi.json8
-rw-r--r--apps/systemtags/l10n/zh_CN.js11
-rw-r--r--apps/systemtags/l10n/zh_CN.json9
-rw-r--r--apps/systemtags/l10n/zh_HK.js7
-rw-r--r--apps/systemtags/l10n/zh_HK.json5
-rw-r--r--apps/systemtags/l10n/zh_TW.js11
-rw-r--r--apps/systemtags/l10n/zh_TW.json9
-rw-r--r--apps/updatenotification/appinfo/app.php3
-rw-r--r--apps/updatenotification/l10n/.gitkeep0
-rw-r--r--apps/updatenotification/l10n/ar.js6
-rw-r--r--apps/updatenotification/l10n/ar.json4
-rw-r--r--apps/updatenotification/l10n/ast.js6
-rw-r--r--apps/updatenotification/l10n/ast.json4
-rw-r--r--apps/updatenotification/l10n/az.js6
-rw-r--r--apps/updatenotification/l10n/az.json4
-rw-r--r--apps/updatenotification/l10n/bg_BG.js6
-rw-r--r--apps/updatenotification/l10n/bg_BG.json4
-rw-r--r--apps/updatenotification/l10n/bn_BD.js6
-rw-r--r--apps/updatenotification/l10n/bn_BD.json4
-rw-r--r--apps/updatenotification/l10n/bs.js6
-rw-r--r--apps/updatenotification/l10n/bs.json4
-rw-r--r--apps/updatenotification/l10n/ca.js7
-rw-r--r--apps/updatenotification/l10n/ca.json5
-rw-r--r--apps/updatenotification/l10n/cs_CZ.js7
-rw-r--r--apps/updatenotification/l10n/cs_CZ.json5
-rw-r--r--apps/updatenotification/l10n/da.js7
-rw-r--r--apps/updatenotification/l10n/da.json5
-rw-r--r--apps/updatenotification/l10n/de.js8
-rw-r--r--apps/updatenotification/l10n/de.json6
-rw-r--r--apps/updatenotification/l10n/de_DE.js8
-rw-r--r--apps/updatenotification/l10n/de_DE.json6
-rw-r--r--apps/updatenotification/l10n/el.js7
-rw-r--r--apps/updatenotification/l10n/el.json5
-rw-r--r--apps/updatenotification/l10n/en_GB.js7
-rw-r--r--apps/updatenotification/l10n/en_GB.json5
-rw-r--r--apps/updatenotification/l10n/es.js7
-rw-r--r--apps/updatenotification/l10n/es.json5
-rw-r--r--apps/updatenotification/l10n/es_AR.js6
-rw-r--r--apps/updatenotification/l10n/es_AR.json4
-rw-r--r--apps/updatenotification/l10n/et_EE.js7
-rw-r--r--apps/updatenotification/l10n/et_EE.json5
-rw-r--r--apps/updatenotification/l10n/eu.js6
-rw-r--r--apps/updatenotification/l10n/eu.json4
-rw-r--r--apps/updatenotification/l10n/fa.js7
-rw-r--r--apps/updatenotification/l10n/fa.json5
-rw-r--r--apps/updatenotification/l10n/fi_FI.js9
-rw-r--r--apps/updatenotification/l10n/fi_FI.json7
-rw-r--r--apps/updatenotification/l10n/fr.js7
-rw-r--r--apps/updatenotification/l10n/fr.json5
-rw-r--r--apps/updatenotification/l10n/gl.js7
-rw-r--r--apps/updatenotification/l10n/gl.json5
-rw-r--r--apps/updatenotification/l10n/he.js9
-rw-r--r--apps/updatenotification/l10n/he.json7
-rw-r--r--apps/updatenotification/l10n/hr.js6
-rw-r--r--apps/updatenotification/l10n/hr.json4
-rw-r--r--apps/updatenotification/l10n/hu_HU.js7
-rw-r--r--apps/updatenotification/l10n/hu_HU.json5
-rw-r--r--apps/updatenotification/l10n/id.js7
-rw-r--r--apps/updatenotification/l10n/id.json5
-rw-r--r--apps/updatenotification/l10n/is.js6
-rw-r--r--apps/updatenotification/l10n/is.json4
-rw-r--r--apps/updatenotification/l10n/it.js8
-rw-r--r--apps/updatenotification/l10n/it.json6
-rw-r--r--apps/updatenotification/l10n/ja.js7
-rw-r--r--apps/updatenotification/l10n/ja.json5
-rw-r--r--apps/updatenotification/l10n/ko.js7
-rw-r--r--apps/updatenotification/l10n/ko.json5
-rw-r--r--apps/updatenotification/l10n/lt_LT.js6
-rw-r--r--apps/updatenotification/l10n/lt_LT.json4
-rw-r--r--apps/updatenotification/l10n/mk.js6
-rw-r--r--apps/updatenotification/l10n/mk.json4
-rw-r--r--apps/updatenotification/l10n/nb_NO.js7
-rw-r--r--apps/updatenotification/l10n/nb_NO.json5
-rw-r--r--apps/updatenotification/l10n/nl.js7
-rw-r--r--apps/updatenotification/l10n/nl.json5
-rw-r--r--apps/updatenotification/l10n/oc.js6
-rw-r--r--apps/updatenotification/l10n/oc.json4
-rw-r--r--apps/updatenotification/l10n/pl.js6
-rw-r--r--apps/updatenotification/l10n/pl.json4
-rw-r--r--apps/updatenotification/l10n/pt_BR.js9
-rw-r--r--apps/updatenotification/l10n/pt_BR.json7
-rw-r--r--apps/updatenotification/l10n/pt_PT.js9
-rw-r--r--apps/updatenotification/l10n/pt_PT.json7
-rw-r--r--apps/updatenotification/l10n/ru.js7
-rw-r--r--apps/updatenotification/l10n/ru.json5
-rw-r--r--apps/updatenotification/l10n/sk_SK.js7
-rw-r--r--apps/updatenotification/l10n/sk_SK.json5
-rw-r--r--apps/updatenotification/l10n/sl.js7
-rw-r--r--apps/updatenotification/l10n/sl.json5
-rw-r--r--apps/updatenotification/l10n/sq.js9
-rw-r--r--apps/updatenotification/l10n/sq.json7
-rw-r--r--apps/updatenotification/l10n/sr.js7
-rw-r--r--apps/updatenotification/l10n/sr.json5
-rw-r--r--apps/updatenotification/l10n/sv.js7
-rw-r--r--apps/updatenotification/l10n/sv.json5
-rw-r--r--apps/updatenotification/l10n/th_TH.js6
-rw-r--r--apps/updatenotification/l10n/th_TH.json4
-rw-r--r--apps/updatenotification/l10n/tr.js7
-rw-r--r--apps/updatenotification/l10n/tr.json5
-rw-r--r--apps/updatenotification/l10n/uk.js7
-rw-r--r--apps/updatenotification/l10n/uk.json5
-rw-r--r--apps/updatenotification/l10n/zh_CN.js7
-rw-r--r--apps/updatenotification/l10n/zh_CN.json5
-rw-r--r--apps/updatenotification/l10n/zh_TW.js7
-rw-r--r--apps/updatenotification/l10n/zh_TW.json5
-rw-r--r--apps/user_ldap/js/wizard/wizardTabGeneric.js31
-rw-r--r--apps/user_ldap/js/wizard/wizardTabGroupFilter.js2
-rw-r--r--apps/user_ldap/js/wizard/wizardTabLoginFilter.js2
-rw-r--r--apps/user_ldap/js/wizard/wizardTabUserFilter.js2
-rw-r--r--apps/user_ldap/l10n/cs_CZ.js3
-rw-r--r--apps/user_ldap/l10n/cs_CZ.json3
-rw-r--r--apps/user_ldap/l10n/he.js13
-rw-r--r--apps/user_ldap/l10n/he.json13
-rw-r--r--apps/user_ldap/l10n/nb_NO.js4
-rw-r--r--apps/user_ldap/l10n/nb_NO.json4
-rw-r--r--apps/user_ldap/l10n/ru.js4
-rw-r--r--apps/user_ldap/l10n/ru.json4
-rw-r--r--apps/user_ldap/l10n/tr.js4
-rw-r--r--apps/user_ldap/l10n/tr.json4
-rwxr-xr-xautotest.sh10
-rw-r--r--build/gen-coverage-badge.php59
-rw-r--r--console.php2
-rw-r--r--core/command/app/enable.php4
-rw-r--r--core/command/user/lastseen.php2
-rw-r--r--core/css/icons.css7
-rw-r--r--core/css/systemtags.css5
-rw-r--r--core/img/actions/comment.pngbin169 -> 323 bytes
-rw-r--r--core/img/actions/comment.svg4
-rw-r--r--core/img/actions/delete-white.pngbin0 -> 236 bytes
-rw-r--r--core/img/actions/delete-white.svg4
-rw-r--r--core/js/share.js24
-rw-r--r--core/js/sharedialogview.js59
-rw-r--r--core/js/shareitemmodel.js8
-rw-r--r--core/js/systemtags/systemtagscollection.js2
-rw-r--r--core/js/tests/specs/sharedialogviewSpec.js16
-rw-r--r--core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js54
-rw-r--r--core/l10n/cs_CZ.js2
-rw-r--r--core/l10n/cs_CZ.json2
-rw-r--r--core/l10n/de.js14
-rw-r--r--core/l10n/de.json14
-rw-r--r--core/l10n/fi_FI.js4
-rw-r--r--core/l10n/fi_FI.json4
-rw-r--r--core/l10n/fr.js2
-rw-r--r--core/l10n/fr.json2
-rw-r--r--core/l10n/he.js5
-rw-r--r--core/l10n/he.json5
-rw-r--r--core/l10n/hu_HU.js13
-rw-r--r--core/l10n/hu_HU.json13
-rw-r--r--core/l10n/it.js4
-rw-r--r--core/l10n/it.json4
-rw-r--r--core/l10n/nb_NO.js9
-rw-r--r--core/l10n/nb_NO.json9
-rw-r--r--core/l10n/pt_BR.js4
-rw-r--r--core/l10n/pt_BR.json4
-rw-r--r--core/l10n/pt_PT.js4
-rw-r--r--core/l10n/pt_PT.json4
-rw-r--r--core/l10n/ru.js1
-rw-r--r--core/l10n/ru.json1
-rw-r--r--core/l10n/sq.js4
-rw-r--r--core/l10n/sq.json4
-rw-r--r--core/l10n/tr.js24
-rw-r--r--core/l10n/tr.json24
-rw-r--r--core/shipped.json2
-rw-r--r--l10n/.tx/config30
-rw-r--r--lib/base.php2
-rw-r--r--lib/l10n/ast.js1
-rw-r--r--lib/l10n/ast.json1
-rw-r--r--lib/l10n/bg_BG.js1
-rw-r--r--lib/l10n/bg_BG.json1
-rw-r--r--lib/l10n/bn_BD.js1
-rw-r--r--lib/l10n/bn_BD.json1
-rw-r--r--lib/l10n/ca.js1
-rw-r--r--lib/l10n/ca.json1
-rw-r--r--lib/l10n/cs_CZ.js2
-rw-r--r--lib/l10n/cs_CZ.json2
-rw-r--r--lib/l10n/da.js1
-rw-r--r--lib/l10n/da.json1
-rw-r--r--lib/l10n/de.js1
-rw-r--r--lib/l10n/de.json1
-rw-r--r--lib/l10n/de_DE.js1
-rw-r--r--lib/l10n/de_DE.json1
-rw-r--r--lib/l10n/el.js1
-rw-r--r--lib/l10n/el.json1
-rw-r--r--lib/l10n/en_GB.js1
-rw-r--r--lib/l10n/en_GB.json1
-rw-r--r--lib/l10n/es.js1
-rw-r--r--lib/l10n/es.json1
-rw-r--r--lib/l10n/es_AR.js1
-rw-r--r--lib/l10n/es_AR.json1
-rw-r--r--lib/l10n/es_MX.js1
-rw-r--r--lib/l10n/es_MX.json1
-rw-r--r--lib/l10n/et_EE.js1
-rw-r--r--lib/l10n/et_EE.json1
-rw-r--r--lib/l10n/eu.js1
-rw-r--r--lib/l10n/eu.json1
-rw-r--r--lib/l10n/fi_FI.js3
-rw-r--r--lib/l10n/fi_FI.json3
-rw-r--r--lib/l10n/fr.js2
-rw-r--r--lib/l10n/fr.json2
-rw-r--r--lib/l10n/gl.js1
-rw-r--r--lib/l10n/gl.json1
-rw-r--r--lib/l10n/he.js4
-rw-r--r--lib/l10n/he.json4
-rw-r--r--lib/l10n/hr.js1
-rw-r--r--lib/l10n/hr.json1
-rw-r--r--lib/l10n/hu_HU.js1
-rw-r--r--lib/l10n/hu_HU.json1
-rw-r--r--lib/l10n/id.js1
-rw-r--r--lib/l10n/id.json1
-rw-r--r--lib/l10n/it.js2
-rw-r--r--lib/l10n/it.json2
-rw-r--r--lib/l10n/ja.js2
-rw-r--r--lib/l10n/ja.json2
-rw-r--r--lib/l10n/ko.js1
-rw-r--r--lib/l10n/ko.json1
-rw-r--r--lib/l10n/lt_LT.js1
-rw-r--r--lib/l10n/lt_LT.json1
-rw-r--r--lib/l10n/nb_NO.js4
-rw-r--r--lib/l10n/nb_NO.json4
-rw-r--r--lib/l10n/nl.js1
-rw-r--r--lib/l10n/nl.json1
-rw-r--r--lib/l10n/oc.js1
-rw-r--r--lib/l10n/oc.json1
-rw-r--r--lib/l10n/pl.js1
-rw-r--r--lib/l10n/pl.json1
-rw-r--r--lib/l10n/pt_BR.js2
-rw-r--r--lib/l10n/pt_BR.json2
-rw-r--r--lib/l10n/pt_PT.js2
-rw-r--r--lib/l10n/pt_PT.json2
-rw-r--r--lib/l10n/ru.js2
-rw-r--r--lib/l10n/ru.json2
-rw-r--r--lib/l10n/sk_SK.js1
-rw-r--r--lib/l10n/sk_SK.json1
-rw-r--r--lib/l10n/sl.js1
-rw-r--r--lib/l10n/sl.json1
-rw-r--r--lib/l10n/sq.js2
-rw-r--r--lib/l10n/sq.json2
-rw-r--r--lib/l10n/sr.js1
-rw-r--r--lib/l10n/sr.json1
-rw-r--r--lib/l10n/sv.js1
-rw-r--r--lib/l10n/sv.json1
-rw-r--r--lib/l10n/th_TH.js1
-rw-r--r--lib/l10n/th_TH.json1
-rw-r--r--lib/l10n/tr.js2
-rw-r--r--lib/l10n/tr.json2
-rw-r--r--lib/l10n/uk.js1
-rw-r--r--lib/l10n/uk.json1
-rw-r--r--lib/l10n/zh_CN.js1
-rw-r--r--lib/l10n/zh_CN.json1
-rw-r--r--lib/l10n/zh_TW.js7
-rw-r--r--lib/l10n/zh_TW.json7
-rw-r--r--lib/private/api.php5
-rw-r--r--lib/private/app.php55
-rw-r--r--lib/private/app/appmanager.php3
-rw-r--r--lib/private/app/codechecker/infochecker.php17
-rw-r--r--lib/private/helper.php3
-rw-r--r--lib/private/image.php1
-rw-r--r--lib/private/installer.php9
-rw-r--r--lib/private/integritycheck/checker.php2
-rw-r--r--lib/private/notification/manager.php2
-rw-r--r--lib/private/share20/defaultshareprovider.php4
-rw-r--r--lib/private/share20/manager.php45
-rw-r--r--lib/private/share20/share.php11
-rw-r--r--lib/private/templatelayout.php2
-rw-r--r--lib/private/user/manager.php2
-rw-r--r--lib/private/user/user.php25
-rw-r--r--lib/public/app.php2
-rw-r--r--lib/public/constants.php5
-rw-r--r--settings/controller/checksetupcontroller.php4
-rw-r--r--settings/l10n/de.js12
-rw-r--r--settings/l10n/de.json12
-rw-r--r--settings/l10n/nb_NO.js2
-rw-r--r--settings/l10n/nb_NO.json2
-rw-r--r--settings/l10n/tr.js9
-rw-r--r--settings/l10n/tr.json9
-rw-r--r--tests/data/testapp.zipbin895 -> 689 bytes
-rw-r--r--tests/data/testapp2.zipbin2449 -> 2240 bytes
-rw-r--r--tests/docker/mariadb/oc.cnf5
-rw-r--r--tests/lib/app.php10
-rw-r--r--tests/lib/app/codechecker/infocheckertest.php2
-rw-r--r--tests/lib/files/storage/storage.php6
-rw-r--r--tests/lib/share20/managertest.php59
-rw-r--r--tests/lib/util.php14
-rw-r--r--tests/phpunit-autotest.xml23
-rw-r--r--tests/settings/controller/CheckSetupControllerTest.php19
-rw-r--r--version.php4
897 files changed, 6251 insertions, 966 deletions
diff --git a/.scrutinizer.yml b/.scrutinizer.yml
index c788343e5d3..687613d6c26 100644
--- a/.scrutinizer.yml
+++ b/.scrutinizer.yml
@@ -6,6 +6,7 @@ filter:
- 'l10n/*'
- 'core/l10n/*'
- 'apps/*/l10n/*'
+ - 'apps/*/tests/*'
- 'lib/l10n/*'
- 'core/vendor/*'
- 'core/js/tests/lib/*.js'
@@ -13,12 +14,11 @@ filter:
- 'core/js/jquery-showpassword.js'
- 'core/js/jquery-tipsy.js'
- 'core/js/placeholders.js'
+ - 'settings/l10n/*'
+ - 'tests/*'
+ - 'build/*'
imports:
- javascript
- php
-
-tools:
- external_code_coverage:
- timeout: 7200 # Timeout in seconds. 120 minutes
diff --git a/3rdparty b/3rdparty
-Subproject 7e0c3708d7b44a132e2e360fd39a663af7c1f13
+Subproject 495e415ebccc94feda0d9c7490b629806d0199f
diff --git a/apps/comments/l10n/.gitkeep b/apps/comments/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/comments/l10n/.gitkeep
diff --git a/apps/comments/l10n/af_ZA.js b/apps/comments/l10n/af_ZA.js
new file mode 100644
index 00000000000..0f841f8ec48
--- /dev/null
+++ b/apps/comments/l10n/af_ZA.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Kanselleer"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/af_ZA.json b/apps/comments/l10n/af_ZA.json
new file mode 100644
index 00000000000..81ad64aac33
--- /dev/null
+++ b/apps/comments/l10n/af_ZA.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Cancel" : "Kanselleer"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/ar.js b/apps/comments/l10n/ar.js
new file mode 100644
index 00000000000..ec211e25e43
--- /dev/null
+++ b/apps/comments/l10n/ar.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "إلغاء",
+ "Save" : "حفظ",
+ "Comment" : "تعليق"
+},
+"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
diff --git a/apps/comments/l10n/ar.json b/apps/comments/l10n/ar.json
new file mode 100644
index 00000000000..8f601e76e16
--- /dev/null
+++ b/apps/comments/l10n/ar.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "إلغاء",
+ "Save" : "حفظ",
+ "Comment" : "تعليق"
+},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/ast.js b/apps/comments/l10n/ast.js
new file mode 100644
index 00000000000..716facf525d
--- /dev/null
+++ b/apps/comments/l10n/ast.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Encaboxar",
+ "Save" : "Guardar",
+ "Comment" : "Comentariu"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/ast.json b/apps/comments/l10n/ast.json
new file mode 100644
index 00000000000..30dd7e23077
--- /dev/null
+++ b/apps/comments/l10n/ast.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Encaboxar",
+ "Save" : "Guardar",
+ "Comment" : "Comentariu"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/az.js b/apps/comments/l10n/az.js
new file mode 100644
index 00000000000..75428f67cc5
--- /dev/null
+++ b/apps/comments/l10n/az.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Dayandır",
+ "Save" : "Saxla",
+ "Comment" : "Komentariya"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/az.json b/apps/comments/l10n/az.json
new file mode 100644
index 00000000000..c54d6648c59
--- /dev/null
+++ b/apps/comments/l10n/az.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Dayandır",
+ "Save" : "Saxla",
+ "Comment" : "Komentariya"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/bg_BG.js b/apps/comments/l10n/bg_BG.js
new file mode 100644
index 00000000000..e63aedf80db
--- /dev/null
+++ b/apps/comments/l10n/bg_BG.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Отказ",
+ "Save" : "Запазване",
+ "Comment" : "Коментар"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/bg_BG.json b/apps/comments/l10n/bg_BG.json
new file mode 100644
index 00000000000..78ad0b57d4c
--- /dev/null
+++ b/apps/comments/l10n/bg_BG.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Отказ",
+ "Save" : "Запазване",
+ "Comment" : "Коментар"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/bn_BD.js b/apps/comments/l10n/bn_BD.js
new file mode 100644
index 00000000000..fcff25b8402
--- /dev/null
+++ b/apps/comments/l10n/bn_BD.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "বাতিল",
+ "Save" : "সংরক্ষণ",
+ "Comment" : "মন্তব্য"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/bn_BD.json b/apps/comments/l10n/bn_BD.json
new file mode 100644
index 00000000000..81cd8fe1a48
--- /dev/null
+++ b/apps/comments/l10n/bn_BD.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "বাতিল",
+ "Save" : "সংরক্ষণ",
+ "Comment" : "মন্তব্য"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/bn_IN.js b/apps/comments/l10n/bn_IN.js
new file mode 100644
index 00000000000..7b479dc0264
--- /dev/null
+++ b/apps/comments/l10n/bn_IN.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "বাতিল করা",
+ "Save" : "সেভ"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/bn_IN.json b/apps/comments/l10n/bn_IN.json
new file mode 100644
index 00000000000..9df2ea07062
--- /dev/null
+++ b/apps/comments/l10n/bn_IN.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "বাতিল করা",
+ "Save" : "সেভ"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/bs.js b/apps/comments/l10n/bs.js
new file mode 100644
index 00000000000..b1f98fedfa6
--- /dev/null
+++ b/apps/comments/l10n/bs.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Odustani",
+ "Save" : "Spremi",
+ "Comment" : "Komentar"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/comments/l10n/bs.json b/apps/comments/l10n/bs.json
new file mode 100644
index 00000000000..d73df1a46c6
--- /dev/null
+++ b/apps/comments/l10n/bs.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Odustani",
+ "Save" : "Spremi",
+ "Comment" : "Komentar"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/ca.js b/apps/comments/l10n/ca.js
new file mode 100644
index 00000000000..a0d508f0afd
--- /dev/null
+++ b/apps/comments/l10n/ca.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Cancel·la",
+ "Save" : "Desa",
+ "Comment" : "Comentari"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/ca.json b/apps/comments/l10n/ca.json
new file mode 100644
index 00000000000..2bfdc24610b
--- /dev/null
+++ b/apps/comments/l10n/ca.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Cancel·la",
+ "Save" : "Desa",
+ "Comment" : "Comentari"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/cs_CZ.js b/apps/comments/l10n/cs_CZ.js
new file mode 100644
index 00000000000..aee5a6ffafd
--- /dev/null
+++ b/apps/comments/l10n/cs_CZ.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Zrušit",
+ "Save" : "Uložit",
+ "Comment" : "Komentář"
+},
+"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/comments/l10n/cs_CZ.json b/apps/comments/l10n/cs_CZ.json
new file mode 100644
index 00000000000..99b454bc486
--- /dev/null
+++ b/apps/comments/l10n/cs_CZ.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Zrušit",
+ "Save" : "Uložit",
+ "Comment" : "Komentář"
+},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/cy_GB.js b/apps/comments/l10n/cy_GB.js
new file mode 100644
index 00000000000..4e1c6a57f6e
--- /dev/null
+++ b/apps/comments/l10n/cy_GB.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Diddymu",
+ "Save" : "Cadw"
+},
+"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;");
diff --git a/apps/comments/l10n/cy_GB.json b/apps/comments/l10n/cy_GB.json
new file mode 100644
index 00000000000..1ea3eafef30
--- /dev/null
+++ b/apps/comments/l10n/cy_GB.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "Diddymu",
+ "Save" : "Cadw"
+},"pluralForm" :"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/da.js b/apps/comments/l10n/da.js
new file mode 100644
index 00000000000..60574894c35
--- /dev/null
+++ b/apps/comments/l10n/da.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Annullér",
+ "Save" : "Gem",
+ "Comment" : "Kommentér"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/da.json b/apps/comments/l10n/da.json
new file mode 100644
index 00000000000..7524d5675ba
--- /dev/null
+++ b/apps/comments/l10n/da.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Annullér",
+ "Save" : "Gem",
+ "Comment" : "Kommentér"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/de.js b/apps/comments/l10n/de.js
new file mode 100644
index 00000000000..4a38f54f52e
--- /dev/null
+++ b/apps/comments/l10n/de.js
@@ -0,0 +1,12 @@
+OC.L10N.register(
+ "comments",
+ {
+ "<strong>Comments</strong> for files" : "<strong>Kommentare</strong> für Dateien",
+ "Comments" : "Kommentare",
+ "Delete comment" : "Kommentar löschen",
+ "Cancel" : "Abbrechen",
+ "[Deleted user]" : "[Gelöschter Benutzer]",
+ "Save" : "Speichern",
+ "Comment" : "Kommentar"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/de.json b/apps/comments/l10n/de.json
new file mode 100644
index 00000000000..0d4ebb56e99
--- /dev/null
+++ b/apps/comments/l10n/de.json
@@ -0,0 +1,10 @@
+{ "translations": {
+ "<strong>Comments</strong> for files" : "<strong>Kommentare</strong> für Dateien",
+ "Comments" : "Kommentare",
+ "Delete comment" : "Kommentar löschen",
+ "Cancel" : "Abbrechen",
+ "[Deleted user]" : "[Gelöschter Benutzer]",
+ "Save" : "Speichern",
+ "Comment" : "Kommentar"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/de_AT.js b/apps/comments/l10n/de_AT.js
new file mode 100644
index 00000000000..f92cad6bcde
--- /dev/null
+++ b/apps/comments/l10n/de_AT.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Abbrechen",
+ "Save" : "Speichern"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/de_AT.json b/apps/comments/l10n/de_AT.json
new file mode 100644
index 00000000000..45d2f9e21dd
--- /dev/null
+++ b/apps/comments/l10n/de_AT.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "Abbrechen",
+ "Save" : "Speichern"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/de_DE.js b/apps/comments/l10n/de_DE.js
new file mode 100644
index 00000000000..4abc9024115
--- /dev/null
+++ b/apps/comments/l10n/de_DE.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Abbrechen",
+ "Save" : "Speichern",
+ "Comment" : "Kommentar"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/de_DE.json b/apps/comments/l10n/de_DE.json
new file mode 100644
index 00000000000..8ec33eb3bd6
--- /dev/null
+++ b/apps/comments/l10n/de_DE.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Abbrechen",
+ "Save" : "Speichern",
+ "Comment" : "Kommentar"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/el.js b/apps/comments/l10n/el.js
new file mode 100644
index 00000000000..c89e6410b9b
--- /dev/null
+++ b/apps/comments/l10n/el.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Άκυρο",
+ "Save" : "Αποθήκευση",
+ "Comment" : "Σχόλιο"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/el.json b/apps/comments/l10n/el.json
new file mode 100644
index 00000000000..d3a2967d3cb
--- /dev/null
+++ b/apps/comments/l10n/el.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Άκυρο",
+ "Save" : "Αποθήκευση",
+ "Comment" : "Σχόλιο"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/en_GB.js b/apps/comments/l10n/en_GB.js
new file mode 100644
index 00000000000..216fd0ed8e4
--- /dev/null
+++ b/apps/comments/l10n/en_GB.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Cancel",
+ "Save" : "Save",
+ "Comment" : "Comment"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/en_GB.json b/apps/comments/l10n/en_GB.json
new file mode 100644
index 00000000000..571dd6828bf
--- /dev/null
+++ b/apps/comments/l10n/en_GB.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Cancel",
+ "Save" : "Save",
+ "Comment" : "Comment"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/eo.js b/apps/comments/l10n/eo.js
new file mode 100644
index 00000000000..496de4c511d
--- /dev/null
+++ b/apps/comments/l10n/eo.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Nuligi",
+ "Save" : "Konservi",
+ "Comment" : "Komento"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/eo.json b/apps/comments/l10n/eo.json
new file mode 100644
index 00000000000..6b4241b6b57
--- /dev/null
+++ b/apps/comments/l10n/eo.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Nuligi",
+ "Save" : "Konservi",
+ "Comment" : "Komento"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/es.js b/apps/comments/l10n/es.js
new file mode 100644
index 00000000000..ab04eea953e
--- /dev/null
+++ b/apps/comments/l10n/es.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Cancelar",
+ "Save" : "Guardar",
+ "Comment" : "Comentario"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/es.json b/apps/comments/l10n/es.json
new file mode 100644
index 00000000000..6f6df7e9c84
--- /dev/null
+++ b/apps/comments/l10n/es.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Cancelar",
+ "Save" : "Guardar",
+ "Comment" : "Comentario"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/es_AR.js b/apps/comments/l10n/es_AR.js
new file mode 100644
index 00000000000..8219a7da10b
--- /dev/null
+++ b/apps/comments/l10n/es_AR.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Cancelar",
+ "Save" : "Guardar"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/es_AR.json b/apps/comments/l10n/es_AR.json
new file mode 100644
index 00000000000..366986893df
--- /dev/null
+++ b/apps/comments/l10n/es_AR.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "Cancelar",
+ "Save" : "Guardar"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/es_CL.js b/apps/comments/l10n/es_CL.js
new file mode 100644
index 00000000000..73af8976a2d
--- /dev/null
+++ b/apps/comments/l10n/es_CL.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Cancelar"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/es_CL.json b/apps/comments/l10n/es_CL.json
new file mode 100644
index 00000000000..56eca9b124c
--- /dev/null
+++ b/apps/comments/l10n/es_CL.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Cancel" : "Cancelar"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/es_MX.js b/apps/comments/l10n/es_MX.js
new file mode 100644
index 00000000000..ab04eea953e
--- /dev/null
+++ b/apps/comments/l10n/es_MX.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Cancelar",
+ "Save" : "Guardar",
+ "Comment" : "Comentario"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/es_MX.json b/apps/comments/l10n/es_MX.json
new file mode 100644
index 00000000000..6f6df7e9c84
--- /dev/null
+++ b/apps/comments/l10n/es_MX.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Cancelar",
+ "Save" : "Guardar",
+ "Comment" : "Comentario"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/et_EE.js b/apps/comments/l10n/et_EE.js
new file mode 100644
index 00000000000..d6865a66ceb
--- /dev/null
+++ b/apps/comments/l10n/et_EE.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Loobu",
+ "Save" : "Salvesta",
+ "Comment" : "Kommentaar"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/et_EE.json b/apps/comments/l10n/et_EE.json
new file mode 100644
index 00000000000..dc10930aec5
--- /dev/null
+++ b/apps/comments/l10n/et_EE.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Loobu",
+ "Save" : "Salvesta",
+ "Comment" : "Kommentaar"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/eu.js b/apps/comments/l10n/eu.js
new file mode 100644
index 00000000000..65c4b80558a
--- /dev/null
+++ b/apps/comments/l10n/eu.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Ezeztatu",
+ "Save" : "Gorde",
+ "Comment" : "Iruzkina"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/eu.json b/apps/comments/l10n/eu.json
new file mode 100644
index 00000000000..746260d520c
--- /dev/null
+++ b/apps/comments/l10n/eu.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Ezeztatu",
+ "Save" : "Gorde",
+ "Comment" : "Iruzkina"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/fa.js b/apps/comments/l10n/fa.js
new file mode 100644
index 00000000000..2eed645ec36
--- /dev/null
+++ b/apps/comments/l10n/fa.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "منصرف شدن",
+ "Save" : "ذخیره",
+ "Comment" : "نظر"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/fa.json b/apps/comments/l10n/fa.json
new file mode 100644
index 00000000000..5b99e9f2896
--- /dev/null
+++ b/apps/comments/l10n/fa.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "منصرف شدن",
+ "Save" : "ذخیره",
+ "Comment" : "نظر"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/fi_FI.js b/apps/comments/l10n/fi_FI.js
new file mode 100644
index 00000000000..e94f9ab2191
--- /dev/null
+++ b/apps/comments/l10n/fi_FI.js
@@ -0,0 +1,21 @@
+OC.L10N.register(
+ "comments",
+ {
+ "<strong>Comments</strong> for files" : "<strong>Kommentit</strong> tiedostoille",
+ "%1$s commented" : "%1$s kommentoi",
+ "%1$s commented on %2$s" : "%1$s kommentoi kohdetta %2$s",
+ "Comments" : "Kommentit",
+ "Type in a new comment..." : "Kirjoita uusi kommentti...",
+ "Delete comment" : "Poista kommentti",
+ "Post" : "Lähetä",
+ "Cancel" : "Peruuta",
+ "Edit comment" : "Muokkaa kommenttia",
+ "[Deleted user]" : "[Poistettu käyttäjä]",
+ "No other comments available" : "Ei muita kommentteja saatavilla",
+ "More comments..." : "Lisää kommentteja...",
+ "Save" : "Tallenna",
+ "Allowed characters {count} of {max}" : "Sallittujen merkkien määrä {count}/{max}",
+ "{count} unread comments" : "{count} lukematonta kommenttia",
+ "Comment" : "Kommentti"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/fi_FI.json b/apps/comments/l10n/fi_FI.json
new file mode 100644
index 00000000000..513a9ce75dd
--- /dev/null
+++ b/apps/comments/l10n/fi_FI.json
@@ -0,0 +1,19 @@
+{ "translations": {
+ "<strong>Comments</strong> for files" : "<strong>Kommentit</strong> tiedostoille",
+ "%1$s commented" : "%1$s kommentoi",
+ "%1$s commented on %2$s" : "%1$s kommentoi kohdetta %2$s",
+ "Comments" : "Kommentit",
+ "Type in a new comment..." : "Kirjoita uusi kommentti...",
+ "Delete comment" : "Poista kommentti",
+ "Post" : "Lähetä",
+ "Cancel" : "Peruuta",
+ "Edit comment" : "Muokkaa kommenttia",
+ "[Deleted user]" : "[Poistettu käyttäjä]",
+ "No other comments available" : "Ei muita kommentteja saatavilla",
+ "More comments..." : "Lisää kommentteja...",
+ "Save" : "Tallenna",
+ "Allowed characters {count} of {max}" : "Sallittujen merkkien määrä {count}/{max}",
+ "{count} unread comments" : "{count} lukematonta kommenttia",
+ "Comment" : "Kommentti"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/fr.js b/apps/comments/l10n/fr.js
new file mode 100644
index 00000000000..d400ca46dbc
--- /dev/null
+++ b/apps/comments/l10n/fr.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Annuler",
+ "Save" : "Enregistrer",
+ "Comment" : "Commenter"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/comments/l10n/fr.json b/apps/comments/l10n/fr.json
new file mode 100644
index 00000000000..7193f3ab6e2
--- /dev/null
+++ b/apps/comments/l10n/fr.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Annuler",
+ "Save" : "Enregistrer",
+ "Comment" : "Commenter"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/gl.js b/apps/comments/l10n/gl.js
new file mode 100644
index 00000000000..e882611c3dc
--- /dev/null
+++ b/apps/comments/l10n/gl.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Cancelar",
+ "Save" : "Gardar",
+ "Comment" : "Comentario"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/gl.json b/apps/comments/l10n/gl.json
new file mode 100644
index 00000000000..4f4e732bcf1
--- /dev/null
+++ b/apps/comments/l10n/gl.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Cancelar",
+ "Save" : "Gardar",
+ "Comment" : "Comentario"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/he.js b/apps/comments/l10n/he.js
new file mode 100644
index 00000000000..641d13861a7
--- /dev/null
+++ b/apps/comments/l10n/he.js
@@ -0,0 +1,21 @@
+OC.L10N.register(
+ "comments",
+ {
+ "<strong>Comments</strong> for files" : "<strong>תגובות</strong> לקבצים",
+ "%1$s commented" : "התקבלו תגובות %1$s",
+ "%1$s commented on %2$s" : "התקבלו תגובות %1$s ב- %2$s ",
+ "Comments" : "תגובות",
+ "Type in a new comment..." : "יש להכניס תגובה חדשה...",
+ "Delete comment" : "מחיקת תגובה",
+ "Post" : "פרסום",
+ "Cancel" : "ביטול",
+ "Edit comment" : "עריכת תגובה",
+ "[Deleted user]" : "[משתמשים מוסרים]",
+ "No other comments available" : "אין תגובות אחרות זמינות",
+ "More comments..." : "תגובות נוספות...",
+ "Save" : "שמירה",
+ "Allowed characters {count} of {max}" : "תווים מותרים {count} מתוך {max}",
+ "{count} unread comments" : "{count} תגובות שלא נקראו",
+ "Comment" : "תגובה"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/he.json b/apps/comments/l10n/he.json
new file mode 100644
index 00000000000..dc10680e96a
--- /dev/null
+++ b/apps/comments/l10n/he.json
@@ -0,0 +1,19 @@
+{ "translations": {
+ "<strong>Comments</strong> for files" : "<strong>תגובות</strong> לקבצים",
+ "%1$s commented" : "התקבלו תגובות %1$s",
+ "%1$s commented on %2$s" : "התקבלו תגובות %1$s ב- %2$s ",
+ "Comments" : "תגובות",
+ "Type in a new comment..." : "יש להכניס תגובה חדשה...",
+ "Delete comment" : "מחיקת תגובה",
+ "Post" : "פרסום",
+ "Cancel" : "ביטול",
+ "Edit comment" : "עריכת תגובה",
+ "[Deleted user]" : "[משתמשים מוסרים]",
+ "No other comments available" : "אין תגובות אחרות זמינות",
+ "More comments..." : "תגובות נוספות...",
+ "Save" : "שמירה",
+ "Allowed characters {count} of {max}" : "תווים מותרים {count} מתוך {max}",
+ "{count} unread comments" : "{count} תגובות שלא נקראו",
+ "Comment" : "תגובה"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/hi.js b/apps/comments/l10n/hi.js
new file mode 100644
index 00000000000..ed49cce9227
--- /dev/null
+++ b/apps/comments/l10n/hi.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "रद्द करें ",
+ "Save" : "सहेजें"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/hi.json b/apps/comments/l10n/hi.json
new file mode 100644
index 00000000000..f6b1d3d1b1b
--- /dev/null
+++ b/apps/comments/l10n/hi.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "रद्द करें ",
+ "Save" : "सहेजें"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/hr.js b/apps/comments/l10n/hr.js
new file mode 100644
index 00000000000..d7aa807254c
--- /dev/null
+++ b/apps/comments/l10n/hr.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Odustanite",
+ "Save" : "Spremi"
+},
+"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/comments/l10n/hr.json b/apps/comments/l10n/hr.json
new file mode 100644
index 00000000000..78c71af4fd2
--- /dev/null
+++ b/apps/comments/l10n/hr.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "Odustanite",
+ "Save" : "Spremi"
+},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/hu_HU.js b/apps/comments/l10n/hu_HU.js
new file mode 100644
index 00000000000..c74b27f34cd
--- /dev/null
+++ b/apps/comments/l10n/hu_HU.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Mégsem",
+ "Save" : "Mentés",
+ "Comment" : "Komment"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/hu_HU.json b/apps/comments/l10n/hu_HU.json
new file mode 100644
index 00000000000..7c8d8886895
--- /dev/null
+++ b/apps/comments/l10n/hu_HU.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Mégsem",
+ "Save" : "Mentés",
+ "Comment" : "Komment"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/hy.js b/apps/comments/l10n/hy.js
new file mode 100644
index 00000000000..6e6fa514244
--- /dev/null
+++ b/apps/comments/l10n/hy.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Չեղարկել",
+ "Save" : "Պահպանել"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/hy.json b/apps/comments/l10n/hy.json
new file mode 100644
index 00000000000..1d692e6d00d
--- /dev/null
+++ b/apps/comments/l10n/hy.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "Չեղարկել",
+ "Save" : "Պահպանել"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/ia.js b/apps/comments/l10n/ia.js
new file mode 100644
index 00000000000..ff148a13b8d
--- /dev/null
+++ b/apps/comments/l10n/ia.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Cancellar",
+ "Save" : "Salveguardar"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/ia.json b/apps/comments/l10n/ia.json
new file mode 100644
index 00000000000..a71e73149f6
--- /dev/null
+++ b/apps/comments/l10n/ia.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "Cancellar",
+ "Save" : "Salveguardar"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/id.js b/apps/comments/l10n/id.js
new file mode 100644
index 00000000000..58f7aa372dc
--- /dev/null
+++ b/apps/comments/l10n/id.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Batal",
+ "Save" : "Simpan",
+ "Comment" : "Komentar"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/id.json b/apps/comments/l10n/id.json
new file mode 100644
index 00000000000..85bd0168cec
--- /dev/null
+++ b/apps/comments/l10n/id.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Batal",
+ "Save" : "Simpan",
+ "Comment" : "Komentar"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/is.js b/apps/comments/l10n/is.js
new file mode 100644
index 00000000000..d9494241eb2
--- /dev/null
+++ b/apps/comments/l10n/is.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Hætta við",
+ "Save" : "Vista"
+},
+"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/comments/l10n/is.json b/apps/comments/l10n/is.json
new file mode 100644
index 00000000000..f2909dbb019
--- /dev/null
+++ b/apps/comments/l10n/is.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "Hætta við",
+ "Save" : "Vista"
+},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/it.js b/apps/comments/l10n/it.js
new file mode 100644
index 00000000000..f2e3574aa67
--- /dev/null
+++ b/apps/comments/l10n/it.js
@@ -0,0 +1,19 @@
+OC.L10N.register(
+ "comments",
+ {
+ "<strong>Comments</strong> for files" : "<strong>Commenti</strong> sui file",
+ "%1$s commented" : "%1$s ha commentato",
+ "%1$s commented on %2$s" : "%1$s ha commentato %2$s",
+ "Comments" : "Commenti",
+ "Type in a new comment..." : "Digita un nuovo commento...",
+ "Delete comment" : "Elimina commento",
+ "Cancel" : "Annulla",
+ "Edit comment" : "Modifica commento",
+ "[Deleted user]" : "[Utente eliminato]",
+ "More comments..." : "Altri commenti...",
+ "Save" : "Salva",
+ "Allowed characters {count} of {max}" : "Caratteri consentiti {count} di {max}",
+ "{count} unread comments" : "{count} commenti non letti",
+ "Comment" : "Commento"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/it.json b/apps/comments/l10n/it.json
new file mode 100644
index 00000000000..486af1b827f
--- /dev/null
+++ b/apps/comments/l10n/it.json
@@ -0,0 +1,17 @@
+{ "translations": {
+ "<strong>Comments</strong> for files" : "<strong>Commenti</strong> sui file",
+ "%1$s commented" : "%1$s ha commentato",
+ "%1$s commented on %2$s" : "%1$s ha commentato %2$s",
+ "Comments" : "Commenti",
+ "Type in a new comment..." : "Digita un nuovo commento...",
+ "Delete comment" : "Elimina commento",
+ "Cancel" : "Annulla",
+ "Edit comment" : "Modifica commento",
+ "[Deleted user]" : "[Utente eliminato]",
+ "More comments..." : "Altri commenti...",
+ "Save" : "Salva",
+ "Allowed characters {count} of {max}" : "Caratteri consentiti {count} di {max}",
+ "{count} unread comments" : "{count} commenti non letti",
+ "Comment" : "Commento"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/ja.js b/apps/comments/l10n/ja.js
new file mode 100644
index 00000000000..7a28b3bda8d
--- /dev/null
+++ b/apps/comments/l10n/ja.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "キャンセル",
+ "Save" : "保存",
+ "Comment" : "コメント"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/ja.json b/apps/comments/l10n/ja.json
new file mode 100644
index 00000000000..b29ee85979a
--- /dev/null
+++ b/apps/comments/l10n/ja.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "キャンセル",
+ "Save" : "保存",
+ "Comment" : "コメント"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/ka_GE.js b/apps/comments/l10n/ka_GE.js
new file mode 100644
index 00000000000..6eb6c73569b
--- /dev/null
+++ b/apps/comments/l10n/ka_GE.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "უარყოფა",
+ "Save" : "შენახვა"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/ka_GE.json b/apps/comments/l10n/ka_GE.json
new file mode 100644
index 00000000000..a70874ae50b
--- /dev/null
+++ b/apps/comments/l10n/ka_GE.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "უარყოფა",
+ "Save" : "შენახვა"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/km.js b/apps/comments/l10n/km.js
new file mode 100644
index 00000000000..16f065c86b3
--- /dev/null
+++ b/apps/comments/l10n/km.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "បោះបង់",
+ "Save" : "រក្សាទុក"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/km.json b/apps/comments/l10n/km.json
new file mode 100644
index 00000000000..20de21d56a1
--- /dev/null
+++ b/apps/comments/l10n/km.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "បោះបង់",
+ "Save" : "រក្សាទុក"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/kn.js b/apps/comments/l10n/kn.js
new file mode 100644
index 00000000000..97a48f9cb3e
--- /dev/null
+++ b/apps/comments/l10n/kn.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "ರದ್ದು",
+ "Save" : "ಉಳಿಸಿ"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/kn.json b/apps/comments/l10n/kn.json
new file mode 100644
index 00000000000..8a2b49fc262
--- /dev/null
+++ b/apps/comments/l10n/kn.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "ರದ್ದು",
+ "Save" : "ಉಳಿಸಿ"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/ko.js b/apps/comments/l10n/ko.js
new file mode 100644
index 00000000000..3644ac7489d
--- /dev/null
+++ b/apps/comments/l10n/ko.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "취소",
+ "Save" : "저장",
+ "Comment" : "설명"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/ko.json b/apps/comments/l10n/ko.json
new file mode 100644
index 00000000000..d6a4b49e5b9
--- /dev/null
+++ b/apps/comments/l10n/ko.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "취소",
+ "Save" : "저장",
+ "Comment" : "설명"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/ku_IQ.js b/apps/comments/l10n/ku_IQ.js
new file mode 100644
index 00000000000..bbbe6f95bb1
--- /dev/null
+++ b/apps/comments/l10n/ku_IQ.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "لابردن",
+ "Save" : "پاشکه‌وتکردن"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/ku_IQ.json b/apps/comments/l10n/ku_IQ.json
new file mode 100644
index 00000000000..1a46f867235
--- /dev/null
+++ b/apps/comments/l10n/ku_IQ.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "لابردن",
+ "Save" : "پاشکه‌وتکردن"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/lb.js b/apps/comments/l10n/lb.js
new file mode 100644
index 00000000000..f63640ac6f7
--- /dev/null
+++ b/apps/comments/l10n/lb.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Ofbriechen",
+ "Save" : "Späicheren"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/lb.json b/apps/comments/l10n/lb.json
new file mode 100644
index 00000000000..c015c4dd2a8
--- /dev/null
+++ b/apps/comments/l10n/lb.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "Ofbriechen",
+ "Save" : "Späicheren"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/lt_LT.js b/apps/comments/l10n/lt_LT.js
new file mode 100644
index 00000000000..ef4967e9fcc
--- /dev/null
+++ b/apps/comments/l10n/lt_LT.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Atšaukti",
+ "Save" : "Išsaugoti",
+ "Comment" : "Komentaras"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/comments/l10n/lt_LT.json b/apps/comments/l10n/lt_LT.json
new file mode 100644
index 00000000000..59432d7b6b4
--- /dev/null
+++ b/apps/comments/l10n/lt_LT.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Atšaukti",
+ "Save" : "Išsaugoti",
+ "Comment" : "Komentaras"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/lv.js b/apps/comments/l10n/lv.js
new file mode 100644
index 00000000000..78665af9a46
--- /dev/null
+++ b/apps/comments/l10n/lv.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Atcelt",
+ "Save" : "Saglabāt",
+ "Comment" : "Komentārs"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/comments/l10n/lv.json b/apps/comments/l10n/lv.json
new file mode 100644
index 00000000000..0ad41e139cb
--- /dev/null
+++ b/apps/comments/l10n/lv.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Atcelt",
+ "Save" : "Saglabāt",
+ "Comment" : "Komentārs"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/mk.js b/apps/comments/l10n/mk.js
new file mode 100644
index 00000000000..caba856f3e7
--- /dev/null
+++ b/apps/comments/l10n/mk.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Откажи",
+ "Save" : "Сними",
+ "Comment" : "Коментар"
+},
+"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/apps/comments/l10n/mk.json b/apps/comments/l10n/mk.json
new file mode 100644
index 00000000000..ac5fc0d7b8b
--- /dev/null
+++ b/apps/comments/l10n/mk.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Откажи",
+ "Save" : "Сними",
+ "Comment" : "Коментар"
+},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/mn.js b/apps/comments/l10n/mn.js
new file mode 100644
index 00000000000..44deab30ac4
--- /dev/null
+++ b/apps/comments/l10n/mn.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Save" : "Хадгалах"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/mn.json b/apps/comments/l10n/mn.json
new file mode 100644
index 00000000000..09df2456611
--- /dev/null
+++ b/apps/comments/l10n/mn.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Save" : "Хадгалах"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/ms_MY.js b/apps/comments/l10n/ms_MY.js
new file mode 100644
index 00000000000..37e8518632d
--- /dev/null
+++ b/apps/comments/l10n/ms_MY.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Batal",
+ "Save" : "Simpan"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/ms_MY.json b/apps/comments/l10n/ms_MY.json
new file mode 100644
index 00000000000..dd6b20cbd7b
--- /dev/null
+++ b/apps/comments/l10n/ms_MY.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "Batal",
+ "Save" : "Simpan"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/my_MM.js b/apps/comments/l10n/my_MM.js
new file mode 100644
index 00000000000..2fd6d1d1a9c
--- /dev/null
+++ b/apps/comments/l10n/my_MM.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "ပယ်ဖျက်မည်"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/my_MM.json b/apps/comments/l10n/my_MM.json
new file mode 100644
index 00000000000..28a85e87b39
--- /dev/null
+++ b/apps/comments/l10n/my_MM.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Cancel" : "ပယ်ဖျက်မည်"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/nb_NO.js b/apps/comments/l10n/nb_NO.js
new file mode 100644
index 00000000000..2bfe4b45093
--- /dev/null
+++ b/apps/comments/l10n/nb_NO.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Avbryt",
+ "Save" : "Lagre",
+ "Comment" : "Kommentar"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/nb_NO.json b/apps/comments/l10n/nb_NO.json
new file mode 100644
index 00000000000..52ec037b47f
--- /dev/null
+++ b/apps/comments/l10n/nb_NO.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Avbryt",
+ "Save" : "Lagre",
+ "Comment" : "Kommentar"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/nds.js b/apps/comments/l10n/nds.js
new file mode 100644
index 00000000000..9fc7bc4cfe2
--- /dev/null
+++ b/apps/comments/l10n/nds.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Abbrechen"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/nds.json b/apps/comments/l10n/nds.json
new file mode 100644
index 00000000000..8c981f87994
--- /dev/null
+++ b/apps/comments/l10n/nds.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Cancel" : "Abbrechen"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/nl.js b/apps/comments/l10n/nl.js
new file mode 100644
index 00000000000..b1320386458
--- /dev/null
+++ b/apps/comments/l10n/nl.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Annuleren",
+ "Save" : "Bewaren",
+ "Comment" : "Reactie"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/nl.json b/apps/comments/l10n/nl.json
new file mode 100644
index 00000000000..8fb9b318eb5
--- /dev/null
+++ b/apps/comments/l10n/nl.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Annuleren",
+ "Save" : "Bewaren",
+ "Comment" : "Reactie"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/nn_NO.js b/apps/comments/l10n/nn_NO.js
new file mode 100644
index 00000000000..ce79cf242bc
--- /dev/null
+++ b/apps/comments/l10n/nn_NO.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Avbryt",
+ "Save" : "Lagra"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/nn_NO.json b/apps/comments/l10n/nn_NO.json
new file mode 100644
index 00000000000..51f3ed49364
--- /dev/null
+++ b/apps/comments/l10n/nn_NO.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "Avbryt",
+ "Save" : "Lagra"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/oc.js b/apps/comments/l10n/oc.js
new file mode 100644
index 00000000000..7311b7fd7a4
--- /dev/null
+++ b/apps/comments/l10n/oc.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Anullar",
+ "Save" : "Enregistrar",
+ "Comment" : "Comentar"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/comments/l10n/oc.json b/apps/comments/l10n/oc.json
new file mode 100644
index 00000000000..21f0098bf30
--- /dev/null
+++ b/apps/comments/l10n/oc.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Anullar",
+ "Save" : "Enregistrar",
+ "Comment" : "Comentar"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/pa.js b/apps/comments/l10n/pa.js
new file mode 100644
index 00000000000..98e2affcd12
--- /dev/null
+++ b/apps/comments/l10n/pa.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "ਰੱਦ ਕਰੋ"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/pa.json b/apps/comments/l10n/pa.json
new file mode 100644
index 00000000000..2472134c5f2
--- /dev/null
+++ b/apps/comments/l10n/pa.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Cancel" : "ਰੱਦ ਕਰੋ"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/pl.js b/apps/comments/l10n/pl.js
new file mode 100644
index 00000000000..543fed7a1ad
--- /dev/null
+++ b/apps/comments/l10n/pl.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Anuluj",
+ "Save" : "Zapisz",
+ "Comment" : "Komentarz"
+},
+"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/comments/l10n/pl.json b/apps/comments/l10n/pl.json
new file mode 100644
index 00000000000..836f3bb1dcd
--- /dev/null
+++ b/apps/comments/l10n/pl.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Anuluj",
+ "Save" : "Zapisz",
+ "Comment" : "Komentarz"
+},"pluralForm" :"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/pt_BR.js b/apps/comments/l10n/pt_BR.js
new file mode 100644
index 00000000000..d7f61e4f161
--- /dev/null
+++ b/apps/comments/l10n/pt_BR.js
@@ -0,0 +1,21 @@
+OC.L10N.register(
+ "comments",
+ {
+ "<strong>Comments</strong> for files" : "<strong>Comentários</strong> por arquivos",
+ "%1$s commented" : "%1$s comentado",
+ "%1$s commented on %2$s" : "%1$s comentado em %2$s",
+ "Comments" : "Comentários",
+ "Type in a new comment..." : "Digite um novo comentário...",
+ "Delete comment" : "Apague o comentário",
+ "Post" : "Postar",
+ "Cancel" : "Cancelar",
+ "Edit comment" : "Editar comentário",
+ "[Deleted user]" : "[Usuário eliminado]",
+ "No other comments available" : "Nenhum outro comentário disponível",
+ "More comments..." : "Mais comentários...",
+ "Save" : "Salvar",
+ "Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
+ "{count} unread comments" : "{count} comentários não lidos",
+ "Comment" : "Comentário"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/comments/l10n/pt_BR.json b/apps/comments/l10n/pt_BR.json
new file mode 100644
index 00000000000..728a7e458ce
--- /dev/null
+++ b/apps/comments/l10n/pt_BR.json
@@ -0,0 +1,19 @@
+{ "translations": {
+ "<strong>Comments</strong> for files" : "<strong>Comentários</strong> por arquivos",
+ "%1$s commented" : "%1$s comentado",
+ "%1$s commented on %2$s" : "%1$s comentado em %2$s",
+ "Comments" : "Comentários",
+ "Type in a new comment..." : "Digite um novo comentário...",
+ "Delete comment" : "Apague o comentário",
+ "Post" : "Postar",
+ "Cancel" : "Cancelar",
+ "Edit comment" : "Editar comentário",
+ "[Deleted user]" : "[Usuário eliminado]",
+ "No other comments available" : "Nenhum outro comentário disponível",
+ "More comments..." : "Mais comentários...",
+ "Save" : "Salvar",
+ "Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
+ "{count} unread comments" : "{count} comentários não lidos",
+ "Comment" : "Comentário"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/pt_PT.js b/apps/comments/l10n/pt_PT.js
new file mode 100644
index 00000000000..821afec0c50
--- /dev/null
+++ b/apps/comments/l10n/pt_PT.js
@@ -0,0 +1,21 @@
+OC.L10N.register(
+ "comments",
+ {
+ "<strong>Comments</strong> for files" : "<strong>Comentários</strong> para ficheiros",
+ "%1$s commented" : "%1$s comentou",
+ "%1$s commented on %2$s" : "%1$s comentou %2$s",
+ "Comments" : "Comentários",
+ "Type in a new comment..." : "Escreva um novo comentário...",
+ "Delete comment" : "Apagar comentário",
+ "Post" : "Enviar",
+ "Cancel" : "Cancelar",
+ "Edit comment" : "Editar comentário",
+ "[Deleted user]" : "[utilizador apagado]",
+ "No other comments available" : "Nenhum outro comentário disponível",
+ "More comments..." : "Mais comentários...",
+ "Save" : "Guardar",
+ "Allowed characters {count} of {max}" : "{count} de {max} caracteres restantes",
+ "{count} unread comments" : "{count} comentários não lidos",
+ "Comment" : "Comentário"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/pt_PT.json b/apps/comments/l10n/pt_PT.json
new file mode 100644
index 00000000000..d5a5edc8c7e
--- /dev/null
+++ b/apps/comments/l10n/pt_PT.json
@@ -0,0 +1,19 @@
+{ "translations": {
+ "<strong>Comments</strong> for files" : "<strong>Comentários</strong> para ficheiros",
+ "%1$s commented" : "%1$s comentou",
+ "%1$s commented on %2$s" : "%1$s comentou %2$s",
+ "Comments" : "Comentários",
+ "Type in a new comment..." : "Escreva um novo comentário...",
+ "Delete comment" : "Apagar comentário",
+ "Post" : "Enviar",
+ "Cancel" : "Cancelar",
+ "Edit comment" : "Editar comentário",
+ "[Deleted user]" : "[utilizador apagado]",
+ "No other comments available" : "Nenhum outro comentário disponível",
+ "More comments..." : "Mais comentários...",
+ "Save" : "Guardar",
+ "Allowed characters {count} of {max}" : "{count} de {max} caracteres restantes",
+ "{count} unread comments" : "{count} comentários não lidos",
+ "Comment" : "Comentário"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/ro.js b/apps/comments/l10n/ro.js
new file mode 100644
index 00000000000..71a0fa68531
--- /dev/null
+++ b/apps/comments/l10n/ro.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Anulează",
+ "Save" : "Salvează"
+},
+"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/comments/l10n/ro.json b/apps/comments/l10n/ro.json
new file mode 100644
index 00000000000..dfd0b01cfff
--- /dev/null
+++ b/apps/comments/l10n/ro.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "Anulează",
+ "Save" : "Salvează"
+},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/ru.js b/apps/comments/l10n/ru.js
new file mode 100644
index 00000000000..16c922906c7
--- /dev/null
+++ b/apps/comments/l10n/ru.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Отмена",
+ "Save" : "Сохранить",
+ "Comment" : "Коментарий"
+},
+"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/comments/l10n/ru.json b/apps/comments/l10n/ru.json
new file mode 100644
index 00000000000..eaf035062e8
--- /dev/null
+++ b/apps/comments/l10n/ru.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Отмена",
+ "Save" : "Сохранить",
+ "Comment" : "Коментарий"
+},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/si_LK.js b/apps/comments/l10n/si_LK.js
new file mode 100644
index 00000000000..9badedaef20
--- /dev/null
+++ b/apps/comments/l10n/si_LK.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "එපා",
+ "Save" : "සුරකින්න"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/si_LK.json b/apps/comments/l10n/si_LK.json
new file mode 100644
index 00000000000..e5ce448e641
--- /dev/null
+++ b/apps/comments/l10n/si_LK.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "එපා",
+ "Save" : "සුරකින්න"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/sk_SK.js b/apps/comments/l10n/sk_SK.js
new file mode 100644
index 00000000000..808e0bff4d4
--- /dev/null
+++ b/apps/comments/l10n/sk_SK.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Zrušiť",
+ "Save" : "Uložiť",
+ "Comment" : "Komentár"
+},
+"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/comments/l10n/sk_SK.json b/apps/comments/l10n/sk_SK.json
new file mode 100644
index 00000000000..649d040de7a
--- /dev/null
+++ b/apps/comments/l10n/sk_SK.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Zrušiť",
+ "Save" : "Uložiť",
+ "Comment" : "Komentár"
+},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/sl.js b/apps/comments/l10n/sl.js
new file mode 100644
index 00000000000..2a2fec5f19d
--- /dev/null
+++ b/apps/comments/l10n/sl.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Prekliči",
+ "Save" : "Shrani",
+ "Comment" : "Opomba"
+},
+"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/comments/l10n/sl.json b/apps/comments/l10n/sl.json
new file mode 100644
index 00000000000..67fb5764c8b
--- /dev/null
+++ b/apps/comments/l10n/sl.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Prekliči",
+ "Save" : "Shrani",
+ "Comment" : "Opomba"
+},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/sq.js b/apps/comments/l10n/sq.js
new file mode 100644
index 00000000000..cf18a031b0e
--- /dev/null
+++ b/apps/comments/l10n/sq.js
@@ -0,0 +1,21 @@
+OC.L10N.register(
+ "comments",
+ {
+ "<strong>Comments</strong> for files" : "<strong>Komente</strong> për kartela",
+ "%1$s commented" : "%1$s komentoi",
+ "%1$s commented on %2$s" : "%1$s komentoi te %2$s",
+ "Comments" : "Komente",
+ "Type in a new comment..." : "Shtypni një koment të ri…",
+ "Delete comment" : "Fshije komentin",
+ "Post" : "Postoje",
+ "Cancel" : "Anuloje",
+ "Edit comment" : "Përpunoni komentin",
+ "[Deleted user]" : "[Përdorues i fshirë]",
+ "No other comments available" : "S’ka komente të tjera",
+ "More comments..." : "Më tepër komente…",
+ "Save" : "Ruaje",
+ "Allowed characters {count} of {max}" : "Shenja të lejuara {count} nga {max}",
+ "{count} unread comments" : "{count} komente të palexuar",
+ "Comment" : "Koment"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/sq.json b/apps/comments/l10n/sq.json
new file mode 100644
index 00000000000..aa92903ab60
--- /dev/null
+++ b/apps/comments/l10n/sq.json
@@ -0,0 +1,19 @@
+{ "translations": {
+ "<strong>Comments</strong> for files" : "<strong>Komente</strong> për kartela",
+ "%1$s commented" : "%1$s komentoi",
+ "%1$s commented on %2$s" : "%1$s komentoi te %2$s",
+ "Comments" : "Komente",
+ "Type in a new comment..." : "Shtypni një koment të ri…",
+ "Delete comment" : "Fshije komentin",
+ "Post" : "Postoje",
+ "Cancel" : "Anuloje",
+ "Edit comment" : "Përpunoni komentin",
+ "[Deleted user]" : "[Përdorues i fshirë]",
+ "No other comments available" : "S’ka komente të tjera",
+ "More comments..." : "Më tepër komente…",
+ "Save" : "Ruaje",
+ "Allowed characters {count} of {max}" : "Shenja të lejuara {count} nga {max}",
+ "{count} unread comments" : "{count} komente të palexuar",
+ "Comment" : "Koment"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/sr.js b/apps/comments/l10n/sr.js
new file mode 100644
index 00000000000..caee7bc28ff
--- /dev/null
+++ b/apps/comments/l10n/sr.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Одустани",
+ "Save" : "Сачувај",
+ "Comment" : "Коментар"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/comments/l10n/sr.json b/apps/comments/l10n/sr.json
new file mode 100644
index 00000000000..7fa9bdcf27a
--- /dev/null
+++ b/apps/comments/l10n/sr.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Одустани",
+ "Save" : "Сачувај",
+ "Comment" : "Коментар"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/sr@latin.js b/apps/comments/l10n/sr@latin.js
new file mode 100644
index 00000000000..c2185e95e92
--- /dev/null
+++ b/apps/comments/l10n/sr@latin.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Odustani",
+ "Save" : "Sačuvaj"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/comments/l10n/sr@latin.json b/apps/comments/l10n/sr@latin.json
new file mode 100644
index 00000000000..f61bed4853a
--- /dev/null
+++ b/apps/comments/l10n/sr@latin.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "Odustani",
+ "Save" : "Sačuvaj"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/sv.js b/apps/comments/l10n/sv.js
new file mode 100644
index 00000000000..410b3cf0ce9
--- /dev/null
+++ b/apps/comments/l10n/sv.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Avbryt",
+ "Save" : "Spara",
+ "Comment" : "Kommentar"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/sv.json b/apps/comments/l10n/sv.json
new file mode 100644
index 00000000000..4a1182c726e
--- /dev/null
+++ b/apps/comments/l10n/sv.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Avbryt",
+ "Save" : "Spara",
+ "Comment" : "Kommentar"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/ta_LK.js b/apps/comments/l10n/ta_LK.js
new file mode 100644
index 00000000000..8d16f1e90b6
--- /dev/null
+++ b/apps/comments/l10n/ta_LK.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "இரத்து செய்க",
+ "Save" : "சேமிக்க "
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/ta_LK.json b/apps/comments/l10n/ta_LK.json
new file mode 100644
index 00000000000..b1a589161a6
--- /dev/null
+++ b/apps/comments/l10n/ta_LK.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "இரத்து செய்க",
+ "Save" : "சேமிக்க "
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/te.js b/apps/comments/l10n/te.js
new file mode 100644
index 00000000000..ac519b5e833
--- /dev/null
+++ b/apps/comments/l10n/te.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "రద్దుచేయి",
+ "Save" : "భద్రపరచు"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/te.json b/apps/comments/l10n/te.json
new file mode 100644
index 00000000000..3184274b231
--- /dev/null
+++ b/apps/comments/l10n/te.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "రద్దుచేయి",
+ "Save" : "భద్రపరచు"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/th_TH.js b/apps/comments/l10n/th_TH.js
new file mode 100644
index 00000000000..6854f2010c4
--- /dev/null
+++ b/apps/comments/l10n/th_TH.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "ยกเลิก",
+ "Save" : "บันทึก",
+ "Comment" : "แสดงความคิดเห็น"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/th_TH.json b/apps/comments/l10n/th_TH.json
new file mode 100644
index 00000000000..066fd5e8130
--- /dev/null
+++ b/apps/comments/l10n/th_TH.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "ยกเลิก",
+ "Save" : "บันทึก",
+ "Comment" : "แสดงความคิดเห็น"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/tr.js b/apps/comments/l10n/tr.js
new file mode 100644
index 00000000000..8540b677f10
--- /dev/null
+++ b/apps/comments/l10n/tr.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "İptal",
+ "Save" : "Kaydet",
+ "Comment" : "Yorum"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/comments/l10n/tr.json b/apps/comments/l10n/tr.json
new file mode 100644
index 00000000000..de94baf97ca
--- /dev/null
+++ b/apps/comments/l10n/tr.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "İptal",
+ "Save" : "Kaydet",
+ "Comment" : "Yorum"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/ug.js b/apps/comments/l10n/ug.js
new file mode 100644
index 00000000000..589911eeb21
--- /dev/null
+++ b/apps/comments/l10n/ug.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "ۋاز كەچ",
+ "Save" : "ساقلا"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/ug.json b/apps/comments/l10n/ug.json
new file mode 100644
index 00000000000..627eb112502
--- /dev/null
+++ b/apps/comments/l10n/ug.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "ۋاز كەچ",
+ "Save" : "ساقلا"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/uk.js b/apps/comments/l10n/uk.js
new file mode 100644
index 00000000000..9fc7edca956
--- /dev/null
+++ b/apps/comments/l10n/uk.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Скасувати",
+ "Save" : "Зберегти",
+ "Comment" : "Коментар"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/comments/l10n/uk.json b/apps/comments/l10n/uk.json
new file mode 100644
index 00000000000..d96e29f0397
--- /dev/null
+++ b/apps/comments/l10n/uk.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Cancel" : "Скасувати",
+ "Save" : "Зберегти",
+ "Comment" : "Коментар"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/ur_PK.js b/apps/comments/l10n/ur_PK.js
new file mode 100644
index 00000000000..2808425d15a
--- /dev/null
+++ b/apps/comments/l10n/ur_PK.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "منسوخ کریں",
+ "Save" : "حفظ"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/ur_PK.json b/apps/comments/l10n/ur_PK.json
new file mode 100644
index 00000000000..83df86652d2
--- /dev/null
+++ b/apps/comments/l10n/ur_PK.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "منسوخ کریں",
+ "Save" : "حفظ"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/vi.js b/apps/comments/l10n/vi.js
new file mode 100644
index 00000000000..b21b2905116
--- /dev/null
+++ b/apps/comments/l10n/vi.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "Hủy",
+ "Save" : "Lưu"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/vi.json b/apps/comments/l10n/vi.json
new file mode 100644
index 00000000000..71ecdab9df5
--- /dev/null
+++ b/apps/comments/l10n/vi.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "Hủy",
+ "Save" : "Lưu"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/zh_CN.js b/apps/comments/l10n/zh_CN.js
new file mode 100644
index 00000000000..d5999738f96
--- /dev/null
+++ b/apps/comments/l10n/zh_CN.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "取消",
+ "Save" : "保存"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/zh_CN.json b/apps/comments/l10n/zh_CN.json
new file mode 100644
index 00000000000..65f540d5d6e
--- /dev/null
+++ b/apps/comments/l10n/zh_CN.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "取消",
+ "Save" : "保存"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/zh_HK.js b/apps/comments/l10n/zh_HK.js
new file mode 100644
index 00000000000..65cddd342ca
--- /dev/null
+++ b/apps/comments/l10n/zh_HK.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "取消",
+ "Save" : "儲存"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/zh_HK.json b/apps/comments/l10n/zh_HK.json
new file mode 100644
index 00000000000..4da0032a014
--- /dev/null
+++ b/apps/comments/l10n/zh_HK.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "取消",
+ "Save" : "儲存"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/comments/l10n/zh_TW.js b/apps/comments/l10n/zh_TW.js
new file mode 100644
index 00000000000..65cddd342ca
--- /dev/null
+++ b/apps/comments/l10n/zh_TW.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "comments",
+ {
+ "Cancel" : "取消",
+ "Save" : "儲存"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/comments/l10n/zh_TW.json b/apps/comments/l10n/zh_TW.json
new file mode 100644
index 00000000000..4da0032a014
--- /dev/null
+++ b/apps/comments/l10n/zh_TW.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Cancel" : "取消",
+ "Save" : "儲存"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/dav/appinfo/application.php b/apps/dav/appinfo/application.php
index 11ab384d75d..28b9a833456 100644
--- a/apps/dav/appinfo/application.php
+++ b/apps/dav/appinfo/application.php
@@ -57,7 +57,9 @@ class Application extends App {
/** @var IAppContainer $c */
return new HookManager(
$c->getServer()->getUserManager(),
- $c->query('SyncService')
+ $c->query('SyncService'),
+ $c->query('CalDavBackend'),
+ $c->query('CardDavBackend')
);
});
diff --git a/apps/dav/lib/carddav/addressbook.php b/apps/dav/lib/carddav/addressbook.php
index ca3f5ba0ef6..be57a2d90a1 100644
--- a/apps/dav/lib/carddav/addressbook.php
+++ b/apps/dav/lib/carddav/addressbook.php
@@ -161,4 +161,11 @@ class AddressBook extends \Sabre\CardDAV\AddressBook implements IShareable {
}
parent::delete();
}
+
+ public function getContactsGroups() {
+ /** @var CardDavBackend $cardDavBackend */
+ $cardDavBackend = $this->carddavBackend;
+
+ return $cardDavBackend->collectCardProperties($this->getResourceId(), 'CATEGORIES');
+ }
}
diff --git a/apps/dav/lib/carddav/addressbookimpl.php b/apps/dav/lib/carddav/addressbookimpl.php
index 1d7b55c1a5d..795a30064b7 100644
--- a/apps/dav/lib/carddav/addressbookimpl.php
+++ b/apps/dav/lib/carddav/addressbookimpl.php
@@ -178,7 +178,7 @@ class AddressBookImpl implements IAddressBook {
protected function createUid() {
do {
$uid = $this->getUid();
- $contact = $this->backend->getContact($uid . '.vcf');
+ $contact = $this->backend->getContact($this->getKey(), $uid . '.vcf');
} while (!empty($contact));
return $uid;
diff --git a/apps/dav/lib/carddav/carddavbackend.php b/apps/dav/lib/carddav/carddavbackend.php
index c4f29b39d0d..78706ae6bff 100644
--- a/apps/dav/lib/carddav/carddavbackend.php
+++ b/apps/dav/lib/carddav/carddavbackend.php
@@ -29,6 +29,7 @@ use OCP\DB\QueryBuilder\IQueryBuilder;
use OCA\DAV\DAV\Sharing\Backend;
use OCA\DAV\DAV\Sharing\IShareable;
use OCP\IDBConnection;
+use PDO;
use Sabre\CardDAV\Backend\BackendInterface;
use Sabre\CardDAV\Backend\SyncSupport;
use Sabre\CardDAV\Plugin;
@@ -547,7 +548,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
*/
function deleteCard($addressBookId, $cardUri) {
try {
- $cardId = $this->getCardId($cardUri);
+ $cardId = $this->getCardId($addressBookId, $cardUri);
} catch (\InvalidArgumentException $e) {
$cardId = null;
}
@@ -762,6 +763,25 @@ class CardDavBackend implements BackendInterface, SyncSupport {
}
/**
+ * @param int $bookId
+ * @param string $name
+ * @return array
+ */
+ public function collectCardProperties($bookId, $name) {
+ $query = $this->db->getQueryBuilder();
+ $result = $query->selectDistinct('value')
+ ->from($this->dbCardsPropertiesTable)
+ ->where($query->expr()->eq('name', $query->createNamedParameter($name)))
+ ->andWhere($query->expr()->eq('addressbookid', $query->createNamedParameter($bookId)))
+ ->execute();
+
+ $all = $result->fetchAll(PDO::FETCH_COLUMN);
+ $result->closeCursor();
+
+ return $all;
+ }
+
+ /**
* get URI from a given contact
*
* @param int $id
@@ -787,15 +807,16 @@ class CardDavBackend implements BackendInterface, SyncSupport {
/**
* return contact with the given URI
*
+ * @param int $addressBookId
* @param string $uri
* @returns array
*/
- public function getContact($uri) {
+ public function getContact($addressBookId, $uri) {
$result = [];
$query = $this->db->getQueryBuilder();
$query->select('*')->from($this->dbCardsTable)
- ->where($query->expr()->eq('uri', $query->createParameter('uri')))
- ->setParameter('uri', $uri);
+ ->where($query->expr()->eq('uri', $query->createNamedParameter($uri)))
+ ->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)));
$queryResult = $query->execute();
$contact = $queryResult->fetch();
$queryResult->closeCursor();
@@ -831,7 +852,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
* @param string $vCardSerialized
*/
protected function updateProperties($addressBookId, $cardUri, $vCardSerialized) {
- $cardId = $this->getCardId($cardUri);
+ $cardId = $this->getCardId($addressBookId, $cardUri);
$vCard = $this->readCard($vCardSerialized);
$this->purgeProperties($addressBookId, $cardId);
@@ -893,13 +914,15 @@ class CardDavBackend implements BackendInterface, SyncSupport {
/**
* get ID from a given contact
*
+ * @param int $addressBookId
* @param string $uri
* @return int
*/
- protected function getCardId($uri) {
+ protected function getCardId($addressBookId, $uri) {
$query = $this->db->getQueryBuilder();
$query->select('id')->from($this->dbCardsTable)
- ->where($query->expr()->eq('uri', $query->createNamedParameter($uri)));
+ ->where($query->expr()->eq('uri', $query->createNamedParameter($uri)))
+ ->andWhere($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)));
$result = $query->execute();
$cardIds = $result->fetch();
diff --git a/apps/dav/lib/carddav/plugin.php b/apps/dav/lib/carddav/plugin.php
index 4acc1037b52..d94dce1db0e 100644
--- a/apps/dav/lib/carddav/plugin.php
+++ b/apps/dav/lib/carddav/plugin.php
@@ -21,10 +21,19 @@
namespace OCA\DAV\CardDAV;
+use OCA\DAV\CardDAV\Xml\Groups;
+use Sabre\DAV\INode;
+use Sabre\DAV\PropFind;
+use Sabre\DAV\Server;
use Sabre\HTTP\URLUtil;
class Plugin extends \Sabre\CardDAV\Plugin {
+ function initialize(Server $server) {
+ $server->on('propFind', [$this, 'propFind']);
+ parent::initialize($server);
+ }
+
/**
* Returns the addressbook home for a given principal
*
@@ -33,15 +42,34 @@ class Plugin extends \Sabre\CardDAV\Plugin {
*/
protected function getAddressbookHomeForPrincipal($principal) {
- if (strrpos($principal, 'principals/users', -strlen($principal)) !== FALSE) {
+ if (strrpos($principal, 'principals/users', -strlen($principal)) !== false) {
list(, $principalId) = URLUtil::splitPath($principal);
return self::ADDRESSBOOK_ROOT . '/users/' . $principalId;
}
- if (strrpos($principal, 'principals/system', -strlen($principal)) !== FALSE) {
+ if (strrpos($principal, 'principals/system', -strlen($principal)) !== false) {
list(, $principalId) = URLUtil::splitPath($principal);
return self::ADDRESSBOOK_ROOT . '/system/' . $principalId;
}
throw new \LogicException('This is not supposed to happen');
}
+
+ /**
+ * Adds all CardDAV-specific properties
+ *
+ * @param PropFind $propFind
+ * @param INode $node
+ * @return void
+ */
+ function propFind(PropFind $propFind, INode $node) {
+
+ $ns = '{http://owncloud.org/ns}';
+
+ if ($node instanceof AddressBook) {
+
+ $propFind->handle($ns . 'groups', function () use ($node) {
+ return new Groups($node->getContactsGroups());
+ });
+ }
+ }
}
diff --git a/apps/dav/lib/carddav/xml/groups.php b/apps/dav/lib/carddav/xml/groups.php
new file mode 100644
index 00000000000..b39615db033
--- /dev/null
+++ b/apps/dav/lib/carddav/xml/groups.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * @author Thomas Müller <thomas.mueller@tmit.eu>
+ *
+ * @copyright Copyright (c) 2016, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+namespace OCA\DAV\CardDAV\Xml;
+
+use Sabre\Xml\XmlSerializable;
+use Sabre\Xml\Element;
+use Sabre\Xml\Writer;
+
+class Groups implements XmlSerializable {
+ const NS_OWNCLOUD = 'http://owncloud.org/ns';
+
+ /** @var string[] of TYPE:CHECKSUM */
+ private $groups;
+
+ /**
+ * @param string $groups
+ */
+ public function __construct($groups) {
+ $this->groups = $groups;
+ }
+
+ function xmlSerialize(Writer $writer) {
+ foreach ($this->groups as $group) {
+ $writer->writeElement('{' . self::NS_OWNCLOUD . '}group', $group);
+ }
+ }
+}
diff --git a/apps/dav/lib/comments/commentsplugin.php b/apps/dav/lib/comments/commentsplugin.php
index 7abf6e71ee5..fb9f5b7ab8a 100644
--- a/apps/dav/lib/comments/commentsplugin.php
+++ b/apps/dav/lib/comments/commentsplugin.php
@@ -121,7 +121,7 @@ class CommentsPlugin extends ServerPlugin {
// having their own comments marked as unread
$node->setReadMarker(null);
- $url = $request->getUrl() . '/' . urlencode($comment->getId());
+ $url = rtrim($request->getUrl(), '/') . '/' . urlencode($comment->getId());
$response->setHeader('Content-Location', $url);
diff --git a/apps/dav/lib/connector/sabre/file.php b/apps/dav/lib/connector/sabre/file.php
index be313a91e8c..38a1ee5f4e2 100644
--- a/apps/dav/lib/connector/sabre/file.php
+++ b/apps/dav/lib/connector/sabre/file.php
@@ -194,15 +194,15 @@ class File extends Node implements IFile {
}
}
+ // since we skipped the view we need to scan and emit the hooks ourselves
+ $storage->getUpdater()->update($internalPath);
+
try {
$this->changeLock(ILockingProvider::LOCK_SHARED);
} catch (LockedException $e) {
throw new FileLocked($e->getMessage(), $e->getCode(), $e);
}
- // since we skipped the view we need to scan and emit the hooks ourselves
- $storage->getUpdater()->update($internalPath);
-
if ($view) {
$this->emitPostHooks($exists);
}
@@ -450,11 +450,11 @@ class File extends Node implements IFile {
}
}
- $this->fileView->changeLock($targetPath, ILockingProvider::LOCK_SHARED);
-
// since we skipped the view we need to scan and emit the hooks ourselves
$targetStorage->getUpdater()->update($targetInternalPath);
+ $this->fileView->changeLock($targetPath, ILockingProvider::LOCK_SHARED);
+
$this->emitPostHooks($exists, $targetPath);
$info = $this->fileView->getFileInfo($targetPath);
diff --git a/apps/dav/lib/connector/sabre/objecttree.php b/apps/dav/lib/connector/sabre/objecttree.php
index a1796136c4e..505a42d4746 100644
--- a/apps/dav/lib/connector/sabre/objecttree.php
+++ b/apps/dav/lib/connector/sabre/objecttree.php
@@ -136,7 +136,7 @@ class ObjectTree extends \Sabre\DAV\Tree {
$mount = $this->fileView->getMount($path);
$storage = $mount->getStorage();
$internalPath = $mount->getInternalPath($absPath);
- if ($storage) {
+ if ($storage && $storage->file_exists($internalPath)) {
/**
* @var \OC\Files\Storage\Storage $storage
*/
diff --git a/apps/dav/lib/hookmanager.php b/apps/dav/lib/hookmanager.php
index d2199bec598..c3d68a3ee2a 100644
--- a/apps/dav/lib/hookmanager.php
+++ b/apps/dav/lib/hookmanager.php
@@ -20,6 +20,8 @@
*/
namespace OCA\DAV;
+use OCA\DAV\CalDAV\CalDavBackend;
+use OCA\DAV\CardDAV\CardDavBackend;
use OCA\DAV\CardDAV\SyncService;
use OCP\IUser;
use OCP\IUserManager;
@@ -36,9 +38,20 @@ class HookManager {
/** @var IUser[] */
private $usersToDelete;
- public function __construct(IUserManager $userManager, SyncService $syncService) {
+ /** @var CalDavBackend */
+ private $calDav;
+
+ /** @var CardDavBackend */
+ private $cardDav;
+
+ public function __construct(IUserManager $userManager,
+ SyncService $syncService,
+ CalDavBackend $calDav,
+ CardDavBackend $cardDav) {
$this->userManager = $userManager;
$this->syncService = $syncService;
+ $this->calDav = $calDav;
+ $this->cardDav = $cardDav;
}
public function setup() {
@@ -58,6 +71,10 @@ class HookManager {
'changeUser',
$this,
'changeUser');
+ Util::connectHook('OC_User',
+ 'post_login',
+ $this,
+ 'postLogin');
}
public function postCreateUser($params) {
@@ -80,4 +97,27 @@ class HookManager {
$user = $params['user'];
$this->syncService->updateUser($user);
}
+
+ public function postLogin($params) {
+ $user = $this->userManager->get($params['uid']);
+
+ $principal = 'principals/users/' . $user->getUID();
+ $calendars = $this->calDav->getCalendarsForUser($principal);
+ if (empty($calendars)) {
+ try {
+ $this->calDav->createCalendar($principal, 'default', []);
+ } catch (\Exception $ex) {
+ \OC::$server->getLogger()->logException($ex);
+ }
+ }
+ $books = $this->cardDav->getAddressBooksForUser($principal);
+ if (empty($books)) {
+ try {
+ $this->cardDav->createAddressBook($principal, 'default', []);
+ } catch (\Exception $ex) {
+ \OC::$server->getLogger()->logException($ex);
+ }
+ }
+
+ }
}
diff --git a/apps/dav/tests/unit/carddav/addressbookimpltest.php b/apps/dav/tests/unit/carddav/addressbookimpltest.php
index ff7b982abd4..f2c739e046d 100644
--- a/apps/dav/tests/unit/carddav/addressbookimpltest.php
+++ b/apps/dav/tests/unit/carddav/addressbookimpltest.php
@@ -261,7 +261,7 @@ class AddressBookImplTest extends TestCase {
// simulate that 'uid0' already exists, so the second uid will be returned
$this->backend->expects($this->exactly(2))->method('getContact')
->willReturnCallback(
- function($uid) {
+ function($id, $uid) {
return ($uid === 'uid0.vcf');
}
);
diff --git a/apps/dav/tests/unit/carddav/carddavbackendtest.php b/apps/dav/tests/unit/carddav/carddavbackendtest.php
index 86bc26b4c0d..3b5395fb09e 100644
--- a/apps/dav/tests/unit/carddav/carddavbackendtest.php
+++ b/apps/dav/tests/unit/carddav/carddavbackendtest.php
@@ -44,7 +44,7 @@ class CardDavBackendTest extends TestCase {
/** @var CardDavBackend */
private $backend;
- /** @var Principal | \PHPUnit_Framework_MockObject_MockObject */
+ /** @var Principal | \PHPUnit_Framework_MockObject_MockObject */
private $principal;
/** @var IDBConnection */
@@ -268,7 +268,7 @@ class CardDavBackendTest extends TestCase {
// create a new address book
$this->backend->expects($this->once())
->method('getCardId')
- ->with($uri)
+ ->with($bookId, $uri)
->willThrowException(new \InvalidArgumentException());
$this->backend->expects($this->exactly(2))
->method('addChange')
@@ -445,14 +445,14 @@ class CardDavBackendTest extends TestCase {
$id = $query->getLastInsertId();
$this->assertSame($id,
- $this->invokePrivate($this->backend, 'getCardId', ['uri']));
+ $this->invokePrivate($this->backend, 'getCardId', [1, 'uri']));
}
/**
* @expectedException InvalidArgumentException
*/
public function testGetCardIdFailed() {
- $this->invokePrivate($this->backend, 'getCardId', ['uri']);
+ $this->invokePrivate($this->backend, 'getCardId', [1, 'uri']);
}
/**
@@ -596,7 +596,7 @@ class CardDavBackendTest extends TestCase {
$query->execute();
}
- $result = $this->backend->getContact('uri0');
+ $result = $this->backend->getContact(0, 'uri0');
$this->assertSame(7, count($result));
$this->assertSame(0, (int)$result['addressbookid']);
$this->assertSame('uri0', $result['uri']);
@@ -606,7 +606,24 @@ class CardDavBackendTest extends TestCase {
}
public function testGetContactFail() {
- $this->assertEmpty($this->backend->getContact('uri'));
+ $this->assertEmpty($this->backend->getContact(0, 'uri'));
}
+ public function testCollectCardProperties() {
+ $query = $this->db->getQueryBuilder();
+ $query->insert($this->dbCardsPropertiesTable)
+ ->values(
+ [
+ 'addressbookid' => $query->createNamedParameter(666),
+ 'cardid' => $query->createNamedParameter(777),
+ 'name' => $query->createNamedParameter('FN'),
+ 'value' => $query->createNamedParameter('John Doe'),
+ 'preferred' => $query->createNamedParameter(0)
+ ]
+ )
+ ->execute();
+
+ $result = $this->backend->collectCardProperties(666, 'FN');
+ $this->assertEquals(['John Doe'], $result);
+ }
}
diff --git a/apps/encryption/l10n/cs_CZ.js b/apps/encryption/l10n/cs_CZ.js
index e057af58e94..757d775d707 100644
--- a/apps/encryption/l10n/cs_CZ.js
+++ b/apps/encryption/l10n/cs_CZ.js
@@ -25,6 +25,8 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chybný soukromý klíč pro šifrovací aplikaci. Aktualizujte prosím heslo svého soukromého klíče ve vašem osobním nastavení, abyste znovu získali přístup k vašim zašifrovaným souborům.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikace pro šifrování je zapnuta, ale vaše klíče nejsou inicializované. Prosím odhlaste se a znovu přihlaste",
"Encryption App is enabled and ready" : "Aplikace šifrování je již povolena",
+ "Bad Signature" : "Špatný podpis",
+ "Missing Signature" : "Chybějící podpis",
"one-time password for server-side-encryption" : "jednorázové heslo pro šifrování na straně serveru",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tento soubor se nepodařilo dešifrovat, pravděpodobně je sdílený. Požádejte prosím majitele souboru, aby jej s vámi znovu sdílel.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Soubor nelze načíst, pravděpodobně se jedná o sdílený soubor. Požádejte prosím vlastníka souboru, aby vám jej znovu sdílel.",
diff --git a/apps/encryption/l10n/cs_CZ.json b/apps/encryption/l10n/cs_CZ.json
index 74206d2ef13..c1841a34897 100644
--- a/apps/encryption/l10n/cs_CZ.json
+++ b/apps/encryption/l10n/cs_CZ.json
@@ -23,6 +23,8 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chybný soukromý klíč pro šifrovací aplikaci. Aktualizujte prosím heslo svého soukromého klíče ve vašem osobním nastavení, abyste znovu získali přístup k vašim zašifrovaným souborům.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikace pro šifrování je zapnuta, ale vaše klíče nejsou inicializované. Prosím odhlaste se a znovu přihlaste",
"Encryption App is enabled and ready" : "Aplikace šifrování je již povolena",
+ "Bad Signature" : "Špatný podpis",
+ "Missing Signature" : "Chybějící podpis",
"one-time password for server-side-encryption" : "jednorázové heslo pro šifrování na straně serveru",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tento soubor se nepodařilo dešifrovat, pravděpodobně je sdílený. Požádejte prosím majitele souboru, aby jej s vámi znovu sdílel.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Soubor nelze načíst, pravděpodobně se jedná o sdílený soubor. Požádejte prosím vlastníka souboru, aby vám jej znovu sdílel.",
diff --git a/apps/encryption/l10n/fi_FI.js b/apps/encryption/l10n/fi_FI.js
index cac43eae16f..b19653d9451 100644
--- a/apps/encryption/l10n/fi_FI.js
+++ b/apps/encryption/l10n/fi_FI.js
@@ -25,11 +25,14 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Salaussovelluksen salausavain on virheellinen. Ole hyvä ja päivitä salausavain henkilökohtaisissa asetuksissasi jotta voit taas avata salatuskirjoitetut tiedostosi.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Salaussovellus on käytössä, mutta salausavaimia ei ole alustettu. Ole hyvä ja kirjaudu sisään uudelleen.",
"Encryption App is enabled and ready" : "Salaussovellus on käytössä ja valmis",
+ "Bad Signature" : "Virheellinen allekirjoitus",
+ "Missing Signature" : "Puuttuva allekirjoitus",
"one-time password for server-side-encryption" : "kertakäyttöinen salasana palvelinpään salausta varten",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tämän tiedoston salauksen purkaminen ei onnistu. Kyseessä on luultavasti jaettu tiedosto. Pyydä tiedoston omistajaa jakamaan tiedosto kanssasi uudelleen.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tiedostoa ei voi lukea, se on luultavasti jaettu tiedosto. Pyydä tiedoston omistajaa jakamaan tiedosto uudelleen kanssasi.",
"The share will expire on %s." : "Jakaminen päättyy %s.",
"Cheers!" : "Kiitos!",
+ "Encrypt the home storage" : "Salaa oma kotitila",
"Enable recovery key" : "Ota palautusavain käyttöön",
"Disable recovery key" : "Poista palautusavain käytöstä",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Palautusavain on ylimääräinen salausavain, jota käytetään tiedostojen salaamiseen. Sen avulla on mahdollista palauttaa käyttäjien tiedostot, vaikka käyttäjä unohtaisi oman salasanansa.",
diff --git a/apps/encryption/l10n/fi_FI.json b/apps/encryption/l10n/fi_FI.json
index 7f5bec24f8b..5af386b9ffc 100644
--- a/apps/encryption/l10n/fi_FI.json
+++ b/apps/encryption/l10n/fi_FI.json
@@ -23,11 +23,14 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Salaussovelluksen salausavain on virheellinen. Ole hyvä ja päivitä salausavain henkilökohtaisissa asetuksissasi jotta voit taas avata salatuskirjoitetut tiedostosi.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Salaussovellus on käytössä, mutta salausavaimia ei ole alustettu. Ole hyvä ja kirjaudu sisään uudelleen.",
"Encryption App is enabled and ready" : "Salaussovellus on käytössä ja valmis",
+ "Bad Signature" : "Virheellinen allekirjoitus",
+ "Missing Signature" : "Puuttuva allekirjoitus",
"one-time password for server-side-encryption" : "kertakäyttöinen salasana palvelinpään salausta varten",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tämän tiedoston salauksen purkaminen ei onnistu. Kyseessä on luultavasti jaettu tiedosto. Pyydä tiedoston omistajaa jakamaan tiedosto kanssasi uudelleen.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tiedostoa ei voi lukea, se on luultavasti jaettu tiedosto. Pyydä tiedoston omistajaa jakamaan tiedosto uudelleen kanssasi.",
"The share will expire on %s." : "Jakaminen päättyy %s.",
"Cheers!" : "Kiitos!",
+ "Encrypt the home storage" : "Salaa oma kotitila",
"Enable recovery key" : "Ota palautusavain käyttöön",
"Disable recovery key" : "Poista palautusavain käytöstä",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Palautusavain on ylimääräinen salausavain, jota käytetään tiedostojen salaamiseen. Sen avulla on mahdollista palauttaa käyttäjien tiedostot, vaikka käyttäjä unohtaisi oman salasanansa.",
diff --git a/apps/encryption/l10n/fr.js b/apps/encryption/l10n/fr.js
index 59a36a73d7b..fb3d37b5a22 100644
--- a/apps/encryption/l10n/fr.js
+++ b/apps/encryption/l10n/fr.js
@@ -25,6 +25,8 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Votre clef privée de chiffrement n'est pas valide ! Veuillez mettre à jour le mot de passe de la clef privée dans vos paramètres personnels pour récupérer l'accès à vos fichiers chiffrés.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'application de chiffrement est activée mais vos clefs ne sont pas initialisées. Veuillez vous déconnecter et ensuite vous reconnecter.",
"Encryption App is enabled and ready" : "L'application de chiffrement est activée et prête",
+ "Bad Signature" : "Mauvaise signature",
+ "Missing Signature" : "Signature manquante",
"one-time password for server-side-encryption" : "Mot de passe à usage unique pour le chiffrement côté serveur",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de déchiffrer ce fichier : il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le partager à nouveau avec vous.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de lire ce fichier, il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le repartager avec vous. ",
diff --git a/apps/encryption/l10n/fr.json b/apps/encryption/l10n/fr.json
index b1fcfb35b27..30e38ae811c 100644
--- a/apps/encryption/l10n/fr.json
+++ b/apps/encryption/l10n/fr.json
@@ -23,6 +23,8 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Votre clef privée de chiffrement n'est pas valide ! Veuillez mettre à jour le mot de passe de la clef privée dans vos paramètres personnels pour récupérer l'accès à vos fichiers chiffrés.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'application de chiffrement est activée mais vos clefs ne sont pas initialisées. Veuillez vous déconnecter et ensuite vous reconnecter.",
"Encryption App is enabled and ready" : "L'application de chiffrement est activée et prête",
+ "Bad Signature" : "Mauvaise signature",
+ "Missing Signature" : "Signature manquante",
"one-time password for server-side-encryption" : "Mot de passe à usage unique pour le chiffrement côté serveur",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de déchiffrer ce fichier : il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le partager à nouveau avec vous.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de lire ce fichier, il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le repartager avec vous. ",
diff --git a/apps/encryption/l10n/he.js b/apps/encryption/l10n/he.js
index be4d62c76c9..c298e60f14e 100644
--- a/apps/encryption/l10n/he.js
+++ b/apps/encryption/l10n/he.js
@@ -25,6 +25,8 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "המפתח האישי של יישום ההצפנה אינו תקין. יש לעדכן אתצהמפתח האישי בהגדרות האישיות לצורך שחזור הגישה לקבצים המוצפנים.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "יישום הצפנה מאופשר אבל המפתחות שלך לא אותחלו, יש להתנתק ולהתחבר מחדש",
"Encryption App is enabled and ready" : "יישום ההצפנה מאופשר ומוכן",
+ "Bad Signature" : "חתימה שגויה",
+ "Missing Signature" : "חתימה חסרה",
"one-time password for server-side-encryption" : "סיסמא חד פעמית עבור הצפנת צד השרת",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "לא ניתן להסיר את ההצפנה לקובץ זה, ייתכן ומדובר בקובץ משותף. יש לבקש מהבעלים של הקובץ לשתף מחדש את הקובץ אתך.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "לא ניתן לקרוא קובץ זה, ייתכן ומדובר בקובץ משותף. יש לבקש מהבעלים של הקובץ לשתף מחדש את הקובץ אתך.",
diff --git a/apps/encryption/l10n/he.json b/apps/encryption/l10n/he.json
index de38b4ee0c9..6ab9af75b39 100644
--- a/apps/encryption/l10n/he.json
+++ b/apps/encryption/l10n/he.json
@@ -23,6 +23,8 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "המפתח האישי של יישום ההצפנה אינו תקין. יש לעדכן אתצהמפתח האישי בהגדרות האישיות לצורך שחזור הגישה לקבצים המוצפנים.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "יישום הצפנה מאופשר אבל המפתחות שלך לא אותחלו, יש להתנתק ולהתחבר מחדש",
"Encryption App is enabled and ready" : "יישום ההצפנה מאופשר ומוכן",
+ "Bad Signature" : "חתימה שגויה",
+ "Missing Signature" : "חתימה חסרה",
"one-time password for server-side-encryption" : "סיסמא חד פעמית עבור הצפנת צד השרת",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "לא ניתן להסיר את ההצפנה לקובץ זה, ייתכן ומדובר בקובץ משותף. יש לבקש מהבעלים של הקובץ לשתף מחדש את הקובץ אתך.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "לא ניתן לקרוא קובץ זה, ייתכן ומדובר בקובץ משותף. יש לבקש מהבעלים של הקובץ לשתף מחדש את הקובץ אתך.",
diff --git a/apps/encryption/l10n/it.js b/apps/encryption/l10n/it.js
index 699e4babd01..8cf7302b7de 100644
--- a/apps/encryption/l10n/it.js
+++ b/apps/encryption/l10n/it.js
@@ -25,6 +25,8 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chiave privata non valida per l'applicazione di cifratura. Aggiorna la password della chiave privata nelle impostazioni personali per ripristinare l'accesso ai tuoi file cifrati.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'applicazione di cifratura è abilitata, ma le chiavi non sono state inizializzate, disconnettiti ed effettua nuovamente l'accesso",
"Encryption App is enabled and ready" : "L'applicazione Cifratura è abilitata e pronta",
+ "Bad Signature" : "Firma non valida",
+ "Missing Signature" : "Firma mancante",
"one-time password for server-side-encryption" : "password monouso per la cifratura lato server",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossibile decifrare questo file, probabilmente è un file condiviso. Chiedi al proprietario del file di condividere nuovamente il file con te.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossibile leggere questo file, probabilmente è un file condiviso. Chiedi al proprietario del file di condividere nuovamente il file con te.",
diff --git a/apps/encryption/l10n/it.json b/apps/encryption/l10n/it.json
index b86893303c2..52c90a183a2 100644
--- a/apps/encryption/l10n/it.json
+++ b/apps/encryption/l10n/it.json
@@ -23,6 +23,8 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chiave privata non valida per l'applicazione di cifratura. Aggiorna la password della chiave privata nelle impostazioni personali per ripristinare l'accesso ai tuoi file cifrati.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'applicazione di cifratura è abilitata, ma le chiavi non sono state inizializzate, disconnettiti ed effettua nuovamente l'accesso",
"Encryption App is enabled and ready" : "L'applicazione Cifratura è abilitata e pronta",
+ "Bad Signature" : "Firma non valida",
+ "Missing Signature" : "Firma mancante",
"one-time password for server-side-encryption" : "password monouso per la cifratura lato server",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossibile decifrare questo file, probabilmente è un file condiviso. Chiedi al proprietario del file di condividere nuovamente il file con te.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossibile leggere questo file, probabilmente è un file condiviso. Chiedi al proprietario del file di condividere nuovamente il file con te.",
diff --git a/apps/encryption/l10n/ja.js b/apps/encryption/l10n/ja.js
index fdae19d72e5..3d1a0a58afa 100644
--- a/apps/encryption/l10n/ja.js
+++ b/apps/encryption/l10n/ja.js
@@ -25,6 +25,8 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "暗号化アプリの無効なプライベートキーです。あなたの暗号化されたファイルへアクセスするために、個人設定からプライベートキーのパスワードを更新してください。",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください",
"Encryption App is enabled and ready" : "暗号化アプリは有効になっており、準備が整いました",
+ "Bad Signature" : "不正な署名",
+ "Missing Signature" : "署名が存在しません",
"one-time password for server-side-encryption" : "サーバーサイド暗号化のワンタイムパスワード",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを復号化できません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを読み取ることができません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
diff --git a/apps/encryption/l10n/ja.json b/apps/encryption/l10n/ja.json
index 6b5811d5bce..a124e2f4d2a 100644
--- a/apps/encryption/l10n/ja.json
+++ b/apps/encryption/l10n/ja.json
@@ -23,6 +23,8 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "暗号化アプリの無効なプライベートキーです。あなたの暗号化されたファイルへアクセスするために、個人設定からプライベートキーのパスワードを更新してください。",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください",
"Encryption App is enabled and ready" : "暗号化アプリは有効になっており、準備が整いました",
+ "Bad Signature" : "不正な署名",
+ "Missing Signature" : "署名が存在しません",
"one-time password for server-side-encryption" : "サーバーサイド暗号化のワンタイムパスワード",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを復号化できません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを読み取ることができません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
diff --git a/apps/encryption/l10n/nb_NO.js b/apps/encryption/l10n/nb_NO.js
index f8f29883d5e..362fda8e6bd 100644
--- a/apps/encryption/l10n/nb_NO.js
+++ b/apps/encryption/l10n/nb_NO.js
@@ -25,6 +25,8 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ugyldig privat nøkkel for Krypterings-app. Oppdater passordet for din private nøkkel i dine personlige innstillinger for å gjenopprette tilgang til de krypterte filene dine.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "App for kryptering er aktivert men nøklene dine er ikke satt opp. Logg ut og logg inn igjen.",
"Encryption App is enabled and ready" : "Krypterings-appen er aktivert og klar",
+ "Bad Signature" : "Feil signatur",
+ "Missing Signature" : "Manglende signatur",
"one-time password for server-side-encryption" : "engangspassord for serverkryptering",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke dekryptere denne filen. Dette er sannsynligvis en delt fil. Spør eieren av filen om å dele den med deg på nytt.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke lese denne filen, som sannsynligvis er en delt fil. Be eieren av filen om å dele den med deg på nytt.",
diff --git a/apps/encryption/l10n/nb_NO.json b/apps/encryption/l10n/nb_NO.json
index 26b2daab43a..9f07cffcc6b 100644
--- a/apps/encryption/l10n/nb_NO.json
+++ b/apps/encryption/l10n/nb_NO.json
@@ -23,6 +23,8 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ugyldig privat nøkkel for Krypterings-app. Oppdater passordet for din private nøkkel i dine personlige innstillinger for å gjenopprette tilgang til de krypterte filene dine.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "App for kryptering er aktivert men nøklene dine er ikke satt opp. Logg ut og logg inn igjen.",
"Encryption App is enabled and ready" : "Krypterings-appen er aktivert og klar",
+ "Bad Signature" : "Feil signatur",
+ "Missing Signature" : "Manglende signatur",
"one-time password for server-side-encryption" : "engangspassord for serverkryptering",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke dekryptere denne filen. Dette er sannsynligvis en delt fil. Spør eieren av filen om å dele den med deg på nytt.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke lese denne filen, som sannsynligvis er en delt fil. Be eieren av filen om å dele den med deg på nytt.",
diff --git a/apps/encryption/l10n/pt_BR.js b/apps/encryption/l10n/pt_BR.js
index 80c35dea495..244ff1bec47 100644
--- a/apps/encryption/l10n/pt_BR.js
+++ b/apps/encryption/l10n/pt_BR.js
@@ -25,6 +25,8 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave do App de Criptografia é inválida. Por favor, atualize sua senha de chave privada em suas configurações pessoais para recuperar o acesso a seus arquivos criptografados.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "App de criptografia está ativado, mas as chaves não estão inicializadas, por favor log-out e faça login novamente",
"Encryption App is enabled and ready" : "Aplicativo de criptografia está ativado e pronto",
+ "Bad Signature" : "Assinatura Ruim",
+ "Missing Signature" : "Faltando Assinatura",
"one-time password for server-side-encryption" : "senha de uso único para criptografia-lado-servidor",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Este arquivo não pode ser decriptado, provavelmente este é um arquivo compartilhado. Por favor peça ao dono do arquivo para compartilha-lo com você.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível ler este arquivo, provavelmente este é um arquivo compartilhado. Por favor, pergunte o dono do arquivo para recompartilhar o arquivo com você.",
diff --git a/apps/encryption/l10n/pt_BR.json b/apps/encryption/l10n/pt_BR.json
index b3ce8c7238e..0b78b3a8ad8 100644
--- a/apps/encryption/l10n/pt_BR.json
+++ b/apps/encryption/l10n/pt_BR.json
@@ -23,6 +23,8 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave do App de Criptografia é inválida. Por favor, atualize sua senha de chave privada em suas configurações pessoais para recuperar o acesso a seus arquivos criptografados.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "App de criptografia está ativado, mas as chaves não estão inicializadas, por favor log-out e faça login novamente",
"Encryption App is enabled and ready" : "Aplicativo de criptografia está ativado e pronto",
+ "Bad Signature" : "Assinatura Ruim",
+ "Missing Signature" : "Faltando Assinatura",
"one-time password for server-side-encryption" : "senha de uso único para criptografia-lado-servidor",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Este arquivo não pode ser decriptado, provavelmente este é um arquivo compartilhado. Por favor peça ao dono do arquivo para compartilha-lo com você.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível ler este arquivo, provavelmente este é um arquivo compartilhado. Por favor, pergunte o dono do arquivo para recompartilhar o arquivo com você.",
diff --git a/apps/encryption/l10n/pt_PT.js b/apps/encryption/l10n/pt_PT.js
index c30f81065fa..c419c0b9128 100644
--- a/apps/encryption/l10n/pt_PT.js
+++ b/apps/encryption/l10n/pt_PT.js
@@ -25,6 +25,8 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave privada inválida da Aplicação de Encriptação. Por favor atualize a sua senha de chave privada nas definições pessoais, para recuperar o acesso aos seus ficheiros encriptados.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "A Aplicação de Encriptação está ativada, mas as suas chaves não inicializaram. Por favor termine e inicie a sessão novamente",
"Encryption App is enabled and ready" : "A aplicação de encriptação está ativa e pronta",
+ "Bad Signature" : "Má Assinatura",
+ "Missing Signature" : "Assinatura em Falta",
"one-time password for server-side-encryption" : "palavra-passe de uso único para encriptação do lado do servidor",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível desencriptar este ficheiro, provavelmente é um ficheiro partilhado. Por favor, peça ao proprietário do ficheiro para voltar a partilhar o ficheiro consigo.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível ler este ficheiro, provavelmente isto é um ficheiro compartilhado. Por favor, peça ao dono do ficheiro para voltar a partilhar o ficheiro consigo.",
diff --git a/apps/encryption/l10n/pt_PT.json b/apps/encryption/l10n/pt_PT.json
index 34086acf56c..91f3680534c 100644
--- a/apps/encryption/l10n/pt_PT.json
+++ b/apps/encryption/l10n/pt_PT.json
@@ -23,6 +23,8 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave privada inválida da Aplicação de Encriptação. Por favor atualize a sua senha de chave privada nas definições pessoais, para recuperar o acesso aos seus ficheiros encriptados.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "A Aplicação de Encriptação está ativada, mas as suas chaves não inicializaram. Por favor termine e inicie a sessão novamente",
"Encryption App is enabled and ready" : "A aplicação de encriptação está ativa e pronta",
+ "Bad Signature" : "Má Assinatura",
+ "Missing Signature" : "Assinatura em Falta",
"one-time password for server-side-encryption" : "palavra-passe de uso único para encriptação do lado do servidor",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível desencriptar este ficheiro, provavelmente é um ficheiro partilhado. Por favor, peça ao proprietário do ficheiro para voltar a partilhar o ficheiro consigo.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível ler este ficheiro, provavelmente isto é um ficheiro compartilhado. Por favor, peça ao dono do ficheiro para voltar a partilhar o ficheiro consigo.",
diff --git a/apps/encryption/l10n/ru.js b/apps/encryption/l10n/ru.js
index ae2c1d1f4e0..1c2ce5c83c1 100644
--- a/apps/encryption/l10n/ru.js
+++ b/apps/encryption/l10n/ru.js
@@ -25,6 +25,8 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Закрытый ключ приложения шифрования недействителен. Обновите закрытый ключ в личных настройках, чтобы восстановить доступ к зашифрованным файлам.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Приложение шифрования активно, но ваши ключи не инициализированы, выйдите из системы и войдите заново",
"Encryption App is enabled and ready" : "Приложение шифрования включено и готово",
+ "Bad Signature" : "Некорректная подпись",
+ "Missing Signature" : "Подпись отсутствует",
"one-time password for server-side-encryption" : "одноразовый пароль для шифрования на стороне сервера",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не удалось расшифровать файл, возможно это опубликованный файл. Попросите владельца файла повторно открыть к нему доступ.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не удается прочитать файл, возможно это публичный файл. Пожалуйста попросите владельца открыть доступ снова.",
diff --git a/apps/encryption/l10n/ru.json b/apps/encryption/l10n/ru.json
index 87cb27d1e4a..36dd6b31270 100644
--- a/apps/encryption/l10n/ru.json
+++ b/apps/encryption/l10n/ru.json
@@ -23,6 +23,8 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Закрытый ключ приложения шифрования недействителен. Обновите закрытый ключ в личных настройках, чтобы восстановить доступ к зашифрованным файлам.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Приложение шифрования активно, но ваши ключи не инициализированы, выйдите из системы и войдите заново",
"Encryption App is enabled and ready" : "Приложение шифрования включено и готово",
+ "Bad Signature" : "Некорректная подпись",
+ "Missing Signature" : "Подпись отсутствует",
"one-time password for server-side-encryption" : "одноразовый пароль для шифрования на стороне сервера",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не удалось расшифровать файл, возможно это опубликованный файл. Попросите владельца файла повторно открыть к нему доступ.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не удается прочитать файл, возможно это публичный файл. Пожалуйста попросите владельца открыть доступ снова.",
diff --git a/apps/encryption/l10n/sq.js b/apps/encryption/l10n/sq.js
index e608fb368f8..9c5e98114a5 100644
--- a/apps/encryption/l10n/sq.js
+++ b/apps/encryption/l10n/sq.js
@@ -25,6 +25,8 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Kyç privat i pavlefshëm për aplikacionin e fshehtëzimeve. Ju lutemi, përditësoni fjalëkalimin tuaj të kyçit privat te rregullimet tuaja personale që të rimerrni hyrje te kartelat tuaja të fshehtëzuara.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikacioni i fshehtëzimeve është i aktivizuar, por kyçet tuaj s’janë vënë në punë, ju lutemi, dilni dhe ribëni hyrjen",
"Encryption App is enabled and ready" : "Aplikacioni i Fshehtëzimeve u aktivizua dhe është gati",
+ "Bad Signature" : "Nënshkrim i Keq",
+ "Missing Signature" : "Mungon Nënshkrimi",
"one-time password for server-side-encryption" : "fjalëkalim vetëm për një herë, për fshehtëzim-më-anë-shërbyesi",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Nuk shfshehtëzohet dot kjo kartelë, ndoshta është kartelë e ndarë me të tjerët. Ju lutemi, kërkojini të zotit të kartelës ta rindajë kartelën me ju.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "S’lexohet dot kjo kartelë, ndoshta është kartelë e ndarë me të tjerët. Ju lutemi, kërkojini të zotit të kartelës ta rindajë kartelën me ju.",
diff --git a/apps/encryption/l10n/sq.json b/apps/encryption/l10n/sq.json
index 2319f03ae4f..07a3a4df247 100644
--- a/apps/encryption/l10n/sq.json
+++ b/apps/encryption/l10n/sq.json
@@ -23,6 +23,8 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Kyç privat i pavlefshëm për aplikacionin e fshehtëzimeve. Ju lutemi, përditësoni fjalëkalimin tuaj të kyçit privat te rregullimet tuaja personale që të rimerrni hyrje te kartelat tuaja të fshehtëzuara.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikacioni i fshehtëzimeve është i aktivizuar, por kyçet tuaj s’janë vënë në punë, ju lutemi, dilni dhe ribëni hyrjen",
"Encryption App is enabled and ready" : "Aplikacioni i Fshehtëzimeve u aktivizua dhe është gati",
+ "Bad Signature" : "Nënshkrim i Keq",
+ "Missing Signature" : "Mungon Nënshkrimi",
"one-time password for server-side-encryption" : "fjalëkalim vetëm për një herë, për fshehtëzim-më-anë-shërbyesi",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Nuk shfshehtëzohet dot kjo kartelë, ndoshta është kartelë e ndarë me të tjerët. Ju lutemi, kërkojini të zotit të kartelës ta rindajë kartelën me ju.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "S’lexohet dot kjo kartelë, ndoshta është kartelë e ndarë me të tjerët. Ju lutemi, kërkojini të zotit të kartelës ta rindajë kartelën me ju.",
diff --git a/apps/encryption/l10n/tr.js b/apps/encryption/l10n/tr.js
index 4781b01b8d1..0900c19d268 100644
--- a/apps/encryption/l10n/tr.js
+++ b/apps/encryption/l10n/tr.js
@@ -25,6 +25,8 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Şifreleme Uygulaması için geçersiz özel anahtar. Lütfen şifreli dosyalarınıza erişimi tekrar kazanabilmek için kişisel ayarlarınızdan özel anahtar parolanızı güncelleyin.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Şifreleme Uygulaması etkin ancak anahtarlarınız başlatılmamış. Lütfen oturumu kapatıp yeniden açın",
"Encryption App is enabled and ready" : "Şifreleme Uygulaması etkin ve hazır",
+ "Bad Signature" : "Kötü İmza",
+ "Missing Signature" : "Eksik İmza",
"one-time password for server-side-encryption" : "sunucu tarafında şifleme için tek kullanımlık parola",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya muhtemelen bir paylaşılan dosya olduğundan şifrelemesi kaldırılamıyor. Lütfen dosyayı sizinle bir daha paylaşması için dosya sahibi ile iletişime geçin.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya muhtemelen bir paylaşılan dosya olduğundan okunamıyor. Lütfen dosyayı sizinle bir daha paylaşması için dosya sahibi ile iletişime geçin.",
diff --git a/apps/encryption/l10n/tr.json b/apps/encryption/l10n/tr.json
index c648ea5e387..d6a7f554de1 100644
--- a/apps/encryption/l10n/tr.json
+++ b/apps/encryption/l10n/tr.json
@@ -23,6 +23,8 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Şifreleme Uygulaması için geçersiz özel anahtar. Lütfen şifreli dosyalarınıza erişimi tekrar kazanabilmek için kişisel ayarlarınızdan özel anahtar parolanızı güncelleyin.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Şifreleme Uygulaması etkin ancak anahtarlarınız başlatılmamış. Lütfen oturumu kapatıp yeniden açın",
"Encryption App is enabled and ready" : "Şifreleme Uygulaması etkin ve hazır",
+ "Bad Signature" : "Kötü İmza",
+ "Missing Signature" : "Eksik İmza",
"one-time password for server-side-encryption" : "sunucu tarafında şifleme için tek kullanımlık parola",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya muhtemelen bir paylaşılan dosya olduğundan şifrelemesi kaldırılamıyor. Lütfen dosyayı sizinle bir daha paylaşması için dosya sahibi ile iletişime geçin.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya muhtemelen bir paylaşılan dosya olduğundan okunamıyor. Lütfen dosyayı sizinle bir daha paylaşması için dosya sahibi ile iletişime geçin.",
diff --git a/apps/federatedfilesharing/l10n/.gitkeep b/apps/federatedfilesharing/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/.gitkeep
diff --git a/apps/federatedfilesharing/l10n/ast.js b/apps/federatedfilesharing/l10n/ast.js
new file mode 100644
index 00000000000..4ae5f2b9cc1
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/ast.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Sharing %s failed, because this item is already shared with %s" : "Compartir %s falló, porque esti elementu yá ta compartiéndose con %s"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/ast.json b/apps/federatedfilesharing/l10n/ast.json
new file mode 100644
index 00000000000..70d90ab6578
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/ast.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Sharing %s failed, because this item is already shared with %s" : "Compartir %s falló, porque esti elementu yá ta compartiéndose con %s"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/bg_BG.js b/apps/federatedfilesharing/l10n/bg_BG.js
new file mode 100644
index 00000000000..e65e1d0ce3a
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/bg_BG.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Sharing %s failed, because this item is already shared with %s" : "Неуспешно споделяне на %s, защото това съдържание е вече споделено с %s.",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Неуспешно споделяне на на %s, не може бъде намерено %s. Може би сървъра в момента е недостъпен."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/bg_BG.json b/apps/federatedfilesharing/l10n/bg_BG.json
new file mode 100644
index 00000000000..5e78abddff6
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/bg_BG.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Sharing %s failed, because this item is already shared with %s" : "Неуспешно споделяне на %s, защото това съдържание е вече споделено с %s.",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Неуспешно споделяне на на %s, не може бъде намерено %s. Може би сървъра в момента е недостъпен."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/ca.js b/apps/federatedfilesharing/l10n/ca.js
new file mode 100644
index 00000000000..0b5c16a0239
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/ca.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Sharing %s failed, because this item is already shared with %s" : "Ha fallat en compartir %s, perquè l'element ja està compartit amb %s"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/ca.json b/apps/federatedfilesharing/l10n/ca.json
new file mode 100644
index 00000000000..efff946dabd
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/ca.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Sharing %s failed, because this item is already shared with %s" : "Ha fallat en compartir %s, perquè l'element ja està compartit amb %s"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/cs_CZ.js b/apps/federatedfilesharing/l10n/cs_CZ.js
new file mode 100644
index 00000000000..fc3eeda97b3
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/cs_CZ.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Neplatné sdružené cloud ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Sdílení položky %s selhalo, protože položka již je s uživatelem %s sdílena",
+ "Not allowed to create a federated share with the same user" : "Není povoleno vytvořit propojené sdílení s tím samým uživatelem",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Sdílení %s selhalo, %s se nepodařilo nalézt, server pravděpodobně právě není dostupný."
+},
+"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/cs_CZ.json b/apps/federatedfilesharing/l10n/cs_CZ.json
new file mode 100644
index 00000000000..04ce3315c7f
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/cs_CZ.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Neplatné sdružené cloud ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Sdílení položky %s selhalo, protože položka již je s uživatelem %s sdílena",
+ "Not allowed to create a federated share with the same user" : "Není povoleno vytvořit propojené sdílení s tím samým uživatelem",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Sdílení %s selhalo, %s se nepodařilo nalézt, server pravděpodobně právě není dostupný."
+},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/da.js b/apps/federatedfilesharing/l10n/da.js
new file mode 100644
index 00000000000..2490457841a
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/da.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Ugyldigt Federated Cloud ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Der skete en fejl ved deling af %s, objektet er allerede delt med %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Deling af %s mislykkedes - kunne ikke finde %s. Måske er serveren ikke tilgængelig i øjeblikket."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/da.json b/apps/federatedfilesharing/l10n/da.json
new file mode 100644
index 00000000000..6f05283a1a0
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/da.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Ugyldigt Federated Cloud ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Der skete en fejl ved deling af %s, objektet er allerede delt med %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Deling af %s mislykkedes - kunne ikke finde %s. Måske er serveren ikke tilgængelig i øjeblikket."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/de.js b/apps/federatedfilesharing/l10n/de.js
new file mode 100644
index 00000000000..9e2d51ae809
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/de.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Ungültige Federated-Cloud-ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Freigabe von %s fehlgeschlagen, da dieses Objekt schon mit %s geteilt wird",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Freigabe von %s fehlgeschlagen, da %s nicht gefunden wurde. Möglicherweise ist der Server nicht erreichbar."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/de.json b/apps/federatedfilesharing/l10n/de.json
new file mode 100644
index 00000000000..3d23e0b0264
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/de.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Ungültige Federated-Cloud-ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Freigabe von %s fehlgeschlagen, da dieses Objekt schon mit %s geteilt wird",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Freigabe von %s fehlgeschlagen, da %s nicht gefunden wurde. Möglicherweise ist der Server nicht erreichbar."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/de_DE.js b/apps/federatedfilesharing/l10n/de_DE.js
new file mode 100644
index 00000000000..9e2d51ae809
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/de_DE.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Ungültige Federated-Cloud-ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Freigabe von %s fehlgeschlagen, da dieses Objekt schon mit %s geteilt wird",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Freigabe von %s fehlgeschlagen, da %s nicht gefunden wurde. Möglicherweise ist der Server nicht erreichbar."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/de_DE.json b/apps/federatedfilesharing/l10n/de_DE.json
new file mode 100644
index 00000000000..3d23e0b0264
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/de_DE.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Ungültige Federated-Cloud-ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Freigabe von %s fehlgeschlagen, da dieses Objekt schon mit %s geteilt wird",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Freigabe von %s fehlgeschlagen, da %s nicht gefunden wurde. Möglicherweise ist der Server nicht erreichbar."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/el.js b/apps/federatedfilesharing/l10n/el.js
new file mode 100644
index 00000000000..b501a4007ea
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/el.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Μη έγκυρο Federated Cloud ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Ο διαμοιρασμός του %s απέτυχε, γιατί το αντικείμενο είναι διαμοιρασμένο ήδη με τον χρήστη %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Αποτυχία διαμοιρασμού %s, δεν βρέθηκε το %s, μπορεί ο διακομιστής να είναι προσωρινά απροσπέλαστος."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/el.json b/apps/federatedfilesharing/l10n/el.json
new file mode 100644
index 00000000000..ece127aa7d1
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/el.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Μη έγκυρο Federated Cloud ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Ο διαμοιρασμός του %s απέτυχε, γιατί το αντικείμενο είναι διαμοιρασμένο ήδη με τον χρήστη %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Αποτυχία διαμοιρασμού %s, δεν βρέθηκε το %s, μπορεί ο διακομιστής να είναι προσωρινά απροσπέλαστος."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/en_GB.js b/apps/federatedfilesharing/l10n/en_GB.js
new file mode 100644
index 00000000000..e5a056cb738
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/en_GB.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Sharing %s failed, because this item is already shared with %s" : "Sharing %s failed, because this item is already shared with %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Sharing %s failed, could not find %s, maybe the server is currently unreachable."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/en_GB.json b/apps/federatedfilesharing/l10n/en_GB.json
new file mode 100644
index 00000000000..0332f2308da
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/en_GB.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Sharing %s failed, because this item is already shared with %s" : "Sharing %s failed, because this item is already shared with %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Sharing %s failed, could not find %s, maybe the server is currently unreachable."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/eo.js b/apps/federatedfilesharing/l10n/eo.js
new file mode 100644
index 00000000000..ad6027353a8
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/eo.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Sharing %s failed, because this item is already shared with %s" : "Kunhavigo de %s malsukcesis, ĉar la ero jam kunhavatas kun %s"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/eo.json b/apps/federatedfilesharing/l10n/eo.json
new file mode 100644
index 00000000000..235aa2e9256
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/eo.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Sharing %s failed, because this item is already shared with %s" : "Kunhavigo de %s malsukcesis, ĉar la ero jam kunhavatas kun %s"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/es.js b/apps/federatedfilesharing/l10n/es.js
new file mode 100644
index 00000000000..4fdd8545ece
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/es.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "ID Nube federada inválida",
+ "Sharing %s failed, because this item is already shared with %s" : "Se falló al compartir %s, ya que este elemento ya está compartido con %s",
+ "Not allowed to create a federated share with the same user" : "No se permite crear un recurso compartido federado con el mismo usuario",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Se falló al compartir %s. No se pudo hallar %s, quizás haya un problema de conexión con el servidor."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/es.json b/apps/federatedfilesharing/l10n/es.json
new file mode 100644
index 00000000000..532139b87a6
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/es.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "ID Nube federada inválida",
+ "Sharing %s failed, because this item is already shared with %s" : "Se falló al compartir %s, ya que este elemento ya está compartido con %s",
+ "Not allowed to create a federated share with the same user" : "No se permite crear un recurso compartido federado con el mismo usuario",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Se falló al compartir %s. No se pudo hallar %s, quizás haya un problema de conexión con el servidor."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/et_EE.js b/apps/federatedfilesharing/l10n/et_EE.js
new file mode 100644
index 00000000000..ccb134f4878
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/et_EE.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Sharing %s failed, because this item is already shared with %s" : "%s jagamine ebaõnnestus, kuna see üksus on juba jagatud %s"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/et_EE.json b/apps/federatedfilesharing/l10n/et_EE.json
new file mode 100644
index 00000000000..58ddf74c295
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/et_EE.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Sharing %s failed, because this item is already shared with %s" : "%s jagamine ebaõnnestus, kuna see üksus on juba jagatud %s"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/eu.js b/apps/federatedfilesharing/l10n/eu.js
new file mode 100644
index 00000000000..6e033874bee
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/eu.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Sharing %s failed, because this item is already shared with %s" : "%s elkarbanatzeak huts egin du, dagoeneko %s erabiltzailearekin elkarbanatuta dagoelako",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s partekatzeak huts egin du, ezin da %s aurkitu, agian zerbitzaria orain ez dago eskuragarri."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/eu.json b/apps/federatedfilesharing/l10n/eu.json
new file mode 100644
index 00000000000..6c223f57545
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/eu.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Sharing %s failed, because this item is already shared with %s" : "%s elkarbanatzeak huts egin du, dagoeneko %s erabiltzailearekin elkarbanatuta dagoelako",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s partekatzeak huts egin du, ezin da %s aurkitu, agian zerbitzaria orain ez dago eskuragarri."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/fi_FI.js b/apps/federatedfilesharing/l10n/fi_FI.js
new file mode 100644
index 00000000000..13d536cfe2c
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/fi_FI.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Virheellinen federoidun pilven tunniste",
+ "Sharing %s failed, because this item is already shared with %s" : "Kohteen %s jakaminen epäonnistui, koska kohde on jo jaettu käyttäjän %s kanssa",
+ "Not allowed to create a federated share with the same user" : "Saman käyttäjän kanssa ei ole sallittua luoda federoitua jakoa",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Kohteen %s jakaminen epäonnistui, kohdetta %s ei löytynyt. Kenties palvelin ei ole juuri nyt tavoitettavissa."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/fi_FI.json b/apps/federatedfilesharing/l10n/fi_FI.json
new file mode 100644
index 00000000000..e96f4c0582d
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/fi_FI.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Virheellinen federoidun pilven tunniste",
+ "Sharing %s failed, because this item is already shared with %s" : "Kohteen %s jakaminen epäonnistui, koska kohde on jo jaettu käyttäjän %s kanssa",
+ "Not allowed to create a federated share with the same user" : "Saman käyttäjän kanssa ei ole sallittua luoda federoitua jakoa",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Kohteen %s jakaminen epäonnistui, kohdetta %s ei löytynyt. Kenties palvelin ei ole juuri nyt tavoitettavissa."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/fr.js b/apps/federatedfilesharing/l10n/fr.js
new file mode 100644
index 00000000000..25ceba72b2f
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/fr.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "ID Federated Cloud incorrect",
+ "Sharing %s failed, because this item is already shared with %s" : "Le partage de %s a échoué car cet objet est déjà partagé avec %s",
+ "Not allowed to create a federated share with the same user" : "Non autorisé à créer un partage fédéré avec le même utilisateur",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Le partage de %s a échoué : impossible de trouver %s. Peut-être le serveur est-il momentanément injoignable."
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/federatedfilesharing/l10n/fr.json b/apps/federatedfilesharing/l10n/fr.json
new file mode 100644
index 00000000000..ffd991d46f3
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/fr.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "ID Federated Cloud incorrect",
+ "Sharing %s failed, because this item is already shared with %s" : "Le partage de %s a échoué car cet objet est déjà partagé avec %s",
+ "Not allowed to create a federated share with the same user" : "Non autorisé à créer un partage fédéré avec le même utilisateur",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Le partage de %s a échoué : impossible de trouver %s. Peut-être le serveur est-il momentanément injoignable."
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/gl.js b/apps/federatedfilesharing/l10n/gl.js
new file mode 100644
index 00000000000..86bf332fffc
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/gl.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "ID de nube federada incorrecto",
+ "Sharing %s failed, because this item is already shared with %s" : "Fallou a compartición de %s, este elemento xa está compartido con %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Fallou a compartición de %s, non foi posíbel atopar %s,é probábel que o servidor non estea accesíbel."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/gl.json b/apps/federatedfilesharing/l10n/gl.json
new file mode 100644
index 00000000000..6ca669901fc
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/gl.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "ID de nube federada incorrecto",
+ "Sharing %s failed, because this item is already shared with %s" : "Fallou a compartición de %s, este elemento xa está compartido con %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Fallou a compartición de %s, non foi posíbel atopar %s,é probábel que o servidor non estea accesíbel."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/he.js b/apps/federatedfilesharing/l10n/he.js
new file mode 100644
index 00000000000..74cb9ee2672
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/he.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "זיהוי ענן מאוגד לא חוקי",
+ "Sharing %s failed, because this item is already shared with %s" : "שיתוף %s נכשל, כיוון שפריט זה כבר משותף עם %s",
+ "Not allowed to create a federated share with the same user" : "אסור ליצור שיתוף מאוגד עם אותו משתמש",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "שיתוף %s נכשל, לא ניתן לאתר %s, ייתכן שהשרת לא ניתן להשגה כרגע."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/he.json b/apps/federatedfilesharing/l10n/he.json
new file mode 100644
index 00000000000..a9cd4313568
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/he.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "זיהוי ענן מאוגד לא חוקי",
+ "Sharing %s failed, because this item is already shared with %s" : "שיתוף %s נכשל, כיוון שפריט זה כבר משותף עם %s",
+ "Not allowed to create a federated share with the same user" : "אסור ליצור שיתוף מאוגד עם אותו משתמש",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "שיתוף %s נכשל, לא ניתן לאתר %s, ייתכן שהשרת לא ניתן להשגה כרגע."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/hr.js b/apps/federatedfilesharing/l10n/hr.js
new file mode 100644
index 00000000000..187e54e16ef
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/hr.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Sharing %s failed, because this item is already shared with %s" : "Dijeljenje %s nije uspjelo jer je ova stavka već podijeljena s %s"
+},
+"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/hr.json b/apps/federatedfilesharing/l10n/hr.json
new file mode 100644
index 00000000000..6c13474a814
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/hr.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Sharing %s failed, because this item is already shared with %s" : "Dijeljenje %s nije uspjelo jer je ova stavka već podijeljena s %s"
+},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/hu_HU.js b/apps/federatedfilesharing/l10n/hu_HU.js
new file mode 100644
index 00000000000..7d64fe0c3b7
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/hu_HU.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Érvénytelen Egyesített Felhő Azonosító",
+ "Sharing %s failed, because this item is already shared with %s" : "%s megosztása nem sikerült, mert ez már meg van osztva %s-vel",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s megosztása sikertelen, mert %s nem található, talán a szerver jelenleg nem elérhető."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/hu_HU.json b/apps/federatedfilesharing/l10n/hu_HU.json
new file mode 100644
index 00000000000..3e24578c77f
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/hu_HU.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Érvénytelen Egyesített Felhő Azonosító",
+ "Sharing %s failed, because this item is already shared with %s" : "%s megosztása nem sikerült, mert ez már meg van osztva %s-vel",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s megosztása sikertelen, mert %s nem található, talán a szerver jelenleg nem elérhető."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/id.js b/apps/federatedfilesharing/l10n/id.js
new file mode 100644
index 00000000000..b5ec0340304
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/id.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Federated Cloud ID tidak sah",
+ "Sharing %s failed, because this item is already shared with %s" : "Gagal membagkan %s, karena item ini sudah dibagikan dengan %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Berbagi %s gagal, tidak menemukan %s, kemungkinan saat ini server tidak dapat dijangkau."
+},
+"nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/id.json b/apps/federatedfilesharing/l10n/id.json
new file mode 100644
index 00000000000..9f349e97533
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/id.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Federated Cloud ID tidak sah",
+ "Sharing %s failed, because this item is already shared with %s" : "Gagal membagkan %s, karena item ini sudah dibagikan dengan %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Berbagi %s gagal, tidak menemukan %s, kemungkinan saat ini server tidak dapat dijangkau."
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/it.js b/apps/federatedfilesharing/l10n/it.js
new file mode 100644
index 00000000000..be449b92dfa
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/it.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "ID di cloud federata non valido",
+ "Sharing %s failed, because this item is already shared with %s" : "Condivisione di %s non riuscita, poiché l'oggetto è già condiviso con %s",
+ "Not allowed to create a federated share with the same user" : "Non è consentito creare una condivisione federata con lo stesso utente",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "La condivisione di %s non è riuscita, impossibile trovare %s, è probabile che il server non sia al momento raggiungibile."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/it.json b/apps/federatedfilesharing/l10n/it.json
new file mode 100644
index 00000000000..133cf7d0281
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/it.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "ID di cloud federata non valido",
+ "Sharing %s failed, because this item is already shared with %s" : "Condivisione di %s non riuscita, poiché l'oggetto è già condiviso con %s",
+ "Not allowed to create a federated share with the same user" : "Non è consentito creare una condivisione federata con lo stesso utente",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "La condivisione di %s non è riuscita, impossibile trovare %s, è probabile che il server non sia al momento raggiungibile."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/ja.js b/apps/federatedfilesharing/l10n/ja.js
new file mode 100644
index 00000000000..539557dfec6
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/ja.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "無効な統合されたクラウドID",
+ "Sharing %s failed, because this item is already shared with %s" : "%s を共有できませんでした。このアイテムはすでに %s に共有されています。",
+ "Not allowed to create a federated share with the same user" : "同じユーザーでフェデレーション共有を作成することは出来ません",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s を共有できませんでした。%s が見つかりませんでした。現在サーバーに接続できないようです。"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/ja.json b/apps/federatedfilesharing/l10n/ja.json
new file mode 100644
index 00000000000..40cd02b7385
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/ja.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "無効な統合されたクラウドID",
+ "Sharing %s failed, because this item is already shared with %s" : "%s を共有できませんでした。このアイテムはすでに %s に共有されています。",
+ "Not allowed to create a federated share with the same user" : "同じユーザーでフェデレーション共有を作成することは出来ません",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s を共有できませんでした。%s が見つかりませんでした。現在サーバーに接続できないようです。"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/ko.js b/apps/federatedfilesharing/l10n/ko.js
new file mode 100644
index 00000000000..33bf8c55065
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/ko.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "잘못된 연합 클라우드 ID",
+ "Sharing %s failed, because this item is already shared with %s" : "%s을(를) 공유할 수 없습니다. 이미 %s 님과 공유되어 있습니다",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s을(를) 공유할 수 없습니다. %s을(를) 찾을 수 없습니다. 서버에 접근하지 못할 수도 있습니다."
+},
+"nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/ko.json b/apps/federatedfilesharing/l10n/ko.json
new file mode 100644
index 00000000000..e3f1bf5f674
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/ko.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "잘못된 연합 클라우드 ID",
+ "Sharing %s failed, because this item is already shared with %s" : "%s을(를) 공유할 수 없습니다. 이미 %s 님과 공유되어 있습니다",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s을(를) 공유할 수 없습니다. %s을(를) 찾을 수 없습니다. 서버에 접근하지 못할 수도 있습니다."
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/nb_NO.js b/apps/federatedfilesharing/l10n/nb_NO.js
new file mode 100644
index 00000000000..6b04d4b4b35
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/nb_NO.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Ugyldig ID for sammenknyttet sky",
+ "Sharing %s failed, because this item is already shared with %s" : "Deling av %s feilet, fordi dette elementet allerede er delt med %s",
+ "Not allowed to create a federated share with the same user" : "Ikke tillatt å opprette en Sammenknyttet sky-deling med den samme brukeren",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Deling %s feilet, fant ikke %s, kanskje servern er utilgjengelig for øyeblikket."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/nb_NO.json b/apps/federatedfilesharing/l10n/nb_NO.json
new file mode 100644
index 00000000000..777a3b4c963
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/nb_NO.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Ugyldig ID for sammenknyttet sky",
+ "Sharing %s failed, because this item is already shared with %s" : "Deling av %s feilet, fordi dette elementet allerede er delt med %s",
+ "Not allowed to create a federated share with the same user" : "Ikke tillatt å opprette en Sammenknyttet sky-deling med den samme brukeren",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Deling %s feilet, fant ikke %s, kanskje servern er utilgjengelig for øyeblikket."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/nl.js b/apps/federatedfilesharing/l10n/nl.js
new file mode 100644
index 00000000000..718a7504b34
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/nl.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Ongeldige Federated Cloud ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Delen van %s is mislukt, omdat het object al wordt gedeeld met %s",
+ "Not allowed to create a federated share with the same user" : "Het is niet toegestaan om een gefedereerde share met dezelfde gebruikersserver te maken",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Delen van %s mislukt, kon %s niet vinden, misschien is de server niet bereikbaar."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/nl.json b/apps/federatedfilesharing/l10n/nl.json
new file mode 100644
index 00000000000..7b1c35c7355
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/nl.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Ongeldige Federated Cloud ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Delen van %s is mislukt, omdat het object al wordt gedeeld met %s",
+ "Not allowed to create a federated share with the same user" : "Het is niet toegestaan om een gefedereerde share met dezelfde gebruikersserver te maken",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Delen van %s mislukt, kon %s niet vinden, misschien is de server niet bereikbaar."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/oc.js b/apps/federatedfilesharing/l10n/oc.js
new file mode 100644
index 00000000000..f83325956b3
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/oc.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "ID Federated Cloud incorrècte",
+ "Sharing %s failed, because this item is already shared with %s" : "Lo partiment de %s a fracassat perque aqueste objècte es ja partejat amb %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Lo partiment de %s a fracassat : impossible de trobar %s. Benlèu que lo servidor es momentanèament injonhable."
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/federatedfilesharing/l10n/oc.json b/apps/federatedfilesharing/l10n/oc.json
new file mode 100644
index 00000000000..140cabe0282
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/oc.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "ID Federated Cloud incorrècte",
+ "Sharing %s failed, because this item is already shared with %s" : "Lo partiment de %s a fracassat perque aqueste objècte es ja partejat amb %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Lo partiment de %s a fracassat : impossible de trobar %s. Benlèu que lo servidor es momentanèament injonhable."
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/pl.js b/apps/federatedfilesharing/l10n/pl.js
new file mode 100644
index 00000000000..18fe5a2593c
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/pl.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Sharing %s failed, because this item is already shared with %s" : "Współdzielenie %s nie powiodło się, ponieważ element jest już współdzielony z %s"
+},
+"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/federatedfilesharing/l10n/pl.json b/apps/federatedfilesharing/l10n/pl.json
new file mode 100644
index 00000000000..aa2a3276757
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/pl.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Sharing %s failed, because this item is already shared with %s" : "Współdzielenie %s nie powiodło się, ponieważ element jest już współdzielony z %s"
+},"pluralForm" :"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/pt_BR.js b/apps/federatedfilesharing/l10n/pt_BR.js
new file mode 100644
index 00000000000..550fc8d5c94
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/pt_BR.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Inválida Associação de Nuvem ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Compartilhamento %s falhou, porque este ítem já está compartilhado com %s",
+ "Not allowed to create a federated share with the same user" : "Não é permitido criar um compartilhamento associado com o mesmo usuário",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "O compartilhamento %s falhou, porque não foi possível encontrar %s, talvez o servidor esteja inacessível."
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/federatedfilesharing/l10n/pt_BR.json b/apps/federatedfilesharing/l10n/pt_BR.json
new file mode 100644
index 00000000000..29fe0c4dbf3
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/pt_BR.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Inválida Associação de Nuvem ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Compartilhamento %s falhou, porque este ítem já está compartilhado com %s",
+ "Not allowed to create a federated share with the same user" : "Não é permitido criar um compartilhamento associado com o mesmo usuário",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "O compartilhamento %s falhou, porque não foi possível encontrar %s, talvez o servidor esteja inacessível."
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/pt_PT.js b/apps/federatedfilesharing/l10n/pt_PT.js
new file mode 100644
index 00000000000..ecdab299d20
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/pt_PT.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Id. de Nuvem Federada Inválida",
+ "Sharing %s failed, because this item is already shared with %s" : "A partilha %s falhou, porque o item já está a ser partilhado com %s",
+ "Not allowed to create a federated share with the same user" : "Não é possível criar uma partilha federada com o mesmo utilizador",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "A partilha de %s falhou, não foi possível encontrar %s. É possível que o servidor esteja inacessível."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/pt_PT.json b/apps/federatedfilesharing/l10n/pt_PT.json
new file mode 100644
index 00000000000..d7e79940097
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/pt_PT.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Id. de Nuvem Federada Inválida",
+ "Sharing %s failed, because this item is already shared with %s" : "A partilha %s falhou, porque o item já está a ser partilhado com %s",
+ "Not allowed to create a federated share with the same user" : "Não é possível criar uma partilha federada com o mesmo utilizador",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "A partilha de %s falhou, não foi possível encontrar %s. É possível que o servidor esteja inacessível."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/ru.js b/apps/federatedfilesharing/l10n/ru.js
new file mode 100644
index 00000000000..9ddb75f8cb8
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/ru.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Неверный ID в объединении облачных хранилищ.",
+ "Sharing %s failed, because this item is already shared with %s" : "Не удалось поделиться %s, пользователь %s уже имеет доступ к этому элементу",
+ "Not allowed to create a federated share with the same user" : "Не допускается создание федеративного общего ресурса с тем-же пользователем",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Не удалось поделиться %s, не удалось найти %s, возможно, сервер не доступен."
+},
+"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/federatedfilesharing/l10n/ru.json b/apps/federatedfilesharing/l10n/ru.json
new file mode 100644
index 00000000000..a03bfe118cb
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/ru.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Неверный ID в объединении облачных хранилищ.",
+ "Sharing %s failed, because this item is already shared with %s" : "Не удалось поделиться %s, пользователь %s уже имеет доступ к этому элементу",
+ "Not allowed to create a federated share with the same user" : "Не допускается создание федеративного общего ресурса с тем-же пользователем",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Не удалось поделиться %s, не удалось найти %s, возможно, сервер не доступен."
+},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/sk_SK.js b/apps/federatedfilesharing/l10n/sk_SK.js
new file mode 100644
index 00000000000..d08679d19f1
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/sk_SK.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Neplatné združené Cloud ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Zdieľanie %s zlyhalo, pretože táto položka už je zdieľaná s %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Zdieľanie %s zlyhalo, nepodarilo sa nájsť %s, možno je server v súčasnej dobe nedostupný."
+},
+"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/federatedfilesharing/l10n/sk_SK.json b/apps/federatedfilesharing/l10n/sk_SK.json
new file mode 100644
index 00000000000..2dd753a961b
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/sk_SK.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Neplatné združené Cloud ID",
+ "Sharing %s failed, because this item is already shared with %s" : "Zdieľanie %s zlyhalo, pretože táto položka už je zdieľaná s %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Zdieľanie %s zlyhalo, nepodarilo sa nájsť %s, možno je server v súčasnej dobe nedostupný."
+},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/sl.js b/apps/federatedfilesharing/l10n/sl.js
new file mode 100644
index 00000000000..2fcc6d0c7aa
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/sl.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Sharing %s failed, because this item is already shared with %s" : "Nastavljanje souporabe %s je spodletela, ker je ima uporabnik %s predmet že v souporabi.",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Omogočanje souporabe %s je spodletelo, ker ni mogoče najti %s. Najverjetneje je strežnik nedosegljiv."
+},
+"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/federatedfilesharing/l10n/sl.json b/apps/federatedfilesharing/l10n/sl.json
new file mode 100644
index 00000000000..132ac21c76b
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/sl.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Sharing %s failed, because this item is already shared with %s" : "Nastavljanje souporabe %s je spodletela, ker je ima uporabnik %s predmet že v souporabi.",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Omogočanje souporabe %s je spodletelo, ker ni mogoče najti %s. Najverjetneje je strežnik nedosegljiv."
+},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/sq.js b/apps/federatedfilesharing/l10n/sq.js
new file mode 100644
index 00000000000..31fdefd4df7
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/sq.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "ID Federated Cloud e pavlefshme",
+ "Sharing %s failed, because this item is already shared with %s" : "Ndarja për %s dështoi, ngaqë ky objekt është ndarë një herë me %s",
+ "Not allowed to create a federated share with the same user" : "S’i lejohet të krijojë një ndarje të federuar me të njëjtin përdorues",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Ndarja për %s dështoi, s’u gjet dot %s, ndoshta shërbyesi është hëpërhë jashtë pune."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/sq.json b/apps/federatedfilesharing/l10n/sq.json
new file mode 100644
index 00000000000..a415ae125d8
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/sq.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "ID Federated Cloud e pavlefshme",
+ "Sharing %s failed, because this item is already shared with %s" : "Ndarja për %s dështoi, ngaqë ky objekt është ndarë një herë me %s",
+ "Not allowed to create a federated share with the same user" : "S’i lejohet të krijojë një ndarje të federuar me të njëjtin përdorues",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Ndarja për %s dështoi, s’u gjet dot %s, ndoshta shërbyesi është hëpërhë jashtë pune."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/sr.js b/apps/federatedfilesharing/l10n/sr.js
new file mode 100644
index 00000000000..1377d133e50
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/sr.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Неисправан ИД Здруженог облака",
+ "Sharing %s failed, because this item is already shared with %s" : "Дељење %s није успело зато што се ова ставка већ дели са %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Дељење %s није успело, није могуће пронаћи %s, можда сервер тренутно није доступан."
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/federatedfilesharing/l10n/sr.json b/apps/federatedfilesharing/l10n/sr.json
new file mode 100644
index 00000000000..6b3cb347d1f
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/sr.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Неисправан ИД Здруженог облака",
+ "Sharing %s failed, because this item is already shared with %s" : "Дељење %s није успело зато што се ова ставка већ дели са %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Дељење %s није успело, није могуће пронаћи %s, можда сервер тренутно није доступан."
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/sv.js b/apps/federatedfilesharing/l10n/sv.js
new file mode 100644
index 00000000000..b320a0ee92c
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/sv.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Sharing %s failed, because this item is already shared with %s" : "Delning %s misslyckades därför att objektet redan är delat med %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Misslyckades dela ut %s, kan inte hitta %s, kanske är servern inte åtkomlig för närvarande."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/sv.json b/apps/federatedfilesharing/l10n/sv.json
new file mode 100644
index 00000000000..0560aea1c36
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/sv.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Sharing %s failed, because this item is already shared with %s" : "Delning %s misslyckades därför att objektet redan är delat med %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Misslyckades dela ut %s, kan inte hitta %s, kanske är servern inte åtkomlig för närvarande."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/th_TH.js b/apps/federatedfilesharing/l10n/th_TH.js
new file mode 100644
index 00000000000..cb8e2622ffb
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/th_TH.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "ไอดีคลาวด์ในเครือไม่ถูกต้อง",
+ "Sharing %s failed, because this item is already shared with %s" : "การแชร์ %s ล้มเหลวเพราะรายการนี้ถูกแชร์กับ %s",
+ "Not allowed to create a federated share with the same user" : "ไม่อนุญาตให้สร้างแชร์สหพันธ์กับผู้ใช้เดียวกัน",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "การแชร์ %s ล้มเหลวไม่สามารถหา %s, บางทีอาจจะยังไม่สามารถเข้าถึงเซิร์ฟเวอร์ปัจจุบัน"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/th_TH.json b/apps/federatedfilesharing/l10n/th_TH.json
new file mode 100644
index 00000000000..79ff6056026
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/th_TH.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "ไอดีคลาวด์ในเครือไม่ถูกต้อง",
+ "Sharing %s failed, because this item is already shared with %s" : "การแชร์ %s ล้มเหลวเพราะรายการนี้ถูกแชร์กับ %s",
+ "Not allowed to create a federated share with the same user" : "ไม่อนุญาตให้สร้างแชร์สหพันธ์กับผู้ใช้เดียวกัน",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "การแชร์ %s ล้มเหลวไม่สามารถหา %s, บางทีอาจจะยังไม่สามารถเข้าถึงเซิร์ฟเวอร์ปัจจุบัน"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/tr.js b/apps/federatedfilesharing/l10n/tr.js
new file mode 100644
index 00000000000..123271c5e6b
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/tr.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "Geçersiz Birleşmiş Bulut Kimliği",
+ "Sharing %s failed, because this item is already shared with %s" : "%s paylaşımı, %s ile zaten paylaşıldığından dolayı başarısız oldu",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s paylaşımı başarısız. %s bulunamadı veya sunucu şu anda ulaşılamıyor olabilir."
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/federatedfilesharing/l10n/tr.json b/apps/federatedfilesharing/l10n/tr.json
new file mode 100644
index 00000000000..c81393bc30d
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/tr.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "Geçersiz Birleşmiş Bulut Kimliği",
+ "Sharing %s failed, because this item is already shared with %s" : "%s paylaşımı, %s ile zaten paylaşıldığından dolayı başarısız oldu",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s paylaşımı başarısız. %s bulunamadı veya sunucu şu anda ulaşılamıyor olabilir."
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/uk.js b/apps/federatedfilesharing/l10n/uk.js
new file mode 100644
index 00000000000..c25fd3ad8c8
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/uk.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Sharing %s failed, because this item is already shared with %s" : "Не вдалося поділитися %s, оскільки файл вже в загальному доступі з %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Не вдалося поділитися %s, не вдалося знайти %s, можливо, сервер не доступний."
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/federatedfilesharing/l10n/uk.json b/apps/federatedfilesharing/l10n/uk.json
new file mode 100644
index 00000000000..61a4f3a2c9c
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/uk.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Sharing %s failed, because this item is already shared with %s" : "Не вдалося поділитися %s, оскільки файл вже в загальному доступі з %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "Не вдалося поділитися %s, не вдалося знайти %s, можливо, сервер не доступний."
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/zh_CN.js b/apps/federatedfilesharing/l10n/zh_CN.js
new file mode 100644
index 00000000000..9f24f294fa2
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/zh_CN.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Sharing %s failed, because this item is already shared with %s" : "共享 %s 失败,因为它已经共享给 %s"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/zh_CN.json b/apps/federatedfilesharing/l10n/zh_CN.json
new file mode 100644
index 00000000000..4829ba5cbcc
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/zh_CN.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Sharing %s failed, because this item is already shared with %s" : "共享 %s 失败,因为它已经共享给 %s"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/zh_TW.js b/apps/federatedfilesharing/l10n/zh_TW.js
new file mode 100644
index 00000000000..cfdeb1f8bc1
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/zh_TW.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "federatedfilesharing",
+ {
+ "Invalid Federated Cloud ID" : "無效的雲端聯盟ID:",
+ "Sharing %s failed, because this item is already shared with %s" : "分享 %s 失敗,因為此項目目前已經與 %s 分享",
+ "Not allowed to create a federated share with the same user" : "不允許與同一個使用者建立聯盟式分享",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "分享%s失敗,找不到%s,或許目前無法連線到該伺服器"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/federatedfilesharing/l10n/zh_TW.json b/apps/federatedfilesharing/l10n/zh_TW.json
new file mode 100644
index 00000000000..6207be0d519
--- /dev/null
+++ b/apps/federatedfilesharing/l10n/zh_TW.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Invalid Federated Cloud ID" : "無效的雲端聯盟ID:",
+ "Sharing %s failed, because this item is already shared with %s" : "分享 %s 失敗,因為此項目目前已經與 %s 分享",
+ "Not allowed to create a federated share with the same user" : "不允許與同一個使用者建立聯盟式分享",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "分享%s失敗,找不到%s,或許目前無法連線到該伺服器"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/federation/api/ocsauthapi.php b/apps/federation/api/ocsauthapi.php
index 058a5966374..1c4e73cc8de 100644
--- a/apps/federation/api/ocsauthapi.php
+++ b/apps/federation/api/ocsauthapi.php
@@ -33,7 +33,6 @@ use OCP\BackgroundJob\IJobList;
use OCP\ILogger;
use OCP\IRequest;
use OCP\Security\ISecureRandom;
-use OCP\Security\StringUtils;
/**
* Class OCSAuthAPI
@@ -99,7 +98,7 @@ class OCSAuthAPI {
$token = $this->request->getParam('token');
if ($this->trustedServers->isTrustedServer($url) === false) {
- $this->logger->log(\OCP\Util::ERROR, 'remote server not trusted (' . $url . ') while requesting shared secret', ['app' => 'federation']);
+ $this->logger->error('remote server not trusted (' . $url . ') while requesting shared secret', ['app' => 'federation']);
return new \OC_OCS_Result(null, HTTP::STATUS_FORBIDDEN);
}
@@ -107,10 +106,22 @@ class OCSAuthAPI {
// token wins
$localToken = $this->dbHandler->getToken($url);
if (strcmp($localToken, $token) > 0) {
- $this->logger->log(\OCP\Util::ERROR, 'remote server (' . $url . ') presented lower token', ['app' => 'federation']);
+ $this->logger->info(
+ 'remote server (' . $url . ') presented lower token. We will initiate the exchange of the shared secret.',
+ ['app' => 'federation']
+ );
return new \OC_OCS_Result(null, HTTP::STATUS_FORBIDDEN);
}
+ // we ask for the shared secret so we no longer have to ask the other server
+ // to request the shared secret
+ $this->jobList->remove('OCA\Federation\BackgroundJob\RequestSharedSecret',
+ [
+ 'url' => $url,
+ 'token' => $localToken
+ ]
+ );
+
$this->jobList->add(
'OCA\Federation\BackgroundJob\GetSharedSecret',
[
@@ -134,12 +145,16 @@ class OCSAuthAPI {
$token = $this->request->getParam('token');
if ($this->trustedServers->isTrustedServer($url) === false) {
- $this->logger->log(\OCP\Util::ERROR, 'remote server not trusted (' . $url . ') while getting shared secret', ['app' => 'federation']);
+ $this->logger->error('remote server not trusted (' . $url . ') while getting shared secret', ['app' => 'federation']);
return new \OC_OCS_Result(null, HTTP::STATUS_FORBIDDEN);
}
if ($this->isValidToken($url, $token) === false) {
- $this->logger->log(\OCP\Util::ERROR, 'remote server (' . $url . ') didn\'t send a valid token (got ' . $token . ') while getting shared secret', ['app' => 'federation']);
+ $expectedToken = $this->dbHandler->getToken($url);
+ $this->logger->error(
+ 'remote server (' . $url . ') didn\'t send a valid token (got "' . $token . '" but expected "'. $expectedToken . '") while getting shared secret',
+ ['app' => 'federation']
+ );
return new \OC_OCS_Result(null, HTTP::STATUS_FORBIDDEN);
}
diff --git a/apps/federation/backgroundjob/getsharedsecret.php b/apps/federation/backgroundjob/getsharedsecret.php
index a98a17e323b..ebc106ba94e 100644
--- a/apps/federation/backgroundjob/getsharedsecret.php
+++ b/apps/federation/backgroundjob/getsharedsecret.php
@@ -150,10 +150,14 @@ class GetSharedSecret extends QueuedJob{
} catch (ClientException $e) {
$status = $e->getCode();
- $this->logger->logException($e);
+ if ($status === Http::STATUS_FORBIDDEN) {
+ $this->logger->info($target . ' refused to exchange a shared secret with you.', ['app' => 'federation']);
+ } else {
+ $this->logger->logException($e, ['app' => 'federation']);
+ }
} catch (\Exception $e) {
$status = HTTP::STATUS_INTERNAL_SERVER_ERROR;
- $this->logger->logException($e);
+ $this->logger->logException($e, ['app' => 'federation']);
}
// if we received a unexpected response we try again later
diff --git a/apps/federation/backgroundjob/requestsharedsecret.php b/apps/federation/backgroundjob/requestsharedsecret.php
index 2db5d09545a..302711af27f 100644
--- a/apps/federation/backgroundjob/requestsharedsecret.php
+++ b/apps/federation/backgroundjob/requestsharedsecret.php
@@ -148,10 +148,14 @@ class RequestSharedSecret extends QueuedJob {
} catch (ClientException $e) {
$status = $e->getCode();
- $this->logger->logException($e);
+ if ($status === Http::STATUS_FORBIDDEN) {
+ $this->logger->info($target . ' refused to ask for a shared secret.', ['app' => 'federation']);
+ } else {
+ $this->logger->logException($e, ['app' => 'federation']);
+ }
} catch (\Exception $e) {
$status = HTTP::STATUS_INTERNAL_SERVER_ERROR;
- $this->logger->logException($e);
+ $this->logger->logException($e, ['app' => 'federation']);
}
// if we received a unexpected response we try again later
diff --git a/apps/federation/l10n/.gitkeep b/apps/federation/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/federation/l10n/.gitkeep
diff --git a/apps/federation/l10n/fi_FI.js b/apps/federation/l10n/fi_FI.js
new file mode 100644
index 00000000000..b9f813e993d
--- /dev/null
+++ b/apps/federation/l10n/fi_FI.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "federation",
+ {
+ "Server added to the list of trusted ownClouds" : "Palvelin lisätty luotettujen ownCloudien luetteloon",
+ "Server is already in the list of trusted servers." : "Palvelin on jo luotettujen palvelimien luettelossa.",
+ "No ownCloud server found" : "ownCloud-palvelinta ei löydy",
+ "Could not add server" : "Palvelimen lisääminen ei onnistunut",
+ "Federation" : "Federaatio",
+ "ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "ownCloudin federaatio mahdollistaa yhdistämisen muihin luotettuihin ownCloudeihin käyttäjähakemistojen vaihtamiseksi. Tätä käytetään muun muassa ulkoisten käyttäjien automaattiseen täydentämiseen federoidussa jakamisessa."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/fi_FI.json b/apps/federation/l10n/fi_FI.json
new file mode 100644
index 00000000000..0c8280ab0be
--- /dev/null
+++ b/apps/federation/l10n/fi_FI.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Server added to the list of trusted ownClouds" : "Palvelin lisätty luotettujen ownCloudien luetteloon",
+ "Server is already in the list of trusted servers." : "Palvelin on jo luotettujen palvelimien luettelossa.",
+ "No ownCloud server found" : "ownCloud-palvelinta ei löydy",
+ "Could not add server" : "Palvelimen lisääminen ei onnistunut",
+ "Federation" : "Federaatio",
+ "ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "ownCloudin federaatio mahdollistaa yhdistämisen muihin luotettuihin ownCloudeihin käyttäjähakemistojen vaihtamiseksi. Tätä käytetään muun muassa ulkoisten käyttäjien automaattiseen täydentämiseen federoidussa jakamisessa."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federation/l10n/fr.js b/apps/federation/l10n/fr.js
new file mode 100644
index 00000000000..8d2224b9cb4
--- /dev/null
+++ b/apps/federation/l10n/fr.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "federation",
+ {
+ "Server added to the list of trusted ownClouds" : "Serveur ajouté à la liste des ownClouds de confiance"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/federation/l10n/fr.json b/apps/federation/l10n/fr.json
new file mode 100644
index 00000000000..23ab3d0d211
--- /dev/null
+++ b/apps/federation/l10n/fr.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Server added to the list of trusted ownClouds" : "Serveur ajouté à la liste des ownClouds de confiance"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/federation/l10n/he.js b/apps/federation/l10n/he.js
new file mode 100644
index 00000000000..1d7e25bbc34
--- /dev/null
+++ b/apps/federation/l10n/he.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "federation",
+ {
+ "Server added to the list of trusted ownClouds" : "השרת נוסף לרשימת ה- ownCloud המהימנים",
+ "Server is already in the list of trusted servers." : "השרת כבר נמצא ברשימת השרתים המהימנים.",
+ "No ownCloud server found" : "לא אותר שרת ownCloud",
+ "Could not add server" : "לא ניתן היה להוסיף שרת",
+ "Federation" : "איגוד",
+ "ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "איגוד ownCloud מאפשר לך להתחבר לשרתי ownCloud מהימנים אחרים למטרת החלפת תיקיות משתמש. לדוגמא ניתן יהיה להשתמש בזה כדי להשלים באופן אוטומטי משתמשים חיצוניים לשיתוף מאוגד."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/he.json b/apps/federation/l10n/he.json
new file mode 100644
index 00000000000..1cfce307743
--- /dev/null
+++ b/apps/federation/l10n/he.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Server added to the list of trusted ownClouds" : "השרת נוסף לרשימת ה- ownCloud המהימנים",
+ "Server is already in the list of trusted servers." : "השרת כבר נמצא ברשימת השרתים המהימנים.",
+ "No ownCloud server found" : "לא אותר שרת ownCloud",
+ "Could not add server" : "לא ניתן היה להוסיף שרת",
+ "Federation" : "איגוד",
+ "ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "איגוד ownCloud מאפשר לך להתחבר לשרתי ownCloud מהימנים אחרים למטרת החלפת תיקיות משתמש. לדוגמא ניתן יהיה להשתמש בזה כדי להשלים באופן אוטומטי משתמשים חיצוניים לשיתוף מאוגד."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federation/l10n/it.js b/apps/federation/l10n/it.js
new file mode 100644
index 00000000000..e680f35bada
--- /dev/null
+++ b/apps/federation/l10n/it.js
@@ -0,0 +1,10 @@
+OC.L10N.register(
+ "federation",
+ {
+ "Server added to the list of trusted ownClouds" : "Server aggiunto all'elenco di ownCloud affidabili",
+ "Server is already in the list of trusted servers." : "Il server è già nell'elenco dei server affidabili.",
+ "No ownCloud server found" : "Nessun server ownCloud trovato",
+ "Could not add server" : "Impossibile aggiungere il server",
+ "Federation" : "Federazione"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/it.json b/apps/federation/l10n/it.json
new file mode 100644
index 00000000000..b6f7f7239d6
--- /dev/null
+++ b/apps/federation/l10n/it.json
@@ -0,0 +1,8 @@
+{ "translations": {
+ "Server added to the list of trusted ownClouds" : "Server aggiunto all'elenco di ownCloud affidabili",
+ "Server is already in the list of trusted servers." : "Il server è già nell'elenco dei server affidabili.",
+ "No ownCloud server found" : "Nessun server ownCloud trovato",
+ "Could not add server" : "Impossibile aggiungere il server",
+ "Federation" : "Federazione"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federation/l10n/pt_BR.js b/apps/federation/l10n/pt_BR.js
new file mode 100644
index 00000000000..ae8f9acbe2e
--- /dev/null
+++ b/apps/federation/l10n/pt_BR.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "federation",
+ {
+ "Server added to the list of trusted ownClouds" : "Servidor adicionado à lista de ownClouds confiáveis",
+ "Server is already in the list of trusted servers." : "O servidor já está na lista de servidores confiáveis.",
+ "No ownCloud server found" : "Nenhum servidor ownCloud encontrado",
+ "Could not add server" : "Não foi possível adicionar servidor",
+ "Federation" : "Associação",
+ "ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "A associação ownCloud permite que você conecte com outros ownCloud confiáveis para haja trocas de diretórios do usuário. Por exemplo, este será utilizado para usuários externos de complementação para compartilhamento associado."
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/federation/l10n/pt_BR.json b/apps/federation/l10n/pt_BR.json
new file mode 100644
index 00000000000..f37a3a4e28b
--- /dev/null
+++ b/apps/federation/l10n/pt_BR.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Server added to the list of trusted ownClouds" : "Servidor adicionado à lista de ownClouds confiáveis",
+ "Server is already in the list of trusted servers." : "O servidor já está na lista de servidores confiáveis.",
+ "No ownCloud server found" : "Nenhum servidor ownCloud encontrado",
+ "Could not add server" : "Não foi possível adicionar servidor",
+ "Federation" : "Associação",
+ "ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "A associação ownCloud permite que você conecte com outros ownCloud confiáveis para haja trocas de diretórios do usuário. Por exemplo, este será utilizado para usuários externos de complementação para compartilhamento associado."
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/federation/l10n/pt_PT.js b/apps/federation/l10n/pt_PT.js
new file mode 100644
index 00000000000..3e900bf1a26
--- /dev/null
+++ b/apps/federation/l10n/pt_PT.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "federation",
+ {
+ "Server added to the list of trusted ownClouds" : "Servidor adicionado à lista de ownClouds confiáveis",
+ "Server is already in the list of trusted servers." : "Servidor já pertence à lista de servidores confiáveis.",
+ "No ownCloud server found" : "Nenhum servidor ownCloud encontrado",
+ "Could not add server" : "Não foi possível adicionar servidor",
+ "Federation" : "Federação",
+ "ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federação ownCloud permite-lhe conectar-se com outros ownClouds de confiança para partilhar directórios. Por exemplo, isto será utilizado para auto-completar utilizadores externos para partilhas federadas."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/pt_PT.json b/apps/federation/l10n/pt_PT.json
new file mode 100644
index 00000000000..2758c6260e6
--- /dev/null
+++ b/apps/federation/l10n/pt_PT.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Server added to the list of trusted ownClouds" : "Servidor adicionado à lista de ownClouds confiáveis",
+ "Server is already in the list of trusted servers." : "Servidor já pertence à lista de servidores confiáveis.",
+ "No ownCloud server found" : "Nenhum servidor ownCloud encontrado",
+ "Could not add server" : "Não foi possível adicionar servidor",
+ "Federation" : "Federação",
+ "ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federação ownCloud permite-lhe conectar-se com outros ownClouds de confiança para partilhar directórios. Por exemplo, isto será utilizado para auto-completar utilizadores externos para partilhas federadas."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federation/l10n/sq.js b/apps/federation/l10n/sq.js
new file mode 100644
index 00000000000..a7265017d53
--- /dev/null
+++ b/apps/federation/l10n/sq.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "federation",
+ {
+ "Server added to the list of trusted ownClouds" : "Shërbyesi u shtua te lista e ownCloud-eve të besuar",
+ "Server is already in the list of trusted servers." : "Shërbyesi është tashmë në listën e shërbyesve të besuar.",
+ "No ownCloud server found" : "S’u gjet shërbyes ownCloud",
+ "Could not add server" : "Shërbyesi s’u shtua dot",
+ "Federation" : "Federim",
+ "ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federimi ownCloud ju lejon të lidheni me ownCloud-e të tjerë për të shkëmbyer drejtorinë e përdoruesve. Për shembull, kjo do të përdoret për për vetëplotësim përdoruesish të jashtëm për ndarje të federuar."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/sq.json b/apps/federation/l10n/sq.json
new file mode 100644
index 00000000000..39c86e7a7c4
--- /dev/null
+++ b/apps/federation/l10n/sq.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Server added to the list of trusted ownClouds" : "Shërbyesi u shtua te lista e ownCloud-eve të besuar",
+ "Server is already in the list of trusted servers." : "Shërbyesi është tashmë në listën e shërbyesve të besuar.",
+ "No ownCloud server found" : "S’u gjet shërbyes ownCloud",
+ "Could not add server" : "Shërbyesi s’u shtua dot",
+ "Federation" : "Federim",
+ "ownCloud Federation allows you to connect with other trusted ownClouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federimi ownCloud ju lejon të lidheni me ownCloud-e të tjerë për të shkëmbyer drejtorinë e përdoruesve. Për shembull, kjo do të përdoret për për vetëplotësim përdoruesish të jashtëm për ndarje të federuar."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/federation/lib/dbhandler.php b/apps/federation/lib/dbhandler.php
index 9e44c72cc42..3ea84baa3eb 100644
--- a/apps/federation/lib/dbhandler.php
+++ b/apps/federation/lib/dbhandler.php
@@ -156,6 +156,7 @@ class DbHandler {
*
* @param string $url
* @return string
+ * @throws \Exception
*/
public function getToken($url) {
$hash = $this->hash($url);
@@ -165,6 +166,11 @@ class DbHandler {
->setParameter('url_hash', $hash);
$result = $query->execute()->fetch();
+
+ if (!isset($result['token'])) {
+ throw new \Exception('No token found for: ' . $url);
+ }
+
return $result['token'];
}
diff --git a/apps/federation/tests/api/ocsauthapitest.php b/apps/federation/tests/api/ocsauthapitest.php
index 9c751fff895..d3e61c0641a 100644
--- a/apps/federation/tests/api/ocsauthapitest.php
+++ b/apps/federation/tests/api/ocsauthapitest.php
@@ -105,8 +105,11 @@ class OCSAuthAPITest extends TestCase {
if ($expected === Http::STATUS_OK) {
$this->jobList->expects($this->once())->method('add')
->with('OCA\Federation\BackgroundJob\GetSharedSecret', ['url' => $url, 'token' => $token]);
+ $this->jobList->expects($this->once())->method('remove')
+ ->with('OCA\Federation\BackgroundJob\RequestSharedSecret', ['url' => $url, 'token' => $localToken]);
} else {
$this->jobList->expects($this->never())->method('add');
+ $this->jobList->expects($this->never())->method('remove');
}
$result = $this->ocsAuthApi->requestSharedSecret();
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 1a6f38d3d7c..dd03b0c895a 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -510,8 +510,9 @@
delete this._selectedFiles[$tr.data('id')];
this._selectionSummary.remove(data);
}
- if (this._detailsView && this._selectionSummary.getTotal() === 1 && !this._detailsView.$el.hasClass('disappear')) {
- this._updateDetailsView(_.values(this._selectedFiles)[0].name);
+ if (this._detailsView && !this._detailsView.$el.hasClass('disappear')) {
+ // hide sidebar
+ this._updateDetailsView(null);
}
this.$el.find('.select-all').prop('checked', this._selectionSummary.getTotal() === this.files.length);
},
@@ -591,8 +592,9 @@
this._selectFileEl($tr, state);
this._lastChecked = $tr;
this.updateSelectionSummary();
- if (state) {
- this._updateDetailsView($tr.attr('data-file'));
+ if (this._detailsView && !this._detailsView.$el.hasClass('disappear')) {
+ // hide sidebar
+ this._updateDetailsView(null);
}
},
@@ -613,6 +615,10 @@
}
}
this.updateSelectionSummary();
+ if (this._detailsView && !this._detailsView.$el.hasClass('disappear')) {
+ // hide sidebar
+ this._updateDetailsView(null);
+ }
},
/**
diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js
index 2fbb71b373c..7e0b3f17327 100644
--- a/apps/files/l10n/tr.js
+++ b/apps/files/l10n/tr.js
@@ -42,6 +42,17 @@ OC.L10N.register(
"Unable to determine date" : "Tarih tespit edilemedi",
"This operation is forbidden" : "Bu işlem yasak",
"This directory is unavailable, please check the logs or contact the administrator" : "Bu dizine yazılamıyor, lütfen günlüğü kontrol edin veya yönetici ile iletişime geçin",
+ "Could not move \"{file}\", target exists" : "\"{file}\" taşınamadı, hedef mevcut",
+ "Could not move \"{file}\"" : "\"{file}\" taşınamadı",
+ "{newName} already exists" : "{newName} zaten mevcut",
+ "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" adlandırılamadı, artık mevcut değil",
+ "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" ismi zaten \"{dir}\" klasöründe kullanılıyor. Lütfen farklı bir isim seçin.",
+ "Could not rename \"{fileName}\"" : "\"{fileName}\" adlandırılamadı",
+ "Could not create file \"{file}\"" : "\"{file}\" dosyası oluşturulamadı",
+ "Could not create file \"{file}\" because it already exists" : "\"{file}\" dosyası zaten mevcut olduğundan oluşturulamadı",
+ "Could not create folder \"{dir}\"" : "\"{dir}\" klasörü oluşturulamadı",
+ "Could not create folder \"{dir}\" because it already exists" : "\"{dir}\" klasörü zaten mevcut olduğundan oluşturulamadı",
+ "Error deleting file \"{fileName}\"." : "\"{fileName}\" dosyası silinirken hata.",
"No entries in this folder match '{filter}'" : "Bu klasörde hiçbir girdi '{filter}' ile eşleşmiyor",
"Name" : "İsim",
"Size" : "Boyut",
diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json
index b2fd691a6a1..87f3b063df1 100644
--- a/apps/files/l10n/tr.json
+++ b/apps/files/l10n/tr.json
@@ -40,6 +40,17 @@
"Unable to determine date" : "Tarih tespit edilemedi",
"This operation is forbidden" : "Bu işlem yasak",
"This directory is unavailable, please check the logs or contact the administrator" : "Bu dizine yazılamıyor, lütfen günlüğü kontrol edin veya yönetici ile iletişime geçin",
+ "Could not move \"{file}\", target exists" : "\"{file}\" taşınamadı, hedef mevcut",
+ "Could not move \"{file}\"" : "\"{file}\" taşınamadı",
+ "{newName} already exists" : "{newName} zaten mevcut",
+ "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" adlandırılamadı, artık mevcut değil",
+ "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" ismi zaten \"{dir}\" klasöründe kullanılıyor. Lütfen farklı bir isim seçin.",
+ "Could not rename \"{fileName}\"" : "\"{fileName}\" adlandırılamadı",
+ "Could not create file \"{file}\"" : "\"{file}\" dosyası oluşturulamadı",
+ "Could not create file \"{file}\" because it already exists" : "\"{file}\" dosyası zaten mevcut olduğundan oluşturulamadı",
+ "Could not create folder \"{dir}\"" : "\"{dir}\" klasörü oluşturulamadı",
+ "Could not create folder \"{dir}\" because it already exists" : "\"{dir}\" klasörü zaten mevcut olduğundan oluşturulamadı",
+ "Error deleting file \"{fileName}\"." : "\"{fileName}\" dosyası silinirken hata.",
"No entries in this folder match '{filter}'" : "Bu klasörde hiçbir girdi '{filter}' ile eşleşmiyor",
"Name" : "İsim",
"Size" : "Boyut",
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index 0091a9ee6e4..ed56011866e 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -86,7 +86,7 @@ describe('OCA.Files.FileList tests', function() {
'<table id="filestable">' +
'<thead><tr>' +
'<th id="headerName" class="hidden column-name">' +
- '<input type="checkbox" id="select_all_files" class="select-all">' +
+ '<input type="checkbox" id="select_all_files" class="select-all checkbox">' +
'<a class="name columntitle" data-sort="name"><span>Name</span><span class="sort-indicator"></span></a>' +
'<span id="selectedActionsList" class="selectedActions hidden">' +
'<a href class="download"><img src="actions/download.svg">Download</a>' +
@@ -1969,14 +1969,35 @@ describe('OCA.Files.FileList tests', function() {
expect($tr.hasClass('highlighted')).toEqual(true);
expect(fileList._detailsView.getFileInfo().id).toEqual(1);
});
- it('keeps the last highlighted file when unselecting file using checkbox', function() {
+ it('removes last highlighted file when selecting via checkbox', function() {
var $tr = fileList.findFileEl('One.txt');
+
+ // select
+ $tr.find('td.filename>a.name').click();
$tr.find('input:checkbox').click();
- expect($tr.hasClass('highlighted')).toEqual(true);
+ expect($tr.hasClass('highlighted')).toEqual(false);
+
+ // deselect
+ $tr.find('td.filename>a.name').click();
$tr.find('input:checkbox').click();
+ expect($tr.hasClass('highlighted')).toEqual(false);
- expect($tr.hasClass('highlighted')).toEqual(true);
- expect(fileList._detailsView.getFileInfo().id).toEqual(1);
+ expect(fileList._detailsView.getFileInfo()).toEqual(null);
+ });
+ it('removes last highlighted file when selecting all files via checkbox', function() {
+ var $tr = fileList.findFileEl('One.txt');
+
+ // select
+ $tr.find('td.filename>a.name').click();
+ fileList.$el.find('.select-all.checkbox').click();
+ expect($tr.hasClass('highlighted')).toEqual(false);
+
+ // deselect
+ $tr.find('td.filename>a.name').click();
+ fileList.$el.find('.select-all.checkbox').click();
+ expect($tr.hasClass('highlighted')).toEqual(false);
+
+ expect(fileList._detailsView.getFileInfo()).toEqual(null);
});
it('closes sidebar whenever the currently highlighted file was removed from the list', function() {
var $tr = fileList.findFileEl('One.txt');
diff --git a/apps/files_external/appinfo/application.php b/apps/files_external/appinfo/application.php
index d6552fa680c..df7ba357489 100644
--- a/apps/files_external/appinfo/application.php
+++ b/apps/files_external/appinfo/application.php
@@ -108,8 +108,6 @@ class Application extends App {
// AuthMechanism::SCHEME_PASSWORD mechanisms
$container->query('OCA\Files_External\Lib\Auth\Password\Password'),
$container->query('OCA\Files_External\Lib\Auth\Password\SessionCredentials'),
- $container->query('OCA\Files_External\Lib\Auth\Password\LoginCredentials'),
- $container->query('OCA\Files_External\Lib\Auth\Password\UserProvided'),
$container->query('OCA\Files_External\Lib\Auth\Password\GlobalAuth'),
// AuthMechanism::SCHEME_OAUTH1 mechanisms
diff --git a/apps/files_external/l10n/cs_CZ.js b/apps/files_external/l10n/cs_CZ.js
index 73c1e1df66f..383d66164cb 100644
--- a/apps/files_external/l10n/cs_CZ.js
+++ b/apps/files_external/l10n/cs_CZ.js
@@ -45,6 +45,7 @@ OC.L10N.register(
"Couldn't get the list of external mount points: {type}" : "Nelze obdržet seznam vzdálených přípojných bodů: {type}",
"There was an error with message: " : "Došlo k chybě s tímto hlášením:",
"External mount error" : "Chyba vzdáleného úložiště",
+ "external-storage" : "external-storage",
"Couldn't get the list of Windows network drive mount points: empty response from the server" : "Nelze obdržet seznam síťových úložišť systému Windows: prázdná odpověď serveru",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Některá z nastavených vzdálených úložišť nejsou připojena. Pro více informací prosím klikněte na červenou šipku(y)",
"Please enter the credentials for the {mount} mount" : "Zadejte prosím přihlašovací údaje k přípojnému bodu {mount}",
@@ -69,10 +70,8 @@ OC.L10N.register(
"Rackspace" : "Rackspace",
"API key" : "Klíč API",
"Global Credentails" : "Globální přihlašovací údaje",
- "Log-in credentials, save in database" : "Přihlašovací údaje, ukládat do databáze",
"Username and password" : "Uživatelské jméno a heslo",
"Log-in credentials, save in session" : "Přihlašovací údaje, ukládat v sezení",
- "User entered, store in database" : "Zadané uživatelem, ukládat v databázi",
"RSA public key" : "RSA veřejný klíč",
"Public key" : "Veřejný klíč",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/cs_CZ.json b/apps/files_external/l10n/cs_CZ.json
index 1dc14a07af4..dfd7232e24f 100644
--- a/apps/files_external/l10n/cs_CZ.json
+++ b/apps/files_external/l10n/cs_CZ.json
@@ -43,6 +43,7 @@
"Couldn't get the list of external mount points: {type}" : "Nelze obdržet seznam vzdálených přípojných bodů: {type}",
"There was an error with message: " : "Došlo k chybě s tímto hlášením:",
"External mount error" : "Chyba vzdáleného úložiště",
+ "external-storage" : "external-storage",
"Couldn't get the list of Windows network drive mount points: empty response from the server" : "Nelze obdržet seznam síťových úložišť systému Windows: prázdná odpověď serveru",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Některá z nastavených vzdálených úložišť nejsou připojena. Pro více informací prosím klikněte na červenou šipku(y)",
"Please enter the credentials for the {mount} mount" : "Zadejte prosím přihlašovací údaje k přípojnému bodu {mount}",
@@ -67,10 +68,8 @@
"Rackspace" : "Rackspace",
"API key" : "Klíč API",
"Global Credentails" : "Globální přihlašovací údaje",
- "Log-in credentials, save in database" : "Přihlašovací údaje, ukládat do databáze",
"Username and password" : "Uživatelské jméno a heslo",
"Log-in credentials, save in session" : "Přihlašovací údaje, ukládat v sezení",
- "User entered, store in database" : "Zadané uživatelem, ukládat v databázi",
"RSA public key" : "RSA veřejný klíč",
"Public key" : "Veřejný klíč",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/de_DE.js b/apps/files_external/l10n/de_DE.js
index 514a9dcd8ab..103bce73f4c 100644
--- a/apps/files_external/l10n/de_DE.js
+++ b/apps/files_external/l10n/de_DE.js
@@ -8,6 +8,7 @@ OC.L10N.register(
"Invalid mount point" : "Ungültiger mount point",
"Invalid storage backend \"%s\"" : "Ungültiges Speicher-Backend „%s“",
"Insufficient data: %s" : "Unzureichende Daten: %s",
+ "%s" : "%s",
"Personal" : "Persönlich",
"System" : "System",
"Grant access" : "Zugriff gestatten",
@@ -25,6 +26,7 @@ OC.L10N.register(
"Saved" : "Gespeichert",
"Saving..." : "Speichervorgang…",
"Save" : "Speichern",
+ "external-storage" : "externer Speicher",
"Username" : "Benutzername",
"Password" : "Passwort",
"None" : "Keine",
diff --git a/apps/files_external/l10n/de_DE.json b/apps/files_external/l10n/de_DE.json
index 2c8af227c3b..20c239bea91 100644
--- a/apps/files_external/l10n/de_DE.json
+++ b/apps/files_external/l10n/de_DE.json
@@ -6,6 +6,7 @@
"Invalid mount point" : "Ungültiger mount point",
"Invalid storage backend \"%s\"" : "Ungültiges Speicher-Backend „%s“",
"Insufficient data: %s" : "Unzureichende Daten: %s",
+ "%s" : "%s",
"Personal" : "Persönlich",
"System" : "System",
"Grant access" : "Zugriff gestatten",
@@ -23,6 +24,7 @@
"Saved" : "Gespeichert",
"Saving..." : "Speichervorgang…",
"Save" : "Speichern",
+ "external-storage" : "externer Speicher",
"Username" : "Benutzername",
"Password" : "Passwort",
"None" : "Keine",
diff --git a/apps/files_external/l10n/es.js b/apps/files_external/l10n/es.js
index 47fe2a78540..9ce8170489b 100644
--- a/apps/files_external/l10n/es.js
+++ b/apps/files_external/l10n/es.js
@@ -70,10 +70,8 @@ OC.L10N.register(
"Rackspace" : "Espacio de Rack",
"API key" : "Clave API",
"Global Credentails" : "Credenciales Globales",
- "Log-in credentials, save in database" : "Iniciar credenciales, guardar en base de datos",
"Username and password" : "Nombre de usuario y contraseña",
"Log-in credentials, save in session" : "Iniciar credenciales, guardar en la sesión",
- "User entered, store in database" : "Usuario introducido, guardar en la base de datos",
"RSA public key" : "Clave pública RSA",
"Public key" : "Clave pública",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/es.json b/apps/files_external/l10n/es.json
index 90c4e773291..ad73b0a0838 100644
--- a/apps/files_external/l10n/es.json
+++ b/apps/files_external/l10n/es.json
@@ -68,10 +68,8 @@
"Rackspace" : "Espacio de Rack",
"API key" : "Clave API",
"Global Credentails" : "Credenciales Globales",
- "Log-in credentials, save in database" : "Iniciar credenciales, guardar en base de datos",
"Username and password" : "Nombre de usuario y contraseña",
"Log-in credentials, save in session" : "Iniciar credenciales, guardar en la sesión",
- "User entered, store in database" : "Usuario introducido, guardar en la base de datos",
"RSA public key" : "Clave pública RSA",
"Public key" : "Clave pública",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/fi_FI.js b/apps/files_external/l10n/fi_FI.js
index ec2c7d7a52c..70908c106d0 100644
--- a/apps/files_external/l10n/fi_FI.js
+++ b/apps/files_external/l10n/fi_FI.js
@@ -52,10 +52,8 @@ OC.L10N.register(
"OpenStack" : "OpenStack",
"Rackspace" : "Rackspace",
"API key" : "API-avain",
- "Log-in credentials, save in database" : "Kirjautumistiedot, tallenna tietokantaan",
"Username and password" : "Käyttäjätunnus ja salasana",
"Log-in credentials, save in session" : "Kirjautumistiedot, tallenna istuntoon",
- "User entered, store in database" : "Käyttäjän määrittämä, tallenna tietokantaan",
"RSA public key" : "Julkinen RSA-avain",
"Public key" : "Julkinen avain",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/fi_FI.json b/apps/files_external/l10n/fi_FI.json
index e74582f1962..b2e0d60a615 100644
--- a/apps/files_external/l10n/fi_FI.json
+++ b/apps/files_external/l10n/fi_FI.json
@@ -50,10 +50,8 @@
"OpenStack" : "OpenStack",
"Rackspace" : "Rackspace",
"API key" : "API-avain",
- "Log-in credentials, save in database" : "Kirjautumistiedot, tallenna tietokantaan",
"Username and password" : "Käyttäjätunnus ja salasana",
"Log-in credentials, save in session" : "Kirjautumistiedot, tallenna istuntoon",
- "User entered, store in database" : "Käyttäjän määrittämä, tallenna tietokantaan",
"RSA public key" : "Julkinen RSA-avain",
"Public key" : "Julkinen avain",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js
index ae780704b80..a34456ca17d 100644
--- a/apps/files_external/l10n/fr.js
+++ b/apps/files_external/l10n/fr.js
@@ -70,10 +70,8 @@ OC.L10N.register(
"Rackspace" : "Rackspace",
"API key" : "Clé API",
"Global Credentails" : "Identifiants globaux",
- "Log-in credentials, save in database" : "Identifiants de connexion, sauvegardés dans la base de données",
"Username and password" : "Nom d'utilisateur et mot de passe",
"Log-in credentials, save in session" : "Identifiants de connexion, sauvegardés pour la session",
- "User entered, store in database" : "Fourni par l'utilisateur, enregistré dans la base de données",
"RSA public key" : "Clé publique RSA",
"Public key" : "Clef publique",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json
index 53438506bb3..d0aa791c3c0 100644
--- a/apps/files_external/l10n/fr.json
+++ b/apps/files_external/l10n/fr.json
@@ -68,10 +68,8 @@
"Rackspace" : "Rackspace",
"API key" : "Clé API",
"Global Credentails" : "Identifiants globaux",
- "Log-in credentials, save in database" : "Identifiants de connexion, sauvegardés dans la base de données",
"Username and password" : "Nom d'utilisateur et mot de passe",
"Log-in credentials, save in session" : "Identifiants de connexion, sauvegardés pour la session",
- "User entered, store in database" : "Fourni par l'utilisateur, enregistré dans la base de données",
"RSA public key" : "Clé publique RSA",
"Public key" : "Clef publique",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/he.js b/apps/files_external/l10n/he.js
index e748676589a..a26e50b1742 100644
--- a/apps/files_external/l10n/he.js
+++ b/apps/files_external/l10n/he.js
@@ -45,10 +45,15 @@ OC.L10N.register(
"Couldn't get the list of external mount points: {type}" : "לא ניתן היה לקבל את רשימת נקודות העיגון החיצוניות: {type}",
"There was an error with message: " : "התרחשה שגיאה עם הודעה: ",
"External mount error" : "שגיאת עגינה חיצונית",
+ "external-storage" : "אחסון חיצוני",
"Couldn't get the list of Windows network drive mount points: empty response from the server" : "לא ניתן היה לקבל את רשימת נקודות העיגון של כונן הרשת של Window: תגובה ריקה מהשרת",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "חלק מנקודות העיגון החיצוניות שהוגדרו אינן מחוברות. יש ללחוץ על השורה/ות האדומה/ות למידע נוסף",
+ "Please enter the credentials for the {mount} mount" : "יש להזין את פרטי הגישה עבור התקן עגינה {mount}",
"Username" : "שם משתמש",
"Password" : "סיסמא",
+ "Credentials saved" : "פרטי גישה נשמרו",
+ "Credentials saving failed" : "שמירת פרטי גישה נכשלה",
+ "Credentials required" : "נדרשים פרטי גישה",
"Access key" : "מפתח כניסה",
"Secret key" : "מפתח סודי",
"Builtin" : "מובנה",
@@ -65,10 +70,8 @@ OC.L10N.register(
"Rackspace" : "חץ אחורה",
"API key" : "מפתח API",
"Global Credentails" : "אישורי אימות גלובלים",
- "Log-in credentials, save in database" : "אישורי התחברות, נשמרים במסד הנתונים",
"Username and password" : "שם משתמש וסיסמא",
"Log-in credentials, save in session" : "אישורי התחברות, נשמרים במידע שיחה - סשן",
- "User entered, store in database" : "משתמש התחבר, נשמר במסד הנתונים",
"RSA public key" : "מפתח ציבורי RSA",
"Public key" : "מפתח ציבורי",
"Amazon S3" : "אמזון S3",
diff --git a/apps/files_external/l10n/he.json b/apps/files_external/l10n/he.json
index 539534b3121..00aa51d8f59 100644
--- a/apps/files_external/l10n/he.json
+++ b/apps/files_external/l10n/he.json
@@ -43,10 +43,15 @@
"Couldn't get the list of external mount points: {type}" : "לא ניתן היה לקבל את רשימת נקודות העיגון החיצוניות: {type}",
"There was an error with message: " : "התרחשה שגיאה עם הודעה: ",
"External mount error" : "שגיאת עגינה חיצונית",
+ "external-storage" : "אחסון חיצוני",
"Couldn't get the list of Windows network drive mount points: empty response from the server" : "לא ניתן היה לקבל את רשימת נקודות העיגון של כונן הרשת של Window: תגובה ריקה מהשרת",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "חלק מנקודות העיגון החיצוניות שהוגדרו אינן מחוברות. יש ללחוץ על השורה/ות האדומה/ות למידע נוסף",
+ "Please enter the credentials for the {mount} mount" : "יש להזין את פרטי הגישה עבור התקן עגינה {mount}",
"Username" : "שם משתמש",
"Password" : "סיסמא",
+ "Credentials saved" : "פרטי גישה נשמרו",
+ "Credentials saving failed" : "שמירת פרטי גישה נכשלה",
+ "Credentials required" : "נדרשים פרטי גישה",
"Access key" : "מפתח כניסה",
"Secret key" : "מפתח סודי",
"Builtin" : "מובנה",
@@ -63,10 +68,8 @@
"Rackspace" : "חץ אחורה",
"API key" : "מפתח API",
"Global Credentails" : "אישורי אימות גלובלים",
- "Log-in credentials, save in database" : "אישורי התחברות, נשמרים במסד הנתונים",
"Username and password" : "שם משתמש וסיסמא",
"Log-in credentials, save in session" : "אישורי התחברות, נשמרים במידע שיחה - סשן",
- "User entered, store in database" : "משתמש התחבר, נשמר במסד הנתונים",
"RSA public key" : "מפתח ציבורי RSA",
"Public key" : "מפתח ציבורי",
"Amazon S3" : "אמזון S3",
diff --git a/apps/files_external/l10n/it.js b/apps/files_external/l10n/it.js
index 5b07891a8f4..8c0c2c89baf 100644
--- a/apps/files_external/l10n/it.js
+++ b/apps/files_external/l10n/it.js
@@ -70,10 +70,8 @@ OC.L10N.register(
"Rackspace" : "Rackspace",
"API key" : "Chiave API",
"Global Credentails" : "Credenziali globali",
- "Log-in credentials, save in database" : "Credenziali di accesso, salva nel database",
"Username and password" : "Nome utente e password",
"Log-in credentials, save in session" : "Credenziali di accesso, salva nella sessione",
- "User entered, store in database" : "Digitate dall'utente, memorizza nel database",
"RSA public key" : "Chiave pubblica RSA",
"Public key" : "Chiave pubblica",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/it.json b/apps/files_external/l10n/it.json
index 8257027e0f3..f40f1a38e7e 100644
--- a/apps/files_external/l10n/it.json
+++ b/apps/files_external/l10n/it.json
@@ -68,10 +68,8 @@
"Rackspace" : "Rackspace",
"API key" : "Chiave API",
"Global Credentails" : "Credenziali globali",
- "Log-in credentials, save in database" : "Credenziali di accesso, salva nel database",
"Username and password" : "Nome utente e password",
"Log-in credentials, save in session" : "Credenziali di accesso, salva nella sessione",
- "User entered, store in database" : "Digitate dall'utente, memorizza nel database",
"RSA public key" : "Chiave pubblica RSA",
"Public key" : "Chiave pubblica",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/ja.js b/apps/files_external/l10n/ja.js
index 6155058a031..59b0aba2151 100644
--- a/apps/files_external/l10n/ja.js
+++ b/apps/files_external/l10n/ja.js
@@ -70,10 +70,8 @@ OC.L10N.register(
"Rackspace" : "Rackspace",
"API key" : "APIキー",
"Global Credentails" : "グローバル認証情報",
- "Log-in credentials, save in database" : "ログイン認証情報は、データベースに保存されます。",
"Username and password" : "ユーザー名とパスワード",
"Log-in credentials, save in session" : "ログイン認証情報は、セッションに保存されます。",
- "User entered, store in database" : "ユーザー情報は、データベースに保存されます。",
"RSA public key" : "RSA公開鍵",
"Public key" : "公開鍵",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/ja.json b/apps/files_external/l10n/ja.json
index 995a4f23527..9d22f695685 100644
--- a/apps/files_external/l10n/ja.json
+++ b/apps/files_external/l10n/ja.json
@@ -68,10 +68,8 @@
"Rackspace" : "Rackspace",
"API key" : "APIキー",
"Global Credentails" : "グローバル認証情報",
- "Log-in credentials, save in database" : "ログイン認証情報は、データベースに保存されます。",
"Username and password" : "ユーザー名とパスワード",
"Log-in credentials, save in session" : "ログイン認証情報は、セッションに保存されます。",
- "User entered, store in database" : "ユーザー情報は、データベースに保存されます。",
"RSA public key" : "RSA公開鍵",
"Public key" : "公開鍵",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/nb_NO.js b/apps/files_external/l10n/nb_NO.js
index dcb9da4ac1f..609670d703e 100644
--- a/apps/files_external/l10n/nb_NO.js
+++ b/apps/files_external/l10n/nb_NO.js
@@ -18,6 +18,7 @@ OC.L10N.register(
"Unsatisfied authentication mechanism parameters" : "Noen parametre for autentiseringsmekanisme mangler",
"Insufficient data: %s" : "Utilstrekkelige data: %s",
"%s" : "%s",
+ "Storage with id \"%i\" is not user editable" : "Lager med id \"%i\" kan ikke redigeres av bruker",
"Personal" : "Personlig",
"System" : "System",
"Grant access" : "Gi tilgang",
@@ -28,6 +29,7 @@ OC.L10N.register(
"Error generating key pair" : "Feil ved nøkkelgenerering",
"Enable encryption" : "Aktiver kryptering",
"Enable previews" : "Tillat fohåndsvisning",
+ "Enable sharing" : "Aktiver deling",
"Check for changes" : "Se etter endringer",
"Never" : "Aldri",
"Once every direct access" : "En gang pr. direkte aksess",
@@ -43,10 +45,15 @@ OC.L10N.register(
"Couldn't get the list of external mount points: {type}" : "Klarte ikke å hente listen over eksterne oppkoblingspunkter: {type}",
"There was an error with message: " : "Det oppstod en feil med melding: ",
"External mount error" : "Ekstern oppkoblingsfeil",
+ "external-storage" : "eksternlagring",
"Couldn't get the list of Windows network drive mount points: empty response from the server" : "Klarte ikke å hente listen over oppkoblingspunkter for Windows nettverk-disker: tomt svar fra serveren",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Noen av de konfigurerte eksterne oppkoblingspunktene er ikke tilkoblet. Klikk på de røde raden(e) for mer informasjon.",
+ "Please enter the credentials for the {mount} mount" : "Legg inn påloggingsdetaljer for {mount}",
"Username" : "Brukernavn",
"Password" : "Passord",
+ "Credentials saved" : "Påloggingsdetaljer lagret",
+ "Credentials saving failed" : "Lagring av påloggingsdetaljer feilet",
+ "Credentials required" : "Påloggingsdetaljer kreves",
"Access key" : "Tilgangsnøkkel",
"Secret key" : "Hemmelig nøkkel",
"Builtin" : "Innebygget",
@@ -62,7 +69,9 @@ OC.L10N.register(
"Identity endpoint URL" : "URL for identitets-endepunkt",
"Rackspace" : "Rackspace",
"API key" : "API-nøkkel",
+ "Global Credentails" : "Globale påloggingsdetaljer",
"Username and password" : "Brukernavn og passord",
+ "Log-in credentials, save in session" : "Påloggingsdetaljer, lagre i økten",
"RSA public key" : "RSA offentlig nøkkel",
"Public key" : "Offentlig nøkkel",
"Amazon S3" : "Amazon S3",
@@ -105,6 +114,7 @@ OC.L10N.register(
"Storage type" : "Lagringstype",
"Scope" : "Omfang",
"External Storage" : "Ekstern lagring",
+ "Global Credentials" : "Globale påloggingsdetaljer",
"Folder name" : "Mappenavn",
"Authentication" : "Autentisering",
"Configuration" : "Konfigurasjon",
diff --git a/apps/files_external/l10n/nb_NO.json b/apps/files_external/l10n/nb_NO.json
index c7f56d21534..557830826b5 100644
--- a/apps/files_external/l10n/nb_NO.json
+++ b/apps/files_external/l10n/nb_NO.json
@@ -16,6 +16,7 @@
"Unsatisfied authentication mechanism parameters" : "Noen parametre for autentiseringsmekanisme mangler",
"Insufficient data: %s" : "Utilstrekkelige data: %s",
"%s" : "%s",
+ "Storage with id \"%i\" is not user editable" : "Lager med id \"%i\" kan ikke redigeres av bruker",
"Personal" : "Personlig",
"System" : "System",
"Grant access" : "Gi tilgang",
@@ -26,6 +27,7 @@
"Error generating key pair" : "Feil ved nøkkelgenerering",
"Enable encryption" : "Aktiver kryptering",
"Enable previews" : "Tillat fohåndsvisning",
+ "Enable sharing" : "Aktiver deling",
"Check for changes" : "Se etter endringer",
"Never" : "Aldri",
"Once every direct access" : "En gang pr. direkte aksess",
@@ -41,10 +43,15 @@
"Couldn't get the list of external mount points: {type}" : "Klarte ikke å hente listen over eksterne oppkoblingspunkter: {type}",
"There was an error with message: " : "Det oppstod en feil med melding: ",
"External mount error" : "Ekstern oppkoblingsfeil",
+ "external-storage" : "eksternlagring",
"Couldn't get the list of Windows network drive mount points: empty response from the server" : "Klarte ikke å hente listen over oppkoblingspunkter for Windows nettverk-disker: tomt svar fra serveren",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Noen av de konfigurerte eksterne oppkoblingspunktene er ikke tilkoblet. Klikk på de røde raden(e) for mer informasjon.",
+ "Please enter the credentials for the {mount} mount" : "Legg inn påloggingsdetaljer for {mount}",
"Username" : "Brukernavn",
"Password" : "Passord",
+ "Credentials saved" : "Påloggingsdetaljer lagret",
+ "Credentials saving failed" : "Lagring av påloggingsdetaljer feilet",
+ "Credentials required" : "Påloggingsdetaljer kreves",
"Access key" : "Tilgangsnøkkel",
"Secret key" : "Hemmelig nøkkel",
"Builtin" : "Innebygget",
@@ -60,7 +67,9 @@
"Identity endpoint URL" : "URL for identitets-endepunkt",
"Rackspace" : "Rackspace",
"API key" : "API-nøkkel",
+ "Global Credentails" : "Globale påloggingsdetaljer",
"Username and password" : "Brukernavn og passord",
+ "Log-in credentials, save in session" : "Påloggingsdetaljer, lagre i økten",
"RSA public key" : "RSA offentlig nøkkel",
"Public key" : "Offentlig nøkkel",
"Amazon S3" : "Amazon S3",
@@ -103,6 +112,7 @@
"Storage type" : "Lagringstype",
"Scope" : "Omfang",
"External Storage" : "Ekstern lagring",
+ "Global Credentials" : "Globale påloggingsdetaljer",
"Folder name" : "Mappenavn",
"Authentication" : "Autentisering",
"Configuration" : "Konfigurasjon",
diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js
index 243dde9a6c3..7b2b23efa35 100644
--- a/apps/files_external/l10n/nl.js
+++ b/apps/files_external/l10n/nl.js
@@ -70,10 +70,8 @@ OC.L10N.register(
"Rackspace" : "Rackspace",
"API key" : "API sleutel",
"Global Credentails" : "Globale inloggegevens",
- "Log-in credentials, save in database" : "Inloggegevens, opslaan in database",
"Username and password" : "Gebruikersnaam en wachtwoord",
"Log-in credentials, save in session" : "Inloggegevens, opslaan in sessie",
- "User entered, store in database" : "Gebruiker opgegeven, opslaan in database",
"RSA public key" : "RSA publieke sleutel",
"Public key" : "Publieke sleutel",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json
index bcc9149945b..4facab4049d 100644
--- a/apps/files_external/l10n/nl.json
+++ b/apps/files_external/l10n/nl.json
@@ -68,10 +68,8 @@
"Rackspace" : "Rackspace",
"API key" : "API sleutel",
"Global Credentails" : "Globale inloggegevens",
- "Log-in credentials, save in database" : "Inloggegevens, opslaan in database",
"Username and password" : "Gebruikersnaam en wachtwoord",
"Log-in credentials, save in session" : "Inloggegevens, opslaan in sessie",
- "User entered, store in database" : "Gebruiker opgegeven, opslaan in database",
"RSA public key" : "RSA publieke sleutel",
"Public key" : "Publieke sleutel",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/pt_BR.js b/apps/files_external/l10n/pt_BR.js
index 484550ad109..8b3c97247d2 100644
--- a/apps/files_external/l10n/pt_BR.js
+++ b/apps/files_external/l10n/pt_BR.js
@@ -70,10 +70,8 @@ OC.L10N.register(
"Rackspace" : "Espaço em rack",
"API key" : "Chave API",
"Global Credentails" : "Credenciais Globais",
- "Log-in credentials, save in database" : "Credenciais de login, salvos no banco de dados",
"Username and password" : "Nome de Usuário e senha",
"Log-in credentials, save in session" : "Credenciais de login, guardados em sessão",
- "User entered, store in database" : "Usuário digitou, armazenar em banco de dados",
"RSA public key" : "Chave pública RSA",
"Public key" : "Chave pública",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/pt_BR.json b/apps/files_external/l10n/pt_BR.json
index 70bb4422730..f4a21f4775d 100644
--- a/apps/files_external/l10n/pt_BR.json
+++ b/apps/files_external/l10n/pt_BR.json
@@ -68,10 +68,8 @@
"Rackspace" : "Espaço em rack",
"API key" : "Chave API",
"Global Credentails" : "Credenciais Globais",
- "Log-in credentials, save in database" : "Credenciais de login, salvos no banco de dados",
"Username and password" : "Nome de Usuário e senha",
"Log-in credentials, save in session" : "Credenciais de login, guardados em sessão",
- "User entered, store in database" : "Usuário digitou, armazenar em banco de dados",
"RSA public key" : "Chave pública RSA",
"Public key" : "Chave pública",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/pt_PT.js b/apps/files_external/l10n/pt_PT.js
index 5a549eb04c1..be1ea5bca4d 100644
--- a/apps/files_external/l10n/pt_PT.js
+++ b/apps/files_external/l10n/pt_PT.js
@@ -70,10 +70,8 @@ OC.L10N.register(
"Rackspace" : "Rackspace",
"API key" : "Chave API",
"Global Credentails" : "Credenciais Gerais",
- "Log-in credentials, save in database" : "Credenciais de login, guardar na base de dados",
"Username and password" : "Nome de utilizador e palavra-passe",
"Log-in credentials, save in session" : "Credenciais de login, guardar na sessão",
- "User entered, store in database" : "Utilizador introduzido, guardar na base de dados",
"RSA public key" : "Chave pública RSA",
"Public key" : "Chave pública",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/pt_PT.json b/apps/files_external/l10n/pt_PT.json
index 98eac2442e5..1396f981644 100644
--- a/apps/files_external/l10n/pt_PT.json
+++ b/apps/files_external/l10n/pt_PT.json
@@ -68,10 +68,8 @@
"Rackspace" : "Rackspace",
"API key" : "Chave API",
"Global Credentails" : "Credenciais Gerais",
- "Log-in credentials, save in database" : "Credenciais de login, guardar na base de dados",
"Username and password" : "Nome de utilizador e palavra-passe",
"Log-in credentials, save in session" : "Credenciais de login, guardar na sessão",
- "User entered, store in database" : "Utilizador introduzido, guardar na base de dados",
"RSA public key" : "Chave pública RSA",
"Public key" : "Chave pública",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/ru.js b/apps/files_external/l10n/ru.js
index e0f55115d97..6357d1e829d 100644
--- a/apps/files_external/l10n/ru.js
+++ b/apps/files_external/l10n/ru.js
@@ -45,10 +45,15 @@ OC.L10N.register(
"Couldn't get the list of external mount points: {type}" : "Не удалось получить список внешних точек монтирования: {type}",
"There was an error with message: " : "Обнаружена ошибка в сообщении:",
"External mount error" : "Ошибка внешнего монтажа",
+ "external-storage" : "внешнее-хранилище",
"Couldn't get the list of Windows network drive mount points: empty response from the server" : "Не удалось получить список окон сетевого диска точки монтирования: пустой ответ от сервера",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Некоторые из настроенных внешних точек монтирования не подключены. Для получения дополнительной информации, пожалуйста нажмите на красную строку (ы)",
+ "Please enter the credentials for the {mount} mount" : "Пожалуйста укажите учетные данные для {mount}",
"Username" : "Имя пользователя",
"Password" : "Пароль",
+ "Credentials saved" : "Учетные данные сохранены",
+ "Credentials saving failed" : "Ошибка сохранения учетных данных",
+ "Credentials required" : "Требуются учетные данные",
"Access key" : "Ключ доступа",
"Secret key" : "Секретный ключ",
"Builtin" : "Встроенный",
@@ -64,10 +69,9 @@ OC.L10N.register(
"Identity endpoint URL" : "Удостоверение конечной точки URL",
"Rackspace" : "Rackspace",
"API key" : "Ключ API",
- "Log-in credentials, save in database" : "Учетные данные, хранить в базе данных",
+ "Global Credentails" : "Глобальные учетные данные",
"Username and password" : "Имя пользователя и пароль",
"Log-in credentials, save in session" : "Учетные данные, хранить в сессии",
- "User entered, store in database" : "Введенные пользователем, хранить в базе данных",
"RSA public key" : "Открытый ключ RSA",
"Public key" : "Открытый ключ",
"Amazon S3" : "Amazon S3",
@@ -110,6 +114,7 @@ OC.L10N.register(
"Storage type" : "Тип хранилища",
"Scope" : "Область",
"External Storage" : "Внешнее хранилище",
+ "Global Credentials" : "Глобальные учетные данные",
"Folder name" : "Имя каталога",
"Authentication" : "Авторизация",
"Configuration" : "Конфигурация",
diff --git a/apps/files_external/l10n/ru.json b/apps/files_external/l10n/ru.json
index eda8da90aca..2c0c7fb6945 100644
--- a/apps/files_external/l10n/ru.json
+++ b/apps/files_external/l10n/ru.json
@@ -43,10 +43,15 @@
"Couldn't get the list of external mount points: {type}" : "Не удалось получить список внешних точек монтирования: {type}",
"There was an error with message: " : "Обнаружена ошибка в сообщении:",
"External mount error" : "Ошибка внешнего монтажа",
+ "external-storage" : "внешнее-хранилище",
"Couldn't get the list of Windows network drive mount points: empty response from the server" : "Не удалось получить список окон сетевого диска точки монтирования: пустой ответ от сервера",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Некоторые из настроенных внешних точек монтирования не подключены. Для получения дополнительной информации, пожалуйста нажмите на красную строку (ы)",
+ "Please enter the credentials for the {mount} mount" : "Пожалуйста укажите учетные данные для {mount}",
"Username" : "Имя пользователя",
"Password" : "Пароль",
+ "Credentials saved" : "Учетные данные сохранены",
+ "Credentials saving failed" : "Ошибка сохранения учетных данных",
+ "Credentials required" : "Требуются учетные данные",
"Access key" : "Ключ доступа",
"Secret key" : "Секретный ключ",
"Builtin" : "Встроенный",
@@ -62,10 +67,9 @@
"Identity endpoint URL" : "Удостоверение конечной точки URL",
"Rackspace" : "Rackspace",
"API key" : "Ключ API",
- "Log-in credentials, save in database" : "Учетные данные, хранить в базе данных",
+ "Global Credentails" : "Глобальные учетные данные",
"Username and password" : "Имя пользователя и пароль",
"Log-in credentials, save in session" : "Учетные данные, хранить в сессии",
- "User entered, store in database" : "Введенные пользователем, хранить в базе данных",
"RSA public key" : "Открытый ключ RSA",
"Public key" : "Открытый ключ",
"Amazon S3" : "Amazon S3",
@@ -108,6 +112,7 @@
"Storage type" : "Тип хранилища",
"Scope" : "Область",
"External Storage" : "Внешнее хранилище",
+ "Global Credentials" : "Глобальные учетные данные",
"Folder name" : "Имя каталога",
"Authentication" : "Авторизация",
"Configuration" : "Конфигурация",
diff --git a/apps/files_external/l10n/sq.js b/apps/files_external/l10n/sq.js
index bab6a24df7f..d805eee2810 100644
--- a/apps/files_external/l10n/sq.js
+++ b/apps/files_external/l10n/sq.js
@@ -68,10 +68,8 @@ OC.L10N.register(
"Rackspace" : "Rackspace",
"API key" : "Kyç API",
"Global Credentails" : "Kredenciale Globale",
- "Log-in credentials, save in database" : "Kredenciale hyrjesh, ruaje në bazën e të dhënave",
"Username and password" : "Emër përdoruesi dhe fjalëkalim",
- "Log-in credentials, save in session" : "Kredenciale hyrjesh, ruaje në sesion",
- "User entered, store in database" : "Përdoruesi u dha, ruajeni në bazën e të dhënave",
+ "Log-in credentials, save in session" : "Kredenciale hyrjesh, ruaji për sesion",
"RSA public key" : "Kyç publik RSA ",
"Public key" : "Kyç publik",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/sq.json b/apps/files_external/l10n/sq.json
index 7c132ddd855..135b6a8b40c 100644
--- a/apps/files_external/l10n/sq.json
+++ b/apps/files_external/l10n/sq.json
@@ -66,10 +66,8 @@
"Rackspace" : "Rackspace",
"API key" : "Kyç API",
"Global Credentails" : "Kredenciale Globale",
- "Log-in credentials, save in database" : "Kredenciale hyrjesh, ruaje në bazën e të dhënave",
"Username and password" : "Emër përdoruesi dhe fjalëkalim",
- "Log-in credentials, save in session" : "Kredenciale hyrjesh, ruaje në sesion",
- "User entered, store in database" : "Përdoruesi u dha, ruajeni në bazën e të dhënave",
+ "Log-in credentials, save in session" : "Kredenciale hyrjesh, ruaji për sesion",
"RSA public key" : "Kyç publik RSA ",
"Public key" : "Kyç publik",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/th_TH.js b/apps/files_external/l10n/th_TH.js
index e8f3aa3aaec..afcc80d5cfe 100644
--- a/apps/files_external/l10n/th_TH.js
+++ b/apps/files_external/l10n/th_TH.js
@@ -64,10 +64,8 @@ OC.L10N.register(
"Identity endpoint URL" : "ตัวตนของ URL ปลายทาง",
"Rackspace" : "Rackspace",
"API key" : "รหัส API",
- "Log-in credentials, save in database" : "ข้อมูลประจำตัวสำหรับเข้าสู่ระบบ, บันทึกลงในฐานข้อมูล",
"Username and password" : "ชื่อผู้ใช้และรหัสผ่าน",
"Log-in credentials, save in session" : "ข้อมูลประจำตัวสำหรับเข้าสู่ระบบ, บันทึกลงในช่วงเวลาเข้าใช้งาน",
- "User entered, store in database" : "เมื่อผู้ใช้กรอก, เก็บข้อมูลไว้ในฐานข้อมูล",
"RSA public key" : "RSA คีย์สาธารณะ",
"Public key" : "คีย์สาธารณะ",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/th_TH.json b/apps/files_external/l10n/th_TH.json
index 5cdfd95411f..964638d7e82 100644
--- a/apps/files_external/l10n/th_TH.json
+++ b/apps/files_external/l10n/th_TH.json
@@ -62,10 +62,8 @@
"Identity endpoint URL" : "ตัวตนของ URL ปลายทาง",
"Rackspace" : "Rackspace",
"API key" : "รหัส API",
- "Log-in credentials, save in database" : "ข้อมูลประจำตัวสำหรับเข้าสู่ระบบ, บันทึกลงในฐานข้อมูล",
"Username and password" : "ชื่อผู้ใช้และรหัสผ่าน",
"Log-in credentials, save in session" : "ข้อมูลประจำตัวสำหรับเข้าสู่ระบบ, บันทึกลงในช่วงเวลาเข้าใช้งาน",
- "User entered, store in database" : "เมื่อผู้ใช้กรอก, เก็บข้อมูลไว้ในฐานข้อมูล",
"RSA public key" : "RSA คีย์สาธารณะ",
"Public key" : "คีย์สาธารณะ",
"Amazon S3" : "Amazon S3",
diff --git a/apps/files_external/l10n/tr.js b/apps/files_external/l10n/tr.js
index 0473544da04..a58f6128219 100644
--- a/apps/files_external/l10n/tr.js
+++ b/apps/files_external/l10n/tr.js
@@ -17,6 +17,8 @@ OC.L10N.register(
"Unsatisfied backend parameters" : "Yetersiz arka uç parametreleri",
"Unsatisfied authentication mechanism parameters" : "Yetersiz kimlik doğrulama mekanizması parametreleri",
"Insufficient data: %s" : "Yetersiz veri: %s",
+ "%s" : "%s",
+ "Storage with id \"%i\" is not user editable" : "\"%i\" kimliği ile bir depolama bulunamadı",
"Personal" : "Kişisel",
"System" : "Sistem",
"Grant access" : "Erişimi sağla",
@@ -27,14 +29,22 @@ OC.L10N.register(
"Error generating key pair" : "Anahtar çifti üretirken hata",
"Enable encryption" : "Şifrelemeyi aç",
"Enable previews" : "Önizlemeleri aç",
+ "Enable sharing" : "Paylaşımı etkinleştir",
"Check for changes" : "Değişiklikleri denetle",
"Never" : "Daha yeni",
"Once every direct access" : "Her doğrudan erişimde bir kez",
"All users. Type to select user or group." : "Tüm kullanıcılar. Kullanıcı veya grup seçmek için yazın.",
"(group)" : "(grup)",
+ "Admin defined" : "Yönetici tanımlandı",
"Saved" : "Kaydedildi",
"Saving..." : "Kaydediliyor...",
"Save" : "Kaydet",
+ "Empty response from the server" : "Sunucudan boş yanıt",
+ "Couldn't access. Please logout and login to activate this mount point" : "Erişilemedi. Lütfen bu bağlama noktasını etkinleştirmek için tekrar oturumu kapatıp açın.",
+ "Couldn't get the information from the ownCloud server: {code} {type}" : "ownCloud sunucusundan bilgi alınamadı: {code} {type}",
+ "Couldn't get the list of external mount points: {type}" : "Harici bağlama noktalarının listesi alınamadı: {type}",
+ "There was an error with message: " : "Şu mesajla bir hata oluştu:",
+ "External mount error" : "Harici bağlama hatası",
"Username" : "Kullanıcı Adı",
"Password" : "Parola",
"Access key" : "Erişim anahtarı",
diff --git a/apps/files_external/l10n/tr.json b/apps/files_external/l10n/tr.json
index 384bf0afe2f..8521bdd133b 100644
--- a/apps/files_external/l10n/tr.json
+++ b/apps/files_external/l10n/tr.json
@@ -15,6 +15,8 @@
"Unsatisfied backend parameters" : "Yetersiz arka uç parametreleri",
"Unsatisfied authentication mechanism parameters" : "Yetersiz kimlik doğrulama mekanizması parametreleri",
"Insufficient data: %s" : "Yetersiz veri: %s",
+ "%s" : "%s",
+ "Storage with id \"%i\" is not user editable" : "\"%i\" kimliği ile bir depolama bulunamadı",
"Personal" : "Kişisel",
"System" : "Sistem",
"Grant access" : "Erişimi sağla",
@@ -25,14 +27,22 @@
"Error generating key pair" : "Anahtar çifti üretirken hata",
"Enable encryption" : "Şifrelemeyi aç",
"Enable previews" : "Önizlemeleri aç",
+ "Enable sharing" : "Paylaşımı etkinleştir",
"Check for changes" : "Değişiklikleri denetle",
"Never" : "Daha yeni",
"Once every direct access" : "Her doğrudan erişimde bir kez",
"All users. Type to select user or group." : "Tüm kullanıcılar. Kullanıcı veya grup seçmek için yazın.",
"(group)" : "(grup)",
+ "Admin defined" : "Yönetici tanımlandı",
"Saved" : "Kaydedildi",
"Saving..." : "Kaydediliyor...",
"Save" : "Kaydet",
+ "Empty response from the server" : "Sunucudan boş yanıt",
+ "Couldn't access. Please logout and login to activate this mount point" : "Erişilemedi. Lütfen bu bağlama noktasını etkinleştirmek için tekrar oturumu kapatıp açın.",
+ "Couldn't get the information from the ownCloud server: {code} {type}" : "ownCloud sunucusundan bilgi alınamadı: {code} {type}",
+ "Couldn't get the list of external mount points: {type}" : "Harici bağlama noktalarının listesi alınamadı: {type}",
+ "There was an error with message: " : "Şu mesajla bir hata oluştu:",
+ "External mount error" : "Harici bağlama hatası",
"Username" : "Kullanıcı Adı",
"Password" : "Parola",
"Access key" : "Erişim anahtarı",
diff --git a/apps/files_external/lib/auth/password/logincredentials.php b/apps/files_external/lib/auth/password/logincredentials.php
deleted file mode 100644
index 25bd66fb41a..00000000000
--- a/apps/files_external/lib/auth/password/logincredentials.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-/**
- * @author Robin McCorkell <rmccorkell@owncloud.com>
- *
- * @copyright Copyright (c) 2015, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OCA\Files_External\Lib\Auth\Password;
-
-use \OCP\IL10N;
-use \OCP\IUser;
-use \OCA\Files_External\Lib\DefinitionParameter;
-use \OCA\Files_External\Lib\Auth\AuthMechanism;
-use \OCA\Files_External\Lib\StorageConfig;
-use \OCP\ISession;
-use \OCP\Security\ICredentialsManager;
-use \OCP\Files\Storage;
-use \OCA\Files_External\Lib\SessionStorageWrapper;
-use \OCA\Files_External\Lib\InsufficientDataForMeaningfulAnswerException;
-
-/**
- * Username and password from login credentials, saved in DB
- */
-class LoginCredentials extends AuthMechanism {
-
- const CREDENTIALS_IDENTIFIER = 'password::logincredentials/credentials';
-
- /** @var ISession */
- protected $session;
-
- /** @var ICredentialsManager */
- protected $credentialsManager;
-
- public function __construct(IL10N $l, ISession $session, ICredentialsManager $credentialsManager) {
- $this->session = $session;
- $this->credentialsManager = $credentialsManager;
-
- $this
- ->setIdentifier('password::logincredentials')
- ->setScheme(self::SCHEME_PASSWORD)
- ->setText($l->t('Log-in credentials, save in database'))
- ->addParameters([
- ])
- ;
-
- \OCP\Util::connectHook('OC_User', 'post_login', $this, 'authenticate');
- }
-
- /**
- * Hook listener on post login
- *
- * @param array $params
- */
- public function authenticate(array $params) {
- $userId = $params['uid'];
- $credentials = [
- 'user' => $this->session->get('loginname'),
- 'password' => $params['password']
- ];
- $this->credentialsManager->store($userId, self::CREDENTIALS_IDENTIFIER, $credentials);
- }
-
- public function manipulateStorageConfig(StorageConfig &$storage, IUser $user = null) {
- if (!isset($user)) {
- throw new InsufficientDataForMeaningfulAnswerException('No login credentials saved');
- }
- $uid = $user->getUID();
- $credentials = $this->credentialsManager->retrieve($uid, self::CREDENTIALS_IDENTIFIER);
-
- if (!isset($credentials)) {
- throw new InsufficientDataForMeaningfulAnswerException('No login credentials saved');
- }
-
- $storage->setBackendOption('user', $credentials['user']);
- $storage->setBackendOption('password', $credentials['password']);
- }
-
-}
diff --git a/apps/files_external/lib/auth/password/userprovided.php b/apps/files_external/lib/auth/password/userprovided.php
deleted file mode 100644
index 2f277163184..00000000000
--- a/apps/files_external/lib/auth/password/userprovided.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/**
- * @author Robin Appelman <icewind@owncloud.com>
- *
- * @copyright Copyright (c) 2015, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OCA\Files_External\Lib\Auth\Password;
-
-use OCA\Files_External\Lib\Auth\IUserProvided;
-use OCA\Files_External\Lib\DefinitionParameter;
-use OCA\Files_External\Service\BackendService;
-use OCP\IL10N;
-use OCP\IUser;
-use OCA\Files_External\Lib\Auth\AuthMechanism;
-use OCA\Files_External\Lib\StorageConfig;
-use OCP\Security\ICredentialsManager;
-use OCP\Files\Storage;
-use OCA\Files_External\Lib\InsufficientDataForMeaningfulAnswerException;
-
-/**
- * User provided Username and Password
- */
-class UserProvided extends AuthMechanism implements IUserProvided {
-
- const CREDENTIALS_IDENTIFIER_PREFIX = 'password::userprovided/';
-
- /** @var ICredentialsManager */
- protected $credentialsManager;
-
- public function __construct(IL10N $l, ICredentialsManager $credentialsManager) {
- $this->credentialsManager = $credentialsManager;
-
- $this
- ->setIdentifier('password::userprovided')
- ->setVisibility(BackendService::VISIBILITY_ADMIN)
- ->setScheme(self::SCHEME_PASSWORD)
- ->setText($l->t('User entered, store in database'))
- ->addParameters([
- (new DefinitionParameter('user', $l->t('Username')))
- ->setFlag(DefinitionParameter::FLAG_USER_PROVIDED),
- (new DefinitionParameter('password', $l->t('Password')))
- ->setType(DefinitionParameter::VALUE_PASSWORD)
- ->setFlag(DefinitionParameter::FLAG_USER_PROVIDED),
- ]);
- }
-
- private function getCredentialsIdentifier($storageId) {
- return self::CREDENTIALS_IDENTIFIER_PREFIX . $storageId;
- }
-
- public function saveBackendOptions(IUser $user, $id, array $options) {
- $this->credentialsManager->store($user->getUID(), $this->getCredentialsIdentifier($id), [
- 'user' => $options['user'], // explicitly copy the fields we want instead of just passing the entire $options array
- 'password' => $options['password'] // this way we prevent users from being able to modify any other field
- ]);
- }
-
- public function manipulateStorageConfig(StorageConfig &$storage, IUser $user = null) {
- if (!isset($user)) {
- throw new InsufficientDataForMeaningfulAnswerException('No credentials saved');
- }
- $uid = $user->getUID();
- $credentials = $this->credentialsManager->retrieve($uid, $this->getCredentialsIdentifier($storage->getId()));
-
- if (!isset($credentials)) {
- throw new InsufficientDataForMeaningfulAnswerException('No credentials saved');
- }
-
- $storage->setBackendOption('user', $credentials['user']);
- $storage->setBackendOption('password', $credentials['password']);
- }
-
-}
diff --git a/apps/files_external/lib/smb.php b/apps/files_external/lib/smb.php
index 50bd56f28ad..b93e6e5b805 100644
--- a/apps/files_external/lib/smb.php
+++ b/apps/files_external/lib/smb.php
@@ -30,6 +30,7 @@
namespace OC\Files\Storage;
use Icewind\SMB\Exception\Exception;
+use Icewind\SMB\Exception\ForbiddenException;
use Icewind\SMB\Exception\NotFoundException;
use Icewind\SMB\NativeServer;
use Icewind\SMB\Server;
@@ -159,6 +160,8 @@ class SMB extends Common {
}
} catch (NotFoundException $e) {
return false;
+ } catch (ForbiddenException $e) {
+ return false;
}
}
@@ -239,6 +242,8 @@ class SMB extends Common {
return false;
} catch (NotFoundException $e) {
return false;
+ } catch (ForbiddenException $e) {
+ return false;
}
}
@@ -257,6 +262,8 @@ class SMB extends Common {
return true;
} catch (NotFoundException $e) {
return false;
+ } catch (ForbiddenException $e) {
+ return false;
}
}
@@ -270,7 +277,13 @@ class SMB extends Common {
}
public function opendir($path) {
- $files = $this->getFolderContents($path);
+ try {
+ $files = $this->getFolderContents($path);
+ } catch (NotFoundException $e) {
+ return false;
+ } catch (ForbiddenException $e) {
+ return false;
+ }
$names = array_map(function ($info) {
/** @var \Icewind\SMB\IFileInfo $info */
return $info->getName();
@@ -283,6 +296,8 @@ class SMB extends Common {
return $this->getFileInfo($path)->isDirectory() ? 'dir' : 'file';
} catch (NotFoundException $e) {
return false;
+ } catch (ForbiddenException $e) {
+ return false;
}
}
@@ -302,6 +317,8 @@ class SMB extends Common {
return true;
} catch (NotFoundException $e) {
return false;
+ } catch (ForbiddenException $e) {
+ return false;
}
}
diff --git a/apps/files_external/service/dbconfigservice.php b/apps/files_external/service/dbconfigservice.php
index d52bf51e4aa..07f9942e05c 100644
--- a/apps/files_external/service/dbconfigservice.php
+++ b/apps/files_external/service/dbconfigservice.php
@@ -23,6 +23,7 @@ namespace OCA\Files_External\Service;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
+use OCP\Security\ICrypto;
/**
* Stores the mount config in the database
@@ -41,12 +42,19 @@ class DBConfigService {
private $connection;
/**
+ * @var ICrypto
+ */
+ private $crypto;
+
+ /**
* DBConfigService constructor.
*
* @param IDBConnection $connection
+ * @param ICrypto $crypto
*/
- public function __construct(IDBConnection $connection) {
+ public function __construct(IDBConnection $connection, ICrypto $crypto) {
$this->connection = $connection;
+ $this->crypto = $crypto;
}
/**
@@ -246,6 +254,9 @@ class DBConfigService {
* @param string $value
*/
public function setConfig($mountId, $key, $value) {
+ if ($key === 'password') {
+ $value = $this->encryptValue($value);
+ }
$count = $this->connection->insertIfNotExist('*PREFIX*external_config', [
'mount_id' => $mountId,
'key' => $key,
@@ -267,6 +278,7 @@ class DBConfigService {
* @param string $value
*/
public function setOption($mountId, $key, $value) {
+
$count = $this->connection->insertIfNotExist('*PREFIX*external_options', [
'mount_id' => $mountId,
'key' => $key,
@@ -398,13 +410,31 @@ class DBConfigService {
* @return array ['key1' => $value1, ...]
*/
private function createKeyValueMap(array $keyValuePairs) {
+ $decryptedPairts = array_map(function ($pair) {
+ if ($pair['key'] === 'password') {
+ $pair['value'] = $this->decryptValue($pair['value']);
+ }
+ return $pair;
+ }, $keyValuePairs);
$keys = array_map(function ($pair) {
return $pair['key'];
- }, $keyValuePairs);
+ }, $decryptedPairts);
$values = array_map(function ($pair) {
return $pair['value'];
- }, $keyValuePairs);
+ }, $decryptedPairts);
return array_combine($keys, $values);
}
+
+ private function encryptValue($value) {
+ return $this->crypto->encrypt($value);
+ }
+
+ private function decryptValue($value) {
+ try {
+ return $this->crypto->decrypt($value);
+ } catch (\Exception $e) {
+ return $value;
+ }
+ }
}
diff --git a/apps/files_external/tests/command/listcommandtest.php b/apps/files_external/tests/command/listcommandtest.php
index 338ddb7593e..3098906bcc6 100644
--- a/apps/files_external/tests/command/listcommandtest.php
+++ b/apps/files_external/tests/command/listcommandtest.php
@@ -24,7 +24,7 @@ namespace OCA\Files_External\Tests\Command;
use OCA\Files_External\Command\ListCommand;
use OCA\Files_External\Lib\Auth\NullMechanism;
use OCA\Files_External\Lib\Auth\Password\Password;
-use OCA\Files_External\Lib\Auth\Password\UserProvided;
+use OCA\Files_External\Lib\Auth\Password\SessionCredentials;
use OCA\Files_External\Lib\Backend\Local;
use OCA\Files_external\Lib\StorageConfig;
use Symfony\Component\Console\Output\BufferedOutput;
@@ -48,13 +48,14 @@ class ListCommandTest extends CommandTest {
public function testListAuthIdentifier() {
$l10n = $this->getMock('\OC_L10N', null, [], '', false);
- $credentialsManager = $this->getMock('\OCP\Security\ICredentialsManager');
+ $session = $this->getMock('\OCP\ISession');
+ $crypto = $this->getMock('\OCP\Security\ICrypto');
$instance = $this->getInstance();
$mount1 = new StorageConfig();
$mount1->setAuthMechanism(new Password($l10n));
$mount1->setBackend(new Local($l10n, new NullMechanism($l10n)));
$mount2 = new StorageConfig();
- $mount2->setAuthMechanism(new UserProvided($l10n, $credentialsManager));
+ $mount2->setAuthMechanism(new SessionCredentials($l10n, $session, $crypto));
$mount2->setBackend(new Local($l10n, new NullMechanism($l10n)));
$input = $this->getInput($instance, [], [
'output' => 'json'
diff --git a/apps/files_external/tests/service/dbconfigservicetest.php b/apps/files_external/tests/service/dbconfigservicetest.php
index 41b5df73613..30c67ac8c93 100644
--- a/apps/files_external/tests/service/dbconfigservicetest.php
+++ b/apps/files_external/tests/service/dbconfigservicetest.php
@@ -45,7 +45,7 @@ class DBConfigServiceTest extends TestCase {
public function setUp() {
parent::setUp();
$this->connection = \OC::$server->getDatabaseConnection();
- $this->dbConfig = new DBConfigService($this->connection);
+ $this->dbConfig = new DBConfigService($this->connection, \OC::$server->getCrypto());
}
public function tearDown() {
diff --git a/apps/files_external/tests/service/storagesservicetest.php b/apps/files_external/tests/service/storagesservicetest.php
index 68671b599bd..3fbe3b755e1 100644
--- a/apps/files_external/tests/service/storagesservicetest.php
+++ b/apps/files_external/tests/service/storagesservicetest.php
@@ -83,7 +83,7 @@ abstract class StoragesServiceTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
- $this->dbConfig = new CleaningDBConfig(\OC::$server->getDatabaseConnection());
+ $this->dbConfig = new CleaningDBConfig(\OC::$server->getDatabaseConnection(), \OC::$server->getCrypto());
self::$hookCalls = array();
$config = \OC::$server->getConfig();
$this->dataDir = $config->getSystemValue(
diff --git a/apps/files_sharing/api/remote.php b/apps/files_sharing/api/remote.php
index 4b7192994a7..8b47955b51e 100644
--- a/apps/files_sharing/api/remote.php
+++ b/apps/files_sharing/api/remote.php
@@ -67,6 +67,9 @@ class Remote {
return new \OC_OCS_Result();
}
+ // Make sure the user has no notification for something that does not exist anymore.
+ $externalManager->processNotification((int) $params['id']);
+
return new \OC_OCS_Result(null, 404, "wrong share ID, share doesn't exist.");
}
@@ -90,12 +93,15 @@ class Remote {
return new \OC_OCS_Result();
}
+ // Make sure the user has no notification for something that does not exist anymore.
+ $externalManager->processNotification((int) $params['id']);
+
return new \OC_OCS_Result(null, 404, "wrong share ID, share doesn't exist.");
}
/**
* @param array $share Share with info from the share_external table
- * @return enriched share info with data from the filecache
+ * @return array enriched share info with data from the filecache
*/
private static function extendShareInfo($share) {
$view = new \OC\Files\View('/' . \OC_User::getUser() . '/files/');
diff --git a/apps/files_sharing/api/server2server.php b/apps/files_sharing/api/server2server.php
index a27b3a3bd85..f04ddc81b84 100644
--- a/apps/files_sharing/api/server2server.php
+++ b/apps/files_sharing/api/server2server.php
@@ -225,6 +225,13 @@ class Server2Server {
$path = trim($share['name'], '/');
}
+ $notificationManager = \OC::$server->getNotificationManager();
+ $notification = $notificationManager->createNotification();
+ $notification->setApp('files_sharing')
+ ->setUser($share['user'])
+ ->setObject('remote_share', (int) $share['id']);
+ $notificationManager->markProcessed($notification);
+
\OC::$server->getActivityManager()->publishActivity(
Activity::FILES_SHARING_APP, Activity::SUBJECT_REMOTE_SHARE_UNSHARED, array($owner, $path), '', array(),
'', '', $user, Activity::TYPE_REMOTE_SHARE, Activity::PRIORITY_MEDIUM);
diff --git a/apps/files_sharing/api/share20ocs.php b/apps/files_sharing/api/share20ocs.php
index 67a94aaf8aa..688ed5b3ee5 100644
--- a/apps/files_sharing/api/share20ocs.php
+++ b/apps/files_sharing/api/share20ocs.php
@@ -91,14 +91,14 @@ class Share20OCS {
'id' => $share->getId(),
'share_type' => $share->getShareType(),
'uid_owner' => $share->getSharedBy(),
- 'displayname_owner' => $sharedBy->getDisplayName(),
+ 'displayname_owner' => $sharedBy !== null ? $sharedBy->getDisplayName() : $share->getSharedBy(),
'permissions' => $share->getPermissions(),
'stime' => $share->getShareTime()->getTimestamp(),
'parent' => null,
'expiration' => null,
'token' => null,
'uid_file_owner' => $share->getShareOwner(),
- 'displayname_file_owner' => $shareOwner->getDisplayName(),
+ 'displayname_file_owner' => $shareOwner !== null ? $shareOwner->getDisplayName() : $share->getShareOwner(),
];
$node = $share->getNode();
@@ -117,8 +117,8 @@ class Share20OCS {
if ($share->getShareType() === \OCP\Share::SHARE_TYPE_USER) {
$sharedWith = $this->userManager->get($share->getSharedWith());
- $result['share_with'] = $sharedWith->getUID();
- $result['share_with_displayname'] = $sharedWith->getDisplayName();
+ $result['share_with'] = $share->getSharedWith();
+ $result['share_with_displayname'] = $sharedWith !== null ? $sharedWith->getDisplayName() : $share->getSharedWith();
} else if ($share->getShareType() === \OCP\Share::SHARE_TYPE_GROUP) {
$result['share_with'] = $share->getSharedWith();
$result['share_with_displayname'] = $share->getSharedWith();
diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php
index 85cea2e4238..5b7bbb11e84 100644
--- a/apps/files_sharing/api/sharees.php
+++ b/apps/files_sharing/api/sharees.php
@@ -279,6 +279,7 @@ class Sharees {
$cloudIds = [$cloudIds];
}
foreach ($cloudIds as $cloudId) {
+ list(, $serverUrl) = $this->splitUserRemote($cloudId);
if (strtolower($contact['FN']) === $search || strtolower($cloudId) === $search) {
if (strtolower($cloudId) === $search) {
$foundRemoteById = true;
@@ -288,6 +289,7 @@ class Sharees {
'value' => [
'shareType' => Share::SHARE_TYPE_REMOTE,
'shareWith' => $cloudId,
+ 'server' => $serverUrl,
],
];
} else {
@@ -296,6 +298,7 @@ class Sharees {
'value' => [
'shareType' => Share::SHARE_TYPE_REMOTE,
'shareWith' => $cloudId,
+ 'server' => $serverUrl,
],
];
}
@@ -321,6 +324,74 @@ class Sharees {
}
/**
+ * split user and remote from federated cloud id
+ *
+ * @param string $address federated share address
+ * @return array [user, remoteURL]
+ * @throws \Exception
+ */
+ public function splitUserRemote($address) {
+ if (strpos($address, '@') === false) {
+ throw new \Exception('Invalid Federated Cloud ID');
+ }
+
+ // Find the first character that is not allowed in user names
+ $id = str_replace('\\', '/', $address);
+ $posSlash = strpos($id, '/');
+ $posColon = strpos($id, ':');
+
+ if ($posSlash === false && $posColon === false) {
+ $invalidPos = strlen($id);
+ } else if ($posSlash === false) {
+ $invalidPos = $posColon;
+ } else if ($posColon === false) {
+ $invalidPos = $posSlash;
+ } else {
+ $invalidPos = min($posSlash, $posColon);
+ }
+
+ // Find the last @ before $invalidPos
+ $pos = $lastAtPos = 0;
+ while ($lastAtPos !== false && $lastAtPos <= $invalidPos) {
+ $pos = $lastAtPos;
+ $lastAtPos = strpos($id, '@', $pos + 1);
+ }
+
+ if ($pos !== false) {
+ $user = substr($id, 0, $pos);
+ $remote = substr($id, $pos + 1);
+ $remote = $this->fixRemoteURL($remote);
+ if (!empty($user) && !empty($remote)) {
+ return array($user, $remote);
+ }
+ }
+
+ throw new \Exception('Invalid Federated Cloud ID');
+ }
+
+ /**
+ * Strips away a potential file names and trailing slashes:
+ * - http://localhost
+ * - http://localhost/
+ * - http://localhost/index.php
+ * - http://localhost/index.php/s/{shareToken}
+ *
+ * all return: http://localhost
+ *
+ * @param string $remote
+ * @return string
+ */
+ protected function fixRemoteURL($remote) {
+ $remote = str_replace('\\', '/', $remote);
+ if ($fileNamePosition = strpos($remote, '/index.php')) {
+ $remote = substr($remote, 0, $fileNamePosition);
+ }
+ $remote = rtrim($remote, '/');
+
+ return $remote;
+ }
+
+ /**
* @return \OC_OCS_Result
*/
public function search() {
diff --git a/apps/files_sharing/js/share.js b/apps/files_sharing/js/share.js
index f8d89828f4d..0a01c5af0ad 100644
--- a/apps/files_sharing/js/share.js
+++ b/apps/files_sharing/js/share.js
@@ -122,6 +122,10 @@
}
});
+ fileList.$el.on('changeDirectory', function() {
+ OCA.Sharing.sharesLoaded = false;
+ });
+
fileActions.registerAction({
name: 'Share',
displayName: '',
diff --git a/apps/files_sharing/l10n/ar.js b/apps/files_sharing/l10n/ar.js
index d597b01a7b8..a01f74789d1 100644
--- a/apps/files_sharing/l10n/ar.js
+++ b/apps/files_sharing/l10n/ar.js
@@ -7,8 +7,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "ملف أو مجلد تم </strong>مشاركته<strong> ",
"You shared %1$s with %2$s" : "شاركت %1$s مع %2$s",
"You shared %1$s with group %2$s" : "أنت شاركت %1$s مع مجموعة %2$s",
- "%2$s shared %1$s with you" : "%2$s شارك %1$s معك",
"You shared %1$s via link" : "لقد قمت بمشاركة %1$s عبر الرابط",
+ "%2$s shared %1$s with you" : "%2$s شارك %1$s معك",
"Shares" : "المشاركات",
"This share is password-protected" : "هذه المشاركة محمية بكلمة مرور",
"The password is wrong. Try again." : "كلمة المرور خاطئة. حاول مرة أخرى",
diff --git a/apps/files_sharing/l10n/ar.json b/apps/files_sharing/l10n/ar.json
index 1b4c04b33db..1db47e7ca8c 100644
--- a/apps/files_sharing/l10n/ar.json
+++ b/apps/files_sharing/l10n/ar.json
@@ -5,8 +5,8 @@
"A file or folder has been <strong>shared</strong>" : "ملف أو مجلد تم </strong>مشاركته<strong> ",
"You shared %1$s with %2$s" : "شاركت %1$s مع %2$s",
"You shared %1$s with group %2$s" : "أنت شاركت %1$s مع مجموعة %2$s",
- "%2$s shared %1$s with you" : "%2$s شارك %1$s معك",
"You shared %1$s via link" : "لقد قمت بمشاركة %1$s عبر الرابط",
+ "%2$s shared %1$s with you" : "%2$s شارك %1$s معك",
"Shares" : "المشاركات",
"This share is password-protected" : "هذه المشاركة محمية بكلمة مرور",
"The password is wrong. Try again." : "كلمة المرور خاطئة. حاول مرة أخرى",
diff --git a/apps/files_sharing/l10n/ast.js b/apps/files_sharing/l10n/ast.js
index b504ff6d092..2dea9485001 100644
--- a/apps/files_sharing/l10n/ast.js
+++ b/apps/files_sharing/l10n/ast.js
@@ -19,8 +19,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "<strong>Compartióse</strong> un ficheru o direutoriu",
"You shared %1$s with %2$s" : "Compartisti %1$s con %2$s",
"You shared %1$s with group %2$s" : "Compartisti %1$s col grupu %2$s",
- "%2$s shared %1$s with you" : "%2$s compartió %1$s contigo",
"You shared %1$s via link" : "Compartisti %1$s per enllaz",
+ "%2$s shared %1$s with you" : "%2$s compartió %1$s contigo",
"Shares" : "Comparticiones",
"This share is password-protected" : "Esta compartición tien contraseña protexida",
"The password is wrong. Try again." : "La contraseña ye incorreuta. Inténtalo otra vegada.",
diff --git a/apps/files_sharing/l10n/ast.json b/apps/files_sharing/l10n/ast.json
index 89f5607993e..f06f63a44b7 100644
--- a/apps/files_sharing/l10n/ast.json
+++ b/apps/files_sharing/l10n/ast.json
@@ -17,8 +17,8 @@
"A file or folder has been <strong>shared</strong>" : "<strong>Compartióse</strong> un ficheru o direutoriu",
"You shared %1$s with %2$s" : "Compartisti %1$s con %2$s",
"You shared %1$s with group %2$s" : "Compartisti %1$s col grupu %2$s",
- "%2$s shared %1$s with you" : "%2$s compartió %1$s contigo",
"You shared %1$s via link" : "Compartisti %1$s per enllaz",
+ "%2$s shared %1$s with you" : "%2$s compartió %1$s contigo",
"Shares" : "Comparticiones",
"This share is password-protected" : "Esta compartición tien contraseña protexida",
"The password is wrong. Try again." : "La contraseña ye incorreuta. Inténtalo otra vegada.",
diff --git a/apps/files_sharing/l10n/az.js b/apps/files_sharing/l10n/az.js
index 72fdda3ca99..5cec471aa24 100644
--- a/apps/files_sharing/l10n/az.js
+++ b/apps/files_sharing/l10n/az.js
@@ -37,8 +37,8 @@ OC.L10N.register(
"Public shared file %1$s was downloaded" : "Ümumi paylaşılmış fayl %1$s endirilmişdir",
"You shared %1$s with %2$s" : "Siz yayımladınız %1$s - i %2$s ilə",
"You shared %1$s with group %2$s" : "Siz yayımladınız %1$s qrupu ilə %2$s",
- "%2$s shared %1$s with you" : "%2$s yayımlanıb %1$s sizinlə",
"You shared %1$s via link" : "Siz yayımladınız %1$s link ilə",
+ "%2$s shared %1$s with you" : "%2$s yayımlanıb %1$s sizinlə",
"Shares" : "Yayımlanmalar",
"This share is password-protected" : "Bu paylaşım şifrə ilə müdafiəlidir",
"The password is wrong. Try again." : "Şifrə yalnışdır. Yenidən cəhd edin.",
diff --git a/apps/files_sharing/l10n/az.json b/apps/files_sharing/l10n/az.json
index 4e595220b65..bd74add7ca8 100644
--- a/apps/files_sharing/l10n/az.json
+++ b/apps/files_sharing/l10n/az.json
@@ -35,8 +35,8 @@
"Public shared file %1$s was downloaded" : "Ümumi paylaşılmış fayl %1$s endirilmişdir",
"You shared %1$s with %2$s" : "Siz yayımladınız %1$s - i %2$s ilə",
"You shared %1$s with group %2$s" : "Siz yayımladınız %1$s qrupu ilə %2$s",
- "%2$s shared %1$s with you" : "%2$s yayımlanıb %1$s sizinlə",
"You shared %1$s via link" : "Siz yayımladınız %1$s link ilə",
+ "%2$s shared %1$s with you" : "%2$s yayımlanıb %1$s sizinlə",
"Shares" : "Yayımlanmalar",
"This share is password-protected" : "Bu paylaşım şifrə ilə müdafiəlidir",
"The password is wrong. Try again." : "Şifrə yalnışdır. Yenidən cəhd edin.",
diff --git a/apps/files_sharing/l10n/bg_BG.js b/apps/files_sharing/l10n/bg_BG.js
index 4a7ec23b8e7..540f7d0f14a 100644
--- a/apps/files_sharing/l10n/bg_BG.js
+++ b/apps/files_sharing/l10n/bg_BG.js
@@ -33,8 +33,8 @@ OC.L10N.register(
"Public shared file %1$s was downloaded" : "Публично споделения файл %1$s бе изтеглен",
"You shared %1$s with %2$s" : "Вие споделихте %1$s с %2$s.",
"You shared %1$s with group %2$s" : "Вие споделихте %1$s с групата %2$s.",
- "%2$s shared %1$s with you" : "%2$s сподели %1$s с Вас.",
"You shared %1$s via link" : "Вие споделихте %1$s посредством връзка.",
+ "%2$s shared %1$s with you" : "%2$s сподели %1$s с Вас.",
"Shares" : "Споделени Папки",
"This share is password-protected" : "Тази зона е защитена с парола.",
"The password is wrong. Try again." : "Грешна парола. Опитай отново.",
diff --git a/apps/files_sharing/l10n/bg_BG.json b/apps/files_sharing/l10n/bg_BG.json
index b15438e8374..18dddd90cbc 100644
--- a/apps/files_sharing/l10n/bg_BG.json
+++ b/apps/files_sharing/l10n/bg_BG.json
@@ -31,8 +31,8 @@
"Public shared file %1$s was downloaded" : "Публично споделения файл %1$s бе изтеглен",
"You shared %1$s with %2$s" : "Вие споделихте %1$s с %2$s.",
"You shared %1$s with group %2$s" : "Вие споделихте %1$s с групата %2$s.",
- "%2$s shared %1$s with you" : "%2$s сподели %1$s с Вас.",
"You shared %1$s via link" : "Вие споделихте %1$s посредством връзка.",
+ "%2$s shared %1$s with you" : "%2$s сподели %1$s с Вас.",
"Shares" : "Споделени Папки",
"This share is password-protected" : "Тази зона е защитена с парола.",
"The password is wrong. Try again." : "Грешна парола. Опитай отново.",
diff --git a/apps/files_sharing/l10n/bn_BD.js b/apps/files_sharing/l10n/bn_BD.js
index a318f0dacb8..0e715b8c6cb 100644
--- a/apps/files_sharing/l10n/bn_BD.js
+++ b/apps/files_sharing/l10n/bn_BD.js
@@ -14,8 +14,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "একটি ফাইল বা ফোলডার <strong>ভাগাভাগি</strong> করা হয়েছে",
"You shared %1$s with %2$s" : "আপনি %1$sকে %2$sএর সাথে ভাগাভাগি করেছেন",
"You shared %1$s with group %2$s" : "আপনি %1$s কে %2$s দলের সাথে ভাগাভাগি করেছেন",
- "%2$s shared %1$s with you" : "%2$s আপনার সাথে %1$s ভাগাভাগি করেছেন",
"You shared %1$s via link" : "আপনি %1$s লিংকের মাধধমে ভাগাভাগি করেছেন",
+ "%2$s shared %1$s with you" : "%2$s আপনার সাথে %1$s ভাগাভাগি করেছেন",
"Shares" : "ভাগাভাগি",
"This share is password-protected" : "এই শেয়ারটি কূটশব্দদ্বারা সুরক্ষিত",
"The password is wrong. Try again." : "কুটশব্দটি ভুল। আবার চেষ্টা করুন।",
diff --git a/apps/files_sharing/l10n/bn_BD.json b/apps/files_sharing/l10n/bn_BD.json
index 028c22277b4..063b0761cb7 100644
--- a/apps/files_sharing/l10n/bn_BD.json
+++ b/apps/files_sharing/l10n/bn_BD.json
@@ -12,8 +12,8 @@
"A file or folder has been <strong>shared</strong>" : "একটি ফাইল বা ফোলডার <strong>ভাগাভাগি</strong> করা হয়েছে",
"You shared %1$s with %2$s" : "আপনি %1$sকে %2$sএর সাথে ভাগাভাগি করেছেন",
"You shared %1$s with group %2$s" : "আপনি %1$s কে %2$s দলের সাথে ভাগাভাগি করেছেন",
- "%2$s shared %1$s with you" : "%2$s আপনার সাথে %1$s ভাগাভাগি করেছেন",
"You shared %1$s via link" : "আপনি %1$s লিংকের মাধধমে ভাগাভাগি করেছেন",
+ "%2$s shared %1$s with you" : "%2$s আপনার সাথে %1$s ভাগাভাগি করেছেন",
"Shares" : "ভাগাভাগি",
"This share is password-protected" : "এই শেয়ারটি কূটশব্দদ্বারা সুরক্ষিত",
"The password is wrong. Try again." : "কুটশব্দটি ভুল। আবার চেষ্টা করুন।",
diff --git a/apps/files_sharing/l10n/bn_IN.js b/apps/files_sharing/l10n/bn_IN.js
index 2270e72e689..a53608ed26c 100644
--- a/apps/files_sharing/l10n/bn_IN.js
+++ b/apps/files_sharing/l10n/bn_IN.js
@@ -5,8 +5,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "ফাইল অথবা ফোল্ডার <strong>শেয়ার করা হয়েছে</strong>",
"You shared %1$s with %2$s" : "আপনি %1$s শেয়ার করছেন %2$s এর সাথে",
"You shared %1$s with group %2$s" : "আপনি %1$s কে %2$s গ্রুপের সাথে শেয়ার করেছেন",
- "%2$s shared %1$s with you" : "%2$s শেয়ার করেছে %1$s কে আপনার সাথে ",
"You shared %1$s via link" : "আপনি লিঙ্ক দ্বারা %1$s শেয়ার করুন ",
+ "%2$s shared %1$s with you" : "%2$s শেয়ার করেছে %1$s কে আপনার সাথে ",
"Shares" : "শেয়ারস",
"Name" : "নাম",
"Download" : "ডাউনলোড করুন"
diff --git a/apps/files_sharing/l10n/bn_IN.json b/apps/files_sharing/l10n/bn_IN.json
index 1c285d0899c..47d6eb00784 100644
--- a/apps/files_sharing/l10n/bn_IN.json
+++ b/apps/files_sharing/l10n/bn_IN.json
@@ -3,8 +3,8 @@
"A file or folder has been <strong>shared</strong>" : "ফাইল অথবা ফোল্ডার <strong>শেয়ার করা হয়েছে</strong>",
"You shared %1$s with %2$s" : "আপনি %1$s শেয়ার করছেন %2$s এর সাথে",
"You shared %1$s with group %2$s" : "আপনি %1$s কে %2$s গ্রুপের সাথে শেয়ার করেছেন",
- "%2$s shared %1$s with you" : "%2$s শেয়ার করেছে %1$s কে আপনার সাথে ",
"You shared %1$s via link" : "আপনি লিঙ্ক দ্বারা %1$s শেয়ার করুন ",
+ "%2$s shared %1$s with you" : "%2$s শেয়ার করেছে %1$s কে আপনার সাথে ",
"Shares" : "শেয়ারস",
"Name" : "নাম",
"Download" : "ডাউনলোড করুন"
diff --git a/apps/files_sharing/l10n/ca.js b/apps/files_sharing/l10n/ca.js
index b295a3aa7dc..31255f628bb 100644
--- a/apps/files_sharing/l10n/ca.js
+++ b/apps/files_sharing/l10n/ca.js
@@ -20,8 +20,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "S'ha <strong>compartit</strong> un fitxer o una carpeta",
"You shared %1$s with %2$s" : "Has compartit %1$s amb %2$s",
"You shared %1$s with group %2$s" : "has compartit %1$s amb el grup %2$s",
- "%2$s shared %1$s with you" : "%2$s ha compartit %1$s amb tu",
"You shared %1$s via link" : "Heu compartit %1$s via enllaç",
+ "%2$s shared %1$s with you" : "%2$s ha compartit %1$s amb tu",
"Shares" : "Compartits",
"This share is password-protected" : "Aquest compartit està protegit amb contrasenya",
"The password is wrong. Try again." : "la contrasenya és incorrecta. Intenteu-ho de nou.",
diff --git a/apps/files_sharing/l10n/ca.json b/apps/files_sharing/l10n/ca.json
index e5ce33561a5..e244021d55f 100644
--- a/apps/files_sharing/l10n/ca.json
+++ b/apps/files_sharing/l10n/ca.json
@@ -18,8 +18,8 @@
"A file or folder has been <strong>shared</strong>" : "S'ha <strong>compartit</strong> un fitxer o una carpeta",
"You shared %1$s with %2$s" : "Has compartit %1$s amb %2$s",
"You shared %1$s with group %2$s" : "has compartit %1$s amb el grup %2$s",
- "%2$s shared %1$s with you" : "%2$s ha compartit %1$s amb tu",
"You shared %1$s via link" : "Heu compartit %1$s via enllaç",
+ "%2$s shared %1$s with you" : "%2$s ha compartit %1$s amb tu",
"Shares" : "Compartits",
"This share is password-protected" : "Aquest compartit està protegit amb contrasenya",
"The password is wrong. Try again." : "la contrasenya és incorrecta. Intenteu-ho de nou.",
diff --git a/apps/files_sharing/l10n/cs_CZ.js b/apps/files_sharing/l10n/cs_CZ.js
index f04d641d7d6..3394608fd6f 100644
--- a/apps/files_sharing/l10n/cs_CZ.js
+++ b/apps/files_sharing/l10n/cs_CZ.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"Shared with you" : "Sdíleno s vámi",
"Shared with others" : "Sdíleno s ostatními",
"Shared by link" : "Sdíleno pomocí odkazu",
+ "Federated sharing" : "Propojené sdílení",
"Nothing shared with you yet" : "Zatím s vámi nikdo nic nesdílel",
"Files and folders others share with you will show up here" : "Zde budou zobrazeny soubory a adresáře, které s vámi ostatní sdílí",
"Nothing shared yet" : "Zatím není nic sdíleno",
@@ -38,22 +39,39 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Byl stažen veřejně sdílený adresář %1$s ",
"Public shared file %1$s was downloaded" : "Byl stažen veřejně sdílený soubor %1$s ",
"You shared %1$s with %2$s" : "Sdílíte %1$s s %2$s",
- "You shared %1$s with group %2$s" : "Sdílíte %1$s se skupinou %2$s",
"%2$s shared %1$s with %3$s" : "%2$s nasdílel(a) %1$s s %3$s",
+ "You removed the share of %2$s for %1$s" : "Odstranil(a) jsi sdílení %2$s pro %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s odstranil(a) sdílení %3$s pro %1$s",
+ "You shared %1$s with group %2$s" : "Sdílíte %1$s se skupinou %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s nasdílel(a) %1$s se skupinou %3$s",
+ "You removed the share of group %2$s for %1$s" : "Odstranil(a) jsi sdílení skupině %2$s pro %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s odstranil(a) sdílení skupině %3$s pro %1$s",
"%2$s shared %1$s via link" : "%2$s nasdílel(a) %1$s jako odkaz",
- "%2$s shared %1$s with you" : "%2$s s vámi sdílí %1$s",
"You shared %1$s via link" : "Sdílíte %1$s přes odkaz",
+ "You removed the public link for %1$s" : "Odstranil(a) jsi veřejný odkaz na %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s odstranil(a) veřejný odkaz na %1$s",
+ "Your public link for %1$s expired" : "Veřejný odkaz pro %1$s vypršel",
+ "The public link of %2$s for %1$s expired" : "Veřejný odkaz na %2$s pro %1$s vypršel",
+ "%2$s shared %1$s with you" : "%2$s s vámi sdílí %1$s",
+ "%2$s removed the share for %1$s" : "%2$s odstranil(a) sdílení pro %1$s",
"Downloaded via public link" : "Staženo pomocí veřejného odkazu",
"Shared with %2$s" : "Sdíleno s %2$s",
- "Shared with group %2$s" : "Sdíleno se skupinou %2$s",
"Shared with %3$s by %2$s" : "%2$s sdílí s %3$s",
+ "Removed share for %2$s" : "Odstranil(a) sdílení pro %2$s",
+ "%2$s removed share for %3$s" : "%2$s odstranil(a) sdílení pro %3$s",
+ "Shared with group %2$s" : "Sdíleno se skupinou %2$s",
"Shared with group %3$s by %2$s" : "%2$s sdílí se skupinou %3$s",
+ "Removed share of group %2$s" : "Odstranil(a) sdílení skupině %2$s",
+ "%2$s removed share of group %3$s" : "%2$s odstranil(a) sdílení skupině %3$s",
"Shared via link by %2$s" : "%2$s sdílel(a) jako odkaz",
- "Shared by %2$s" : "%2$s sdílel(a)",
"Shared via public link" : "Sdíleno jako veřejný odkaz",
+ "Removed public link" : "Odstranil(a) veřejný odkaz",
+ "%2$s removed public link" : "%2$s odstranil(a) veřejný odkaz",
+ "Public link expired" : "Veřejný odkaz vypršel",
+ "Public link of %2$s expired" : "Veřejný odkaz %2$s vypršel",
+ "Shared by %2$s" : "%2$s sdílel(a)",
"Shares" : "Sdílení",
- "You received %2$s as a remote share from %1$s" : "Obdrželi jste %2$s jako vzdálené sdílení od %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Obdržel(a) jsi \"/%2$s\" jako vzdálené sdílení od %1$s",
"Accept" : "Přijmout",
"Decline" : "Zamítnout",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Sdílej se mnou pomocí mého #ownCloud sdruženého cloud ID, více na %s",
diff --git a/apps/files_sharing/l10n/cs_CZ.json b/apps/files_sharing/l10n/cs_CZ.json
index 2e95e6c8788..d193eb69373 100644
--- a/apps/files_sharing/l10n/cs_CZ.json
+++ b/apps/files_sharing/l10n/cs_CZ.json
@@ -9,6 +9,7 @@
"Shared with you" : "Sdíleno s vámi",
"Shared with others" : "Sdíleno s ostatními",
"Shared by link" : "Sdíleno pomocí odkazu",
+ "Federated sharing" : "Propojené sdílení",
"Nothing shared with you yet" : "Zatím s vámi nikdo nic nesdílel",
"Files and folders others share with you will show up here" : "Zde budou zobrazeny soubory a adresáře, které s vámi ostatní sdílí",
"Nothing shared yet" : "Zatím není nic sdíleno",
@@ -36,22 +37,39 @@
"Public shared folder %1$s was downloaded" : "Byl stažen veřejně sdílený adresář %1$s ",
"Public shared file %1$s was downloaded" : "Byl stažen veřejně sdílený soubor %1$s ",
"You shared %1$s with %2$s" : "Sdílíte %1$s s %2$s",
- "You shared %1$s with group %2$s" : "Sdílíte %1$s se skupinou %2$s",
"%2$s shared %1$s with %3$s" : "%2$s nasdílel(a) %1$s s %3$s",
+ "You removed the share of %2$s for %1$s" : "Odstranil(a) jsi sdílení %2$s pro %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s odstranil(a) sdílení %3$s pro %1$s",
+ "You shared %1$s with group %2$s" : "Sdílíte %1$s se skupinou %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s nasdílel(a) %1$s se skupinou %3$s",
+ "You removed the share of group %2$s for %1$s" : "Odstranil(a) jsi sdílení skupině %2$s pro %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s odstranil(a) sdílení skupině %3$s pro %1$s",
"%2$s shared %1$s via link" : "%2$s nasdílel(a) %1$s jako odkaz",
- "%2$s shared %1$s with you" : "%2$s s vámi sdílí %1$s",
"You shared %1$s via link" : "Sdílíte %1$s přes odkaz",
+ "You removed the public link for %1$s" : "Odstranil(a) jsi veřejný odkaz na %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s odstranil(a) veřejný odkaz na %1$s",
+ "Your public link for %1$s expired" : "Veřejný odkaz pro %1$s vypršel",
+ "The public link of %2$s for %1$s expired" : "Veřejný odkaz na %2$s pro %1$s vypršel",
+ "%2$s shared %1$s with you" : "%2$s s vámi sdílí %1$s",
+ "%2$s removed the share for %1$s" : "%2$s odstranil(a) sdílení pro %1$s",
"Downloaded via public link" : "Staženo pomocí veřejného odkazu",
"Shared with %2$s" : "Sdíleno s %2$s",
- "Shared with group %2$s" : "Sdíleno se skupinou %2$s",
"Shared with %3$s by %2$s" : "%2$s sdílí s %3$s",
+ "Removed share for %2$s" : "Odstranil(a) sdílení pro %2$s",
+ "%2$s removed share for %3$s" : "%2$s odstranil(a) sdílení pro %3$s",
+ "Shared with group %2$s" : "Sdíleno se skupinou %2$s",
"Shared with group %3$s by %2$s" : "%2$s sdílí se skupinou %3$s",
+ "Removed share of group %2$s" : "Odstranil(a) sdílení skupině %2$s",
+ "%2$s removed share of group %3$s" : "%2$s odstranil(a) sdílení skupině %3$s",
"Shared via link by %2$s" : "%2$s sdílel(a) jako odkaz",
- "Shared by %2$s" : "%2$s sdílel(a)",
"Shared via public link" : "Sdíleno jako veřejný odkaz",
+ "Removed public link" : "Odstranil(a) veřejný odkaz",
+ "%2$s removed public link" : "%2$s odstranil(a) veřejný odkaz",
+ "Public link expired" : "Veřejný odkaz vypršel",
+ "Public link of %2$s expired" : "Veřejný odkaz %2$s vypršel",
+ "Shared by %2$s" : "%2$s sdílel(a)",
"Shares" : "Sdílení",
- "You received %2$s as a remote share from %1$s" : "Obdrželi jste %2$s jako vzdálené sdílení od %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Obdržel(a) jsi \"/%2$s\" jako vzdálené sdílení od %1$s",
"Accept" : "Přijmout",
"Decline" : "Zamítnout",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Sdílej se mnou pomocí mého #ownCloud sdruženého cloud ID, více na %s",
diff --git a/apps/files_sharing/l10n/da.js b/apps/files_sharing/l10n/da.js
index 212e281b0d2..d3ba2463591 100644
--- a/apps/files_sharing/l10n/da.js
+++ b/apps/files_sharing/l10n/da.js
@@ -37,22 +37,21 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Den offentligt delte mappe %1$s blev downloadet",
"Public shared file %1$s was downloaded" : "Den offentligt delte fil %1$s blev downloadet",
"You shared %1$s with %2$s" : "Du delte %1$s med %2$s",
- "You shared %1$s with group %2$s" : "Du delte %1$s med gruppen %2$s",
"%2$s shared %1$s with %3$s" : "%2$s delt %1$s med %3$s",
+ "You shared %1$s with group %2$s" : "Du delte %1$s med gruppen %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s delt %1$s med gruppen %3$s",
"%2$s shared %1$s via link" : "%2$s delt %1$s via link",
- "%2$s shared %1$s with you" : "%2$s delt %1$s med dig",
"You shared %1$s via link" : "Du delte %1$s via link",
+ "%2$s shared %1$s with you" : "%2$s delt %1$s med dig",
"Downloaded via public link" : "Downloaded via et offentligt link",
"Shared with %2$s" : "Delt med %2$s",
- "Shared with group %2$s" : "Delt med gruppen %2$s",
"Shared with %3$s by %2$s" : "Delt med %3$s af %2$s",
+ "Shared with group %2$s" : "Delt med gruppen %2$s",
"Shared with group %3$s by %2$s" : "Delt med gruppen %3$s af %2$s",
"Shared via link by %2$s" : "Delt via link af %2$s",
- "Shared by %2$s" : "Delt af %2$s",
"Shared via public link" : "Delt via offentligt link",
+ "Shared by %2$s" : "Delt af %2$s",
"Shares" : "Delt",
- "You received %2$s as a remote share from %1$s" : "Du modtog %2$s som en ekstern deling fra %1$s",
"Accept" : "Acceptér",
"Decline" : "Afvis",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Del med mig gennem min #ownCloud Federated Cloud ID, se %s",
diff --git a/apps/files_sharing/l10n/da.json b/apps/files_sharing/l10n/da.json
index e13c671a005..d447dee544e 100644
--- a/apps/files_sharing/l10n/da.json
+++ b/apps/files_sharing/l10n/da.json
@@ -35,22 +35,21 @@
"Public shared folder %1$s was downloaded" : "Den offentligt delte mappe %1$s blev downloadet",
"Public shared file %1$s was downloaded" : "Den offentligt delte fil %1$s blev downloadet",
"You shared %1$s with %2$s" : "Du delte %1$s med %2$s",
- "You shared %1$s with group %2$s" : "Du delte %1$s med gruppen %2$s",
"%2$s shared %1$s with %3$s" : "%2$s delt %1$s med %3$s",
+ "You shared %1$s with group %2$s" : "Du delte %1$s med gruppen %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s delt %1$s med gruppen %3$s",
"%2$s shared %1$s via link" : "%2$s delt %1$s via link",
- "%2$s shared %1$s with you" : "%2$s delt %1$s med dig",
"You shared %1$s via link" : "Du delte %1$s via link",
+ "%2$s shared %1$s with you" : "%2$s delt %1$s med dig",
"Downloaded via public link" : "Downloaded via et offentligt link",
"Shared with %2$s" : "Delt med %2$s",
- "Shared with group %2$s" : "Delt med gruppen %2$s",
"Shared with %3$s by %2$s" : "Delt med %3$s af %2$s",
+ "Shared with group %2$s" : "Delt med gruppen %2$s",
"Shared with group %3$s by %2$s" : "Delt med gruppen %3$s af %2$s",
"Shared via link by %2$s" : "Delt via link af %2$s",
- "Shared by %2$s" : "Delt af %2$s",
"Shared via public link" : "Delt via offentligt link",
+ "Shared by %2$s" : "Delt af %2$s",
"Shares" : "Delt",
- "You received %2$s as a remote share from %1$s" : "Du modtog %2$s som en ekstern deling fra %1$s",
"Accept" : "Acceptér",
"Decline" : "Afvis",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Del med mig gennem min #ownCloud Federated Cloud ID, se %s",
diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js
index 1c5121fdde2..fd874e1704a 100644
--- a/apps/files_sharing/l10n/de.js
+++ b/apps/files_sharing/l10n/de.js
@@ -37,22 +37,21 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Der öffentliche geteilte Ordner %1$s wurde heruntergeladen",
"Public shared file %1$s was downloaded" : "Die öffentliche geteilte Datei %1$s wurde heruntergeladen",
"You shared %1$s with %2$s" : "Du hast %1$s mit %2$s geteilt",
- "You shared %1$s with group %2$s" : "Du hast %1$s mit der Gruppe %2$s geteilt",
"%2$s shared %1$s with %3$s" : "%2$s geteilt %1$s mit %3$s",
+ "You shared %1$s with group %2$s" : "Du hast %1$s mit der Gruppe %2$s geteilt",
"%2$s shared %1$s with group %3$s" : "%2$s geteilt %1$s mit Gruppe %3$s",
"%2$s shared %1$s via link" : "%2$s geteilt %1$s via Link",
- "%2$s shared %1$s with you" : "%2$s hat %1$s mit Dir geteilt",
"You shared %1$s via link" : "Du hast %1$s über einen Link freigegeben",
+ "%2$s shared %1$s with you" : "%2$s hat %1$s mit Dir geteilt",
"Downloaded via public link" : "Runtergeladen mittels öffentlichen Link",
"Shared with %2$s" : "Geteilt mit %2$s",
- "Shared with group %2$s" : "Geteilt mit Gruppe %2$s",
"Shared with %3$s by %2$s" : "Geteilt mit %3$s von %2$s",
+ "Shared with group %2$s" : "Geteilt mit Gruppe %2$s",
"Shared with group %3$s by %2$s" : "Geteilt mit Gruppe %3$s von %2$s",
"Shared via link by %2$s" : "Geteilt mittels Link von %2$s",
- "Shared by %2$s" : "Geteilt von %2$s",
"Shared via public link" : "Geteilt mittels öffentlichen Link",
+ "Shared by %2$s" : "Geteilt von %2$s",
"Shares" : "Freigaben",
- "You received %2$s as a remote share from %1$s" : "Du hast %2$s als Remotefreigabe von %1$s erhalten",
"Accept" : "Ok",
"Decline" : "Abgelehnt",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Teile mit mir über meine #ownCloud Federated-Cloud-ID, siehe %s",
diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json
index 48b2e81b681..008332a9ead 100644
--- a/apps/files_sharing/l10n/de.json
+++ b/apps/files_sharing/l10n/de.json
@@ -35,22 +35,21 @@
"Public shared folder %1$s was downloaded" : "Der öffentliche geteilte Ordner %1$s wurde heruntergeladen",
"Public shared file %1$s was downloaded" : "Die öffentliche geteilte Datei %1$s wurde heruntergeladen",
"You shared %1$s with %2$s" : "Du hast %1$s mit %2$s geteilt",
- "You shared %1$s with group %2$s" : "Du hast %1$s mit der Gruppe %2$s geteilt",
"%2$s shared %1$s with %3$s" : "%2$s geteilt %1$s mit %3$s",
+ "You shared %1$s with group %2$s" : "Du hast %1$s mit der Gruppe %2$s geteilt",
"%2$s shared %1$s with group %3$s" : "%2$s geteilt %1$s mit Gruppe %3$s",
"%2$s shared %1$s via link" : "%2$s geteilt %1$s via Link",
- "%2$s shared %1$s with you" : "%2$s hat %1$s mit Dir geteilt",
"You shared %1$s via link" : "Du hast %1$s über einen Link freigegeben",
+ "%2$s shared %1$s with you" : "%2$s hat %1$s mit Dir geteilt",
"Downloaded via public link" : "Runtergeladen mittels öffentlichen Link",
"Shared with %2$s" : "Geteilt mit %2$s",
- "Shared with group %2$s" : "Geteilt mit Gruppe %2$s",
"Shared with %3$s by %2$s" : "Geteilt mit %3$s von %2$s",
+ "Shared with group %2$s" : "Geteilt mit Gruppe %2$s",
"Shared with group %3$s by %2$s" : "Geteilt mit Gruppe %3$s von %2$s",
"Shared via link by %2$s" : "Geteilt mittels Link von %2$s",
- "Shared by %2$s" : "Geteilt von %2$s",
"Shared via public link" : "Geteilt mittels öffentlichen Link",
+ "Shared by %2$s" : "Geteilt von %2$s",
"Shares" : "Freigaben",
- "You received %2$s as a remote share from %1$s" : "Du hast %2$s als Remotefreigabe von %1$s erhalten",
"Accept" : "Ok",
"Decline" : "Abgelehnt",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Teile mit mir über meine #ownCloud Federated-Cloud-ID, siehe %s",
diff --git a/apps/files_sharing/l10n/de_AT.js b/apps/files_sharing/l10n/de_AT.js
index 36a67ecac20..fdbbbee12f0 100644
--- a/apps/files_sharing/l10n/de_AT.js
+++ b/apps/files_sharing/l10n/de_AT.js
@@ -5,8 +5,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "Eine Datei oder ein Ordner wurde <strong>geteilt</strong>",
"You shared %1$s with %2$s" : "du teilst %1$s mit %2$s",
"You shared %1$s with group %2$s" : "Du teilst %1$s mit der Gruppe %2$s",
- "%2$s shared %1$s with you" : "%2$s hat %1$s mit dir geteilt",
"You shared %1$s via link" : "Du hast %1$s mithilfe eines Link geteilt",
+ "%2$s shared %1$s with you" : "%2$s hat %1$s mit dir geteilt",
"Shares" : "teilt",
"Password" : "Passwort",
"Download" : "Herunterladen"
diff --git a/apps/files_sharing/l10n/de_AT.json b/apps/files_sharing/l10n/de_AT.json
index fe0cfb4eeda..5cda52d6358 100644
--- a/apps/files_sharing/l10n/de_AT.json
+++ b/apps/files_sharing/l10n/de_AT.json
@@ -3,8 +3,8 @@
"A file or folder has been <strong>shared</strong>" : "Eine Datei oder ein Ordner wurde <strong>geteilt</strong>",
"You shared %1$s with %2$s" : "du teilst %1$s mit %2$s",
"You shared %1$s with group %2$s" : "Du teilst %1$s mit der Gruppe %2$s",
- "%2$s shared %1$s with you" : "%2$s hat %1$s mit dir geteilt",
"You shared %1$s via link" : "Du hast %1$s mithilfe eines Link geteilt",
+ "%2$s shared %1$s with you" : "%2$s hat %1$s mit dir geteilt",
"Shares" : "teilt",
"Password" : "Passwort",
"Download" : "Herunterladen"
diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js
index b1b4be9e5ad..b9263b306bb 100644
--- a/apps/files_sharing/l10n/de_DE.js
+++ b/apps/files_sharing/l10n/de_DE.js
@@ -38,16 +38,18 @@ OC.L10N.register(
"Public shared file %1$s was downloaded" : "Die öffentliche geteilte Datei %1$s wurde heruntergeladen",
"You shared %1$s with %2$s" : "Sie haben %1$s mit %2$s geteilt",
"You shared %1$s with group %2$s" : "Sie haben %1$s mit der Gruppe %2$s geteilt",
- "%2$s shared %1$s with you" : "%2$s hat %1$s mit Ihnen geteilt",
"You shared %1$s via link" : "Sie haben %1$s über einen Link geteilt",
+ "%2$s shared %1$s with you" : "%2$s hat %1$s mit Ihnen geteilt",
"Downloaded via public link" : "Über den öffentlichen Link heruntergeladen",
"Shared with %2$s" : "Geteilt mit %2$s",
- "Shared with group %2$s" : "Geteilt mit der Gruppe %2$s",
"Shared with %3$s by %2$s" : "Geteilt mit %3$s von %2$s",
+ "Shared with group %2$s" : "Geteilt mit der Gruppe %2$s",
"Shared with group %3$s by %2$s" : "Geteilt mit der Gruppe %3$s von %2$s",
"Shared via link by %2$s" : "Geteilt durch einen Link von %2$s",
- "Shared by %2$s" : "Geteilt von %2$s",
"Shared via public link" : "Durch einen öffentlichen Link geteilt",
+ "Public link expired" : "öffentlicher Link ist abgelaufen",
+ "Public link of %2$s expired" : "öffentlicher Link von %2$s ist abgelaufen",
+ "Shared by %2$s" : "Geteilt von %2$s",
"Shares" : "Geteiltes",
"Accept" : "Akzeptieren",
"Decline" : "Ablehnen",
diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json
index 7ed2c480284..9183633e1a3 100644
--- a/apps/files_sharing/l10n/de_DE.json
+++ b/apps/files_sharing/l10n/de_DE.json
@@ -36,16 +36,18 @@
"Public shared file %1$s was downloaded" : "Die öffentliche geteilte Datei %1$s wurde heruntergeladen",
"You shared %1$s with %2$s" : "Sie haben %1$s mit %2$s geteilt",
"You shared %1$s with group %2$s" : "Sie haben %1$s mit der Gruppe %2$s geteilt",
- "%2$s shared %1$s with you" : "%2$s hat %1$s mit Ihnen geteilt",
"You shared %1$s via link" : "Sie haben %1$s über einen Link geteilt",
+ "%2$s shared %1$s with you" : "%2$s hat %1$s mit Ihnen geteilt",
"Downloaded via public link" : "Über den öffentlichen Link heruntergeladen",
"Shared with %2$s" : "Geteilt mit %2$s",
- "Shared with group %2$s" : "Geteilt mit der Gruppe %2$s",
"Shared with %3$s by %2$s" : "Geteilt mit %3$s von %2$s",
+ "Shared with group %2$s" : "Geteilt mit der Gruppe %2$s",
"Shared with group %3$s by %2$s" : "Geteilt mit der Gruppe %3$s von %2$s",
"Shared via link by %2$s" : "Geteilt durch einen Link von %2$s",
- "Shared by %2$s" : "Geteilt von %2$s",
"Shared via public link" : "Durch einen öffentlichen Link geteilt",
+ "Public link expired" : "öffentlicher Link ist abgelaufen",
+ "Public link of %2$s expired" : "öffentlicher Link von %2$s ist abgelaufen",
+ "Shared by %2$s" : "Geteilt von %2$s",
"Shares" : "Geteiltes",
"Accept" : "Akzeptieren",
"Decline" : "Ablehnen",
diff --git a/apps/files_sharing/l10n/el.js b/apps/files_sharing/l10n/el.js
index 62150bcc942..fe3a62c4357 100644
--- a/apps/files_sharing/l10n/el.js
+++ b/apps/files_sharing/l10n/el.js
@@ -37,22 +37,21 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Ο κοινόχρηστος διαμοιρασμένος φάκελος %1$s ελήφθη",
"Public shared file %1$s was downloaded" : "Το κοινόχρηστο διαμοιρασμένο αρχείο %1$s ελήφθη",
"You shared %1$s with %2$s" : "Διαμοιραστήκατε το %1$s με %2$s",
- "You shared %1$s with group %2$s" : "Διαμοιραστήκατε %1$s με την ομάδα %2$s",
"%2$s shared %1$s with %3$s" : "Ο %2$s διαμοιράστηκε το %1$s με %3$s",
+ "You shared %1$s with group %2$s" : "Διαμοιραστήκατε %1$s με την ομάδα %2$s",
"%2$s shared %1$s with group %3$s" : "Ο %2$s διαμοιράστηκε το %1$s με την ομάδα %3$s",
"%2$s shared %1$s via link" : "Ο %2$s διαμοιράστηκε το %1$s μέσω συνδέσμου",
- "%2$s shared %1$s with you" : "Ο %2$s διαμοιράστηκε το %1$s με εσάς",
"You shared %1$s via link" : "Μοιραστήκατε το %1$s μέσω συνδέσμου",
+ "%2$s shared %1$s with you" : "Ο %2$s διαμοιράστηκε το %1$s με εσάς",
"Downloaded via public link" : "Μεταφορτώθηκε μέσω δημόσιου συνδέσμου",
"Shared with %2$s" : "Διαμοιράστηκε με %2$s",
- "Shared with group %2$s" : "Διαμοιράστηκε με την ομάδα %2$s",
"Shared with %3$s by %2$s" : "Διαμοιράστηκε με %3$s από %2$s",
+ "Shared with group %2$s" : "Διαμοιράστηκε με την ομάδα %2$s",
"Shared with group %3$s by %2$s" : "Διαμοιράστηκε με την ομάδα %3$s από %2$s",
"Shared via link by %2$s" : "Διαμοιράστηκε μέσω συνδέσμου από %2$s",
- "Shared by %2$s" : "Διαμοιράστηκε από %2$s",
"Shared via public link" : "Διαμοιράστηκε μέσω δημόσιου συνδέσμου",
+ "Shared by %2$s" : "Διαμοιράστηκε από %2$s",
"Shares" : "Κοινόχρηστοι φάκελοι",
- "You received %2$s as a remote share from %1$s" : "Λάβατε το %2$s ως απομακρυσμένο διαμοιρασμό από %1$s",
"Accept" : "Αποδοχή",
"Decline" : "Απόρριψη",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Διαμοιρασμός με εμένα μέσω του #ownCloud Federated Cloud ID μου, δείτε %s",
diff --git a/apps/files_sharing/l10n/el.json b/apps/files_sharing/l10n/el.json
index 5b23eaeedb5..3283aa0a029 100644
--- a/apps/files_sharing/l10n/el.json
+++ b/apps/files_sharing/l10n/el.json
@@ -35,22 +35,21 @@
"Public shared folder %1$s was downloaded" : "Ο κοινόχρηστος διαμοιρασμένος φάκελος %1$s ελήφθη",
"Public shared file %1$s was downloaded" : "Το κοινόχρηστο διαμοιρασμένο αρχείο %1$s ελήφθη",
"You shared %1$s with %2$s" : "Διαμοιραστήκατε το %1$s με %2$s",
- "You shared %1$s with group %2$s" : "Διαμοιραστήκατε %1$s με την ομάδα %2$s",
"%2$s shared %1$s with %3$s" : "Ο %2$s διαμοιράστηκε το %1$s με %3$s",
+ "You shared %1$s with group %2$s" : "Διαμοιραστήκατε %1$s με την ομάδα %2$s",
"%2$s shared %1$s with group %3$s" : "Ο %2$s διαμοιράστηκε το %1$s με την ομάδα %3$s",
"%2$s shared %1$s via link" : "Ο %2$s διαμοιράστηκε το %1$s μέσω συνδέσμου",
- "%2$s shared %1$s with you" : "Ο %2$s διαμοιράστηκε το %1$s με εσάς",
"You shared %1$s via link" : "Μοιραστήκατε το %1$s μέσω συνδέσμου",
+ "%2$s shared %1$s with you" : "Ο %2$s διαμοιράστηκε το %1$s με εσάς",
"Downloaded via public link" : "Μεταφορτώθηκε μέσω δημόσιου συνδέσμου",
"Shared with %2$s" : "Διαμοιράστηκε με %2$s",
- "Shared with group %2$s" : "Διαμοιράστηκε με την ομάδα %2$s",
"Shared with %3$s by %2$s" : "Διαμοιράστηκε με %3$s από %2$s",
+ "Shared with group %2$s" : "Διαμοιράστηκε με την ομάδα %2$s",
"Shared with group %3$s by %2$s" : "Διαμοιράστηκε με την ομάδα %3$s από %2$s",
"Shared via link by %2$s" : "Διαμοιράστηκε μέσω συνδέσμου από %2$s",
- "Shared by %2$s" : "Διαμοιράστηκε από %2$s",
"Shared via public link" : "Διαμοιράστηκε μέσω δημόσιου συνδέσμου",
+ "Shared by %2$s" : "Διαμοιράστηκε από %2$s",
"Shares" : "Κοινόχρηστοι φάκελοι",
- "You received %2$s as a remote share from %1$s" : "Λάβατε το %2$s ως απομακρυσμένο διαμοιρασμό από %1$s",
"Accept" : "Αποδοχή",
"Decline" : "Απόρριψη",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Διαμοιρασμός με εμένα μέσω του #ownCloud Federated Cloud ID μου, δείτε %s",
diff --git a/apps/files_sharing/l10n/en_GB.js b/apps/files_sharing/l10n/en_GB.js
index 424fe743088..dbf6edd8065 100644
--- a/apps/files_sharing/l10n/en_GB.js
+++ b/apps/files_sharing/l10n/en_GB.js
@@ -37,8 +37,8 @@ OC.L10N.register(
"Public shared file %1$s was downloaded" : "Public shared file %1$s was downloaded",
"You shared %1$s with %2$s" : "You shared %1$s with %2$s",
"You shared %1$s with group %2$s" : "You shared %1$s with group %2$s",
- "%2$s shared %1$s with you" : "%2$s shared %1$s with you",
"You shared %1$s via link" : "You shared %1$s via link",
+ "%2$s shared %1$s with you" : "%2$s shared %1$s with you",
"Shares" : "Shares",
"Accept" : "Accept",
"This share is password-protected" : "This share is password-protected",
diff --git a/apps/files_sharing/l10n/en_GB.json b/apps/files_sharing/l10n/en_GB.json
index 4e41be946d1..be91541737f 100644
--- a/apps/files_sharing/l10n/en_GB.json
+++ b/apps/files_sharing/l10n/en_GB.json
@@ -35,8 +35,8 @@
"Public shared file %1$s was downloaded" : "Public shared file %1$s was downloaded",
"You shared %1$s with %2$s" : "You shared %1$s with %2$s",
"You shared %1$s with group %2$s" : "You shared %1$s with group %2$s",
- "%2$s shared %1$s with you" : "%2$s shared %1$s with you",
"You shared %1$s via link" : "You shared %1$s via link",
+ "%2$s shared %1$s with you" : "%2$s shared %1$s with you",
"Shares" : "Shares",
"Accept" : "Accept",
"This share is password-protected" : "This share is password-protected",
diff --git a/apps/files_sharing/l10n/eo.js b/apps/files_sharing/l10n/eo.js
index ef900774146..33befd672dc 100644
--- a/apps/files_sharing/l10n/eo.js
+++ b/apps/files_sharing/l10n/eo.js
@@ -21,8 +21,8 @@ OC.L10N.register(
"Public shared file %1$s was downloaded" : "La publika kunhavata dosiero %1$s elŝutiĝis",
"You shared %1$s with %2$s" : "Vi kunhavigis %1$s kun %2$s",
"You shared %1$s with group %2$s" : "Vi kunhavigis %1$s kun la grupo %2$s",
- "%2$s shared %1$s with you" : "%2$s kunhavigis %1$s kun vi",
"You shared %1$s via link" : "Vi kunhavigis %1$s per ligilo",
+ "%2$s shared %1$s with you" : "%2$s kunhavigis %1$s kun vi",
"Accept" : "Akcepti",
"This share is password-protected" : "Ĉi tiu kunhavigo estas protektata per pasvorto",
"The password is wrong. Try again." : "La pasvorto malĝustas. Provu denove.",
diff --git a/apps/files_sharing/l10n/eo.json b/apps/files_sharing/l10n/eo.json
index cc648a7c60d..5bc080158c4 100644
--- a/apps/files_sharing/l10n/eo.json
+++ b/apps/files_sharing/l10n/eo.json
@@ -19,8 +19,8 @@
"Public shared file %1$s was downloaded" : "La publika kunhavata dosiero %1$s elŝutiĝis",
"You shared %1$s with %2$s" : "Vi kunhavigis %1$s kun %2$s",
"You shared %1$s with group %2$s" : "Vi kunhavigis %1$s kun la grupo %2$s",
- "%2$s shared %1$s with you" : "%2$s kunhavigis %1$s kun vi",
"You shared %1$s via link" : "Vi kunhavigis %1$s per ligilo",
+ "%2$s shared %1$s with you" : "%2$s kunhavigis %1$s kun vi",
"Accept" : "Akcepti",
"This share is password-protected" : "Ĉi tiu kunhavigo estas protektata per pasvorto",
"The password is wrong. Try again." : "La pasvorto malĝustas. Provu denove.",
diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js
index da479f40975..c14e24051ed 100644
--- a/apps/files_sharing/l10n/es.js
+++ b/apps/files_sharing/l10n/es.js
@@ -38,22 +38,21 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Se descargó la carpeta pública compartida %1$s",
"Public shared file %1$s was downloaded" : "Se descargó el archivo público compartido %1$s",
"You shared %1$s with %2$s" : "Usted compartió %1$s con %2$s",
- "You shared %1$s with group %2$s" : "Usted ha compartido %1$s con el grupo %2$s",
"%2$s shared %1$s with %3$s" : "%2$s compartó %1$s con %3$s",
+ "You shared %1$s with group %2$s" : "Usted ha compartido %1$s con el grupo %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s compartió %1$s con el grupo %3$s",
"%2$s shared %1$s via link" : "%2$s compartió %1$s vía enlace",
- "%2$s shared %1$s with you" : "%2$s ha compartido %1$s con usted",
"You shared %1$s via link" : "Ha compartido %1$s vía enlace",
+ "%2$s shared %1$s with you" : "%2$s ha compartido %1$s con usted",
"Downloaded via public link" : "Descargado vía enlace público",
"Shared with %2$s" : "Compartido con %2$s",
- "Shared with group %2$s" : "Compartido con el grupo %2$s",
"Shared with %3$s by %2$s" : "Compartido con %3$s por %2$s",
+ "Shared with group %2$s" : "Compartido con el grupo %2$s",
"Shared with group %3$s by %2$s" : "Compartido con el grupo %3$s por %2$s",
"Shared via link by %2$s" : "Compartido vía enlace por %2$s",
- "Shared by %2$s" : "Compartido por %2$s",
"Shared via public link" : "Compartido vía enlace público",
+ "Shared by %2$s" : "Compartido por %2$s",
"Shares" : "Compartidos",
- "You received %2$s as a remote share from %1$s" : "Ha recibido %2$s como un recurso compartido de %1$s",
"Accept" : "Aceptar",
"Decline" : "Denegar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Compartirlo conmigo a través de mi ID Nube Federada #ownCloud, ver %s",
diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json
index 3b6f828b79a..6b21f7c8d83 100644
--- a/apps/files_sharing/l10n/es.json
+++ b/apps/files_sharing/l10n/es.json
@@ -36,22 +36,21 @@
"Public shared folder %1$s was downloaded" : "Se descargó la carpeta pública compartida %1$s",
"Public shared file %1$s was downloaded" : "Se descargó el archivo público compartido %1$s",
"You shared %1$s with %2$s" : "Usted compartió %1$s con %2$s",
- "You shared %1$s with group %2$s" : "Usted ha compartido %1$s con el grupo %2$s",
"%2$s shared %1$s with %3$s" : "%2$s compartó %1$s con %3$s",
+ "You shared %1$s with group %2$s" : "Usted ha compartido %1$s con el grupo %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s compartió %1$s con el grupo %3$s",
"%2$s shared %1$s via link" : "%2$s compartió %1$s vía enlace",
- "%2$s shared %1$s with you" : "%2$s ha compartido %1$s con usted",
"You shared %1$s via link" : "Ha compartido %1$s vía enlace",
+ "%2$s shared %1$s with you" : "%2$s ha compartido %1$s con usted",
"Downloaded via public link" : "Descargado vía enlace público",
"Shared with %2$s" : "Compartido con %2$s",
- "Shared with group %2$s" : "Compartido con el grupo %2$s",
"Shared with %3$s by %2$s" : "Compartido con %3$s por %2$s",
+ "Shared with group %2$s" : "Compartido con el grupo %2$s",
"Shared with group %3$s by %2$s" : "Compartido con el grupo %3$s por %2$s",
"Shared via link by %2$s" : "Compartido vía enlace por %2$s",
- "Shared by %2$s" : "Compartido por %2$s",
"Shared via public link" : "Compartido vía enlace público",
+ "Shared by %2$s" : "Compartido por %2$s",
"Shares" : "Compartidos",
- "You received %2$s as a remote share from %1$s" : "Ha recibido %2$s como un recurso compartido de %1$s",
"Accept" : "Aceptar",
"Decline" : "Denegar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Compartirlo conmigo a través de mi ID Nube Federada #ownCloud, ver %s",
diff --git a/apps/files_sharing/l10n/es_AR.js b/apps/files_sharing/l10n/es_AR.js
index f0e363b2f49..54a32182237 100644
--- a/apps/files_sharing/l10n/es_AR.js
+++ b/apps/files_sharing/l10n/es_AR.js
@@ -8,8 +8,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
"You shared %1$s with %2$s" : "Has compartido %1$s con %2$s",
"You shared %1$s with group %2$s" : "Has compartido %1$s en el grupo %2$s",
- "%2$s shared %1$s with you" : "%2$s compartió %1$s contigo",
"You shared %1$s via link" : "Has compartido %1$s a través del enlace",
+ "%2$s shared %1$s with you" : "%2$s compartió %1$s contigo",
"Shares" : "Compartidos",
"This share is password-protected" : "Esto está protegido por contraseña",
"The password is wrong. Try again." : "La contraseña no es correcta. Probá de nuevo.",
diff --git a/apps/files_sharing/l10n/es_AR.json b/apps/files_sharing/l10n/es_AR.json
index 7a6441c7bdf..db975a6094f 100644
--- a/apps/files_sharing/l10n/es_AR.json
+++ b/apps/files_sharing/l10n/es_AR.json
@@ -6,8 +6,8 @@
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
"You shared %1$s with %2$s" : "Has compartido %1$s con %2$s",
"You shared %1$s with group %2$s" : "Has compartido %1$s en el grupo %2$s",
- "%2$s shared %1$s with you" : "%2$s compartió %1$s contigo",
"You shared %1$s via link" : "Has compartido %1$s a través del enlace",
+ "%2$s shared %1$s with you" : "%2$s compartió %1$s contigo",
"Shares" : "Compartidos",
"This share is password-protected" : "Esto está protegido por contraseña",
"The password is wrong. Try again." : "La contraseña no es correcta. Probá de nuevo.",
diff --git a/apps/files_sharing/l10n/es_CL.js b/apps/files_sharing/l10n/es_CL.js
index 792d5a3cad1..a07d991b5b9 100644
--- a/apps/files_sharing/l10n/es_CL.js
+++ b/apps/files_sharing/l10n/es_CL.js
@@ -5,8 +5,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
"You shared %1$s with %2$s" : "Ha compartido %1$s con %2$s",
"You shared %1$s with group %2$s" : "Has compartido %1$s con el grupo %2$s",
- "%2$s shared %1$s with you" : "%2$s compartió %1$s con usted",
"You shared %1$s via link" : "Ha compartido %1$s vía enlace",
+ "%2$s shared %1$s with you" : "%2$s compartió %1$s con usted",
"Shares" : "Compartidos",
"Password" : "Clave",
"Download" : "Descargar"
diff --git a/apps/files_sharing/l10n/es_CL.json b/apps/files_sharing/l10n/es_CL.json
index 28f3056023b..97088d3de0e 100644
--- a/apps/files_sharing/l10n/es_CL.json
+++ b/apps/files_sharing/l10n/es_CL.json
@@ -3,8 +3,8 @@
"A file or folder has been <strong>shared</strong>" : "Un archivo o carpeta ha sido <strong>compartido</strong>",
"You shared %1$s with %2$s" : "Ha compartido %1$s con %2$s",
"You shared %1$s with group %2$s" : "Has compartido %1$s con el grupo %2$s",
- "%2$s shared %1$s with you" : "%2$s compartió %1$s con usted",
"You shared %1$s via link" : "Ha compartido %1$s vía enlace",
+ "%2$s shared %1$s with you" : "%2$s compartió %1$s con usted",
"Shares" : "Compartidos",
"Password" : "Clave",
"Download" : "Descargar"
diff --git a/apps/files_sharing/l10n/et_EE.js b/apps/files_sharing/l10n/et_EE.js
index 2fcce251407..ab817fc569d 100644
--- a/apps/files_sharing/l10n/et_EE.js
+++ b/apps/files_sharing/l10n/et_EE.js
@@ -28,8 +28,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "Fail või kataloog on <strong>jagatud</strong>",
"You shared %1$s with %2$s" : "Jagasid %1$s %2$s kasutajaga",
"You shared %1$s with group %2$s" : "Jagasid %1$s %2$s grupiga",
- "%2$s shared %1$s with you" : "%2$s jagas sinuga %1$s",
"You shared %1$s via link" : "Jagasid %1$s lingiga",
+ "%2$s shared %1$s with you" : "%2$s jagas sinuga %1$s",
"Downloaded via public link" : "Alla laetud avalikult lingilt",
"Shared with %2$s" : "Jagatud kasutajaga %2$s",
"Shares" : "Jagamised",
diff --git a/apps/files_sharing/l10n/et_EE.json b/apps/files_sharing/l10n/et_EE.json
index 34ddd9f1b15..2f97448e9d9 100644
--- a/apps/files_sharing/l10n/et_EE.json
+++ b/apps/files_sharing/l10n/et_EE.json
@@ -26,8 +26,8 @@
"A file or folder has been <strong>shared</strong>" : "Fail või kataloog on <strong>jagatud</strong>",
"You shared %1$s with %2$s" : "Jagasid %1$s %2$s kasutajaga",
"You shared %1$s with group %2$s" : "Jagasid %1$s %2$s grupiga",
- "%2$s shared %1$s with you" : "%2$s jagas sinuga %1$s",
"You shared %1$s via link" : "Jagasid %1$s lingiga",
+ "%2$s shared %1$s with you" : "%2$s jagas sinuga %1$s",
"Downloaded via public link" : "Alla laetud avalikult lingilt",
"Shared with %2$s" : "Jagatud kasutajaga %2$s",
"Shares" : "Jagamised",
diff --git a/apps/files_sharing/l10n/eu.js b/apps/files_sharing/l10n/eu.js
index 69a5e42cb4c..e7e5220d3f3 100644
--- a/apps/files_sharing/l10n/eu.js
+++ b/apps/files_sharing/l10n/eu.js
@@ -31,8 +31,8 @@ OC.L10N.register(
"Public shared file %1$s was downloaded" : "Publikoki partekatutako %1$s fitxategia deskargatu da",
"You shared %1$s with %2$s" : "Zuk %1$s elkarbanatu duzu %2$srekin",
"You shared %1$s with group %2$s" : "Zuk %1$s elkarbanatu duzu %2$s taldearekin",
- "%2$s shared %1$s with you" : "%2$sk zurekin %1$s elkarbanatu du",
"You shared %1$s via link" : "Konpartitu duzu %1$s esteka baten bidez",
+ "%2$s shared %1$s with you" : "%2$sk zurekin %1$s elkarbanatu du",
"Shares" : "Partekatuak",
"This share is password-protected" : "Elkarbanatutako hau pasahitzarekin babestuta dago",
"The password is wrong. Try again." : "Pasahitza ez da egokia. Saiatu berriro.",
diff --git a/apps/files_sharing/l10n/eu.json b/apps/files_sharing/l10n/eu.json
index e7890855cd4..72e3b036323 100644
--- a/apps/files_sharing/l10n/eu.json
+++ b/apps/files_sharing/l10n/eu.json
@@ -29,8 +29,8 @@
"Public shared file %1$s was downloaded" : "Publikoki partekatutako %1$s fitxategia deskargatu da",
"You shared %1$s with %2$s" : "Zuk %1$s elkarbanatu duzu %2$srekin",
"You shared %1$s with group %2$s" : "Zuk %1$s elkarbanatu duzu %2$s taldearekin",
- "%2$s shared %1$s with you" : "%2$sk zurekin %1$s elkarbanatu du",
"You shared %1$s via link" : "Konpartitu duzu %1$s esteka baten bidez",
+ "%2$s shared %1$s with you" : "%2$sk zurekin %1$s elkarbanatu du",
"Shares" : "Partekatuak",
"This share is password-protected" : "Elkarbanatutako hau pasahitzarekin babestuta dago",
"The password is wrong. Try again." : "Pasahitza ez da egokia. Saiatu berriro.",
diff --git a/apps/files_sharing/l10n/fa.js b/apps/files_sharing/l10n/fa.js
index cd915b79a17..b6cb143a3dd 100644
--- a/apps/files_sharing/l10n/fa.js
+++ b/apps/files_sharing/l10n/fa.js
@@ -25,8 +25,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "فایل یا پوشه ای به <strong>اشتراک</strong> گذاشته شد",
"You shared %1$s with %2$s" : "شما %1$s را با %2$s به اشتراک گذاشتید",
"You shared %1$s with group %2$s" : "شما %1$s را با گروه %2$s به اشتراک گذاشتید",
- "%2$s shared %1$s with you" : "%2$s مورد %1$s را با شما به اشتراک گذاشت",
"You shared %1$s via link" : "شما %1$s را توسط پیوند به اشتراک گذاشتید",
+ "%2$s shared %1$s with you" : "%2$s مورد %1$s را با شما به اشتراک گذاشت",
"Shares" : "موارد به اشتراک گذاشته",
"Accept" : "قبول",
"This share is password-protected" : "این اشتراک توسط رمز عبور محافظت می شود",
diff --git a/apps/files_sharing/l10n/fa.json b/apps/files_sharing/l10n/fa.json
index a345d9f1401..e3d73a7a633 100644
--- a/apps/files_sharing/l10n/fa.json
+++ b/apps/files_sharing/l10n/fa.json
@@ -23,8 +23,8 @@
"A file or folder has been <strong>shared</strong>" : "فایل یا پوشه ای به <strong>اشتراک</strong> گذاشته شد",
"You shared %1$s with %2$s" : "شما %1$s را با %2$s به اشتراک گذاشتید",
"You shared %1$s with group %2$s" : "شما %1$s را با گروه %2$s به اشتراک گذاشتید",
- "%2$s shared %1$s with you" : "%2$s مورد %1$s را با شما به اشتراک گذاشت",
"You shared %1$s via link" : "شما %1$s را توسط پیوند به اشتراک گذاشتید",
+ "%2$s shared %1$s with you" : "%2$s مورد %1$s را با شما به اشتراک گذاشت",
"Shares" : "موارد به اشتراک گذاشته",
"Accept" : "قبول",
"This share is password-protected" : "این اشتراک توسط رمز عبور محافظت می شود",
diff --git a/apps/files_sharing/l10n/fi_FI.js b/apps/files_sharing/l10n/fi_FI.js
index accd43020ff..68b41feb46c 100644
--- a/apps/files_sharing/l10n/fi_FI.js
+++ b/apps/files_sharing/l10n/fi_FI.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"Shared with you" : "Jaettu kanssasi",
"Shared with others" : "Jaettu muiden kanssa",
"Shared by link" : "Jaettu linkin kautta",
+ "Federated sharing" : "Federoitu jakaminen",
"Nothing shared with you yet" : "Kanssasi ei ole vielä jaettu mitään",
"Files and folders others share with you will show up here" : "Kanssasi jaetut tiedostot ja kansiot näkyvät täällä",
"Nothing shared yet" : "Ei mitään jaettua",
@@ -38,22 +39,27 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Julkisesti jaettu kansio %1$s ladattiin",
"Public shared file %1$s was downloaded" : "Julkisesti jaettu tiedosto %1$s ladattiin",
"You shared %1$s with %2$s" : "Jaoit kohteen %1$s käyttäjän %2$s kanssa",
- "You shared %1$s with group %2$s" : "Jaoit kohteen %1$s ryhmän %2$s kanssa",
"%2$s shared %1$s with %3$s" : "%2$s jakoi kohteen %1$s käyttäjän %3$s kanssa",
+ "You shared %1$s with group %2$s" : "Jaoit kohteen %1$s ryhmän %2$s kanssa",
"%2$s shared %1$s with group %3$s" : "%2$s jakoi kohteen %1$s ryhmän %3$s kanssa",
"%2$s shared %1$s via link" : "%2$s jakoi kohteen %1$s linkin kautta",
- "%2$s shared %1$s with you" : "%2$s jakoi kohteen %1$s kanssasi",
"You shared %1$s via link" : "Jaoit kohteen %1$s linkin kautta",
+ "Your public link for %1$s expired" : "Julkinen linkkisi kohteelle %1$s vanhentui",
+ "%2$s shared %1$s with you" : "%2$s jakoi kohteen %1$s kanssasi",
"Downloaded via public link" : "Lataa julkista linkkiä käyttäen",
"Shared with %2$s" : "Jaettu käyttäjän %2$s kanssa",
- "Shared with group %2$s" : "Jaettu ryhmän %2$s kanssa",
"Shared with %3$s by %2$s" : "Jaettu käyttäjän %3$s kanssa käyttäjän %2$s toimesta",
+ "Shared with group %2$s" : "Jaettu ryhmän %2$s kanssa",
"Shared with group %3$s by %2$s" : "Jaettu ryhmän %3$s kanssa käyttäjän %2$s toimesta",
"Shared via link by %2$s" : "Jaettu linkin kautta käyttäjän %2$s toimesta",
- "Shared by %2$s" : "Jakanut %2$s",
"Shared via public link" : "Jaettu julkisen linkin kautta",
+ "Removed public link" : "Julkinen linkki poistettu",
+ "%2$s removed public link" : "%2$s poisti julkisen linkin",
+ "Public link expired" : "Julkinen linkki vanhentui",
+ "Public link of %2$s expired" : "Kohteen %2$s julkinen linkki vanhentui",
+ "Shared by %2$s" : "Jakanut %2$s",
"Shares" : "Jaot",
- "You received %2$s as a remote share from %1$s" : "Sait kohteen %2$s etäjakona käyttäjältä %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Vastaanotit kohteen \"/%2$s\" etäjakona käyttäjältä %1$s",
"Accept" : "Hyväksy",
"Decline" : "Kieltäydy",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Jaa kanssani käyttäen #ownCloud ja federoitua pilvitunnistetta, katso %s",
diff --git a/apps/files_sharing/l10n/fi_FI.json b/apps/files_sharing/l10n/fi_FI.json
index e321d64732f..e1834ab3c0e 100644
--- a/apps/files_sharing/l10n/fi_FI.json
+++ b/apps/files_sharing/l10n/fi_FI.json
@@ -9,6 +9,7 @@
"Shared with you" : "Jaettu kanssasi",
"Shared with others" : "Jaettu muiden kanssa",
"Shared by link" : "Jaettu linkin kautta",
+ "Federated sharing" : "Federoitu jakaminen",
"Nothing shared with you yet" : "Kanssasi ei ole vielä jaettu mitään",
"Files and folders others share with you will show up here" : "Kanssasi jaetut tiedostot ja kansiot näkyvät täällä",
"Nothing shared yet" : "Ei mitään jaettua",
@@ -36,22 +37,27 @@
"Public shared folder %1$s was downloaded" : "Julkisesti jaettu kansio %1$s ladattiin",
"Public shared file %1$s was downloaded" : "Julkisesti jaettu tiedosto %1$s ladattiin",
"You shared %1$s with %2$s" : "Jaoit kohteen %1$s käyttäjän %2$s kanssa",
- "You shared %1$s with group %2$s" : "Jaoit kohteen %1$s ryhmän %2$s kanssa",
"%2$s shared %1$s with %3$s" : "%2$s jakoi kohteen %1$s käyttäjän %3$s kanssa",
+ "You shared %1$s with group %2$s" : "Jaoit kohteen %1$s ryhmän %2$s kanssa",
"%2$s shared %1$s with group %3$s" : "%2$s jakoi kohteen %1$s ryhmän %3$s kanssa",
"%2$s shared %1$s via link" : "%2$s jakoi kohteen %1$s linkin kautta",
- "%2$s shared %1$s with you" : "%2$s jakoi kohteen %1$s kanssasi",
"You shared %1$s via link" : "Jaoit kohteen %1$s linkin kautta",
+ "Your public link for %1$s expired" : "Julkinen linkkisi kohteelle %1$s vanhentui",
+ "%2$s shared %1$s with you" : "%2$s jakoi kohteen %1$s kanssasi",
"Downloaded via public link" : "Lataa julkista linkkiä käyttäen",
"Shared with %2$s" : "Jaettu käyttäjän %2$s kanssa",
- "Shared with group %2$s" : "Jaettu ryhmän %2$s kanssa",
"Shared with %3$s by %2$s" : "Jaettu käyttäjän %3$s kanssa käyttäjän %2$s toimesta",
+ "Shared with group %2$s" : "Jaettu ryhmän %2$s kanssa",
"Shared with group %3$s by %2$s" : "Jaettu ryhmän %3$s kanssa käyttäjän %2$s toimesta",
"Shared via link by %2$s" : "Jaettu linkin kautta käyttäjän %2$s toimesta",
- "Shared by %2$s" : "Jakanut %2$s",
"Shared via public link" : "Jaettu julkisen linkin kautta",
+ "Removed public link" : "Julkinen linkki poistettu",
+ "%2$s removed public link" : "%2$s poisti julkisen linkin",
+ "Public link expired" : "Julkinen linkki vanhentui",
+ "Public link of %2$s expired" : "Kohteen %2$s julkinen linkki vanhentui",
+ "Shared by %2$s" : "Jakanut %2$s",
"Shares" : "Jaot",
- "You received %2$s as a remote share from %1$s" : "Sait kohteen %2$s etäjakona käyttäjältä %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Vastaanotit kohteen \"/%2$s\" etäjakona käyttäjältä %1$s",
"Accept" : "Hyväksy",
"Decline" : "Kieltäydy",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Jaa kanssani käyttäen #ownCloud ja federoitua pilvitunnistetta, katso %s",
diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js
index bdf8ee8224a..e99dffcdcac 100644
--- a/apps/files_sharing/l10n/fr.js
+++ b/apps/files_sharing/l10n/fr.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"Shared with you" : "Partagés avec vous",
"Shared with others" : "Partagés avec d'autres",
"Shared by link" : "Partagés par lien",
+ "Federated sharing" : "Federated sharing",
"Nothing shared with you yet" : "Aucun fichier n'est partagé avec vous pour l'instant",
"Files and folders others share with you will show up here" : "Les fichiers et dossiers partagés avec vous apparaîtront ici",
"Nothing shared yet" : "Rien n'est partagé pour l'instant",
@@ -38,22 +39,39 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Le dossier public %1$s a été téléchargé",
"Public shared file %1$s was downloaded" : "Le fichier public %1$s a été téléchargé",
"You shared %1$s with %2$s" : "Vous avez partagé %1$s avec %2$s",
- "You shared %1$s with group %2$s" : "Vous avez partagé %1$s avec le groupe %2$s",
"%2$s shared %1$s with %3$s" : "%2$s a partagé %1$s avec %3$s",
+ "You removed the share of %2$s for %1$s" : "Vous avez supprimé le partage de %2$s pour %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s a supprimé votre partage de %3$s pour %1$s",
+ "You shared %1$s with group %2$s" : "Vous avez partagé %1$s avec le groupe %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s partagé %1$s avec le groupe %3$s",
+ "You removed the share of group %2$s for %1$s" : "Vous avez supprimé le partage du groupe %2$s pour %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s a supprimé le partage du groupe %3$s pour %1$s",
"%2$s shared %1$s via link" : "%2$s a partagé %1$s par lien",
- "%2$s shared %1$s with you" : "%2$s a partagé %1$s avec vous",
"You shared %1$s via link" : "Vous avez partagé %1$s par lien public",
+ "You removed the public link for %1$s" : "Vous avez supprimé le lien public pour %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s a supprimé le lien public pour %1$s",
+ "Your public link for %1$s expired" : "Le lien public pour %1$s a expiré",
+ "The public link of %2$s for %1$s expired" : "Le lien public de %2$s pour %1$s a expiré",
+ "%2$s shared %1$s with you" : "%2$s a partagé %1$s avec vous",
+ "%2$s removed the share for %1$s" : "%2$s a supprimé le partage pour %1$s",
"Downloaded via public link" : "Téléchargé par lien public",
"Shared with %2$s" : "Partagé avec %2$s",
- "Shared with group %2$s" : "Partagé avec le groupe %2$s",
"Shared with %3$s by %2$s" : "Partagé avec %3$s par %2$s",
+ "Removed share for %2$s" : "Partage supprimé pour %2$s",
+ "%2$s removed share for %3$s" : "%2$s a supprimé le partage pour %3$s",
+ "Shared with group %2$s" : "Partagé avec le groupe %2$s",
"Shared with group %3$s by %2$s" : "Partagé avec le groupe %3$s par %2$s",
+ "Removed share of group %2$s" : "Partage supprimé du groupe %2$s",
+ "%2$s removed share of group %3$s" : "%2$s a supprimé le partage du groupe %3$s",
"Shared via link by %2$s" : "Partagé via lien par %2$s",
- "Shared by %2$s" : "Partagé par %2$s",
"Shared via public link" : "Partagé par lien public",
+ "Removed public link" : "Lien public supprimé",
+ "%2$s removed public link" : "%2$s a supprimé le lien public",
+ "Public link expired" : "Lien public expiré",
+ "Public link of %2$s expired" : "Le lien public de %2$s a expiré",
+ "Shared by %2$s" : "Partagé par %2$s",
"Shares" : "Partages",
- "You received %2$s as a remote share from %1$s" : "Vous avez obtenu l'accès au partage distant %2$s de %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "L'utilisateur %1$s a partagé la ressource distante %2$s avec vous",
"Accept" : "Accepter",
"Decline" : "Refuser",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Partagez avec moi grâce à mon identifiant Federated Cloud #owncloud %s",
diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json
index 6d30043fb84..c0c7b85bf96 100644
--- a/apps/files_sharing/l10n/fr.json
+++ b/apps/files_sharing/l10n/fr.json
@@ -9,6 +9,7 @@
"Shared with you" : "Partagés avec vous",
"Shared with others" : "Partagés avec d'autres",
"Shared by link" : "Partagés par lien",
+ "Federated sharing" : "Federated sharing",
"Nothing shared with you yet" : "Aucun fichier n'est partagé avec vous pour l'instant",
"Files and folders others share with you will show up here" : "Les fichiers et dossiers partagés avec vous apparaîtront ici",
"Nothing shared yet" : "Rien n'est partagé pour l'instant",
@@ -36,22 +37,39 @@
"Public shared folder %1$s was downloaded" : "Le dossier public %1$s a été téléchargé",
"Public shared file %1$s was downloaded" : "Le fichier public %1$s a été téléchargé",
"You shared %1$s with %2$s" : "Vous avez partagé %1$s avec %2$s",
- "You shared %1$s with group %2$s" : "Vous avez partagé %1$s avec le groupe %2$s",
"%2$s shared %1$s with %3$s" : "%2$s a partagé %1$s avec %3$s",
+ "You removed the share of %2$s for %1$s" : "Vous avez supprimé le partage de %2$s pour %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s a supprimé votre partage de %3$s pour %1$s",
+ "You shared %1$s with group %2$s" : "Vous avez partagé %1$s avec le groupe %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s partagé %1$s avec le groupe %3$s",
+ "You removed the share of group %2$s for %1$s" : "Vous avez supprimé le partage du groupe %2$s pour %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s a supprimé le partage du groupe %3$s pour %1$s",
"%2$s shared %1$s via link" : "%2$s a partagé %1$s par lien",
- "%2$s shared %1$s with you" : "%2$s a partagé %1$s avec vous",
"You shared %1$s via link" : "Vous avez partagé %1$s par lien public",
+ "You removed the public link for %1$s" : "Vous avez supprimé le lien public pour %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s a supprimé le lien public pour %1$s",
+ "Your public link for %1$s expired" : "Le lien public pour %1$s a expiré",
+ "The public link of %2$s for %1$s expired" : "Le lien public de %2$s pour %1$s a expiré",
+ "%2$s shared %1$s with you" : "%2$s a partagé %1$s avec vous",
+ "%2$s removed the share for %1$s" : "%2$s a supprimé le partage pour %1$s",
"Downloaded via public link" : "Téléchargé par lien public",
"Shared with %2$s" : "Partagé avec %2$s",
- "Shared with group %2$s" : "Partagé avec le groupe %2$s",
"Shared with %3$s by %2$s" : "Partagé avec %3$s par %2$s",
+ "Removed share for %2$s" : "Partage supprimé pour %2$s",
+ "%2$s removed share for %3$s" : "%2$s a supprimé le partage pour %3$s",
+ "Shared with group %2$s" : "Partagé avec le groupe %2$s",
"Shared with group %3$s by %2$s" : "Partagé avec le groupe %3$s par %2$s",
+ "Removed share of group %2$s" : "Partage supprimé du groupe %2$s",
+ "%2$s removed share of group %3$s" : "%2$s a supprimé le partage du groupe %3$s",
"Shared via link by %2$s" : "Partagé via lien par %2$s",
- "Shared by %2$s" : "Partagé par %2$s",
"Shared via public link" : "Partagé par lien public",
+ "Removed public link" : "Lien public supprimé",
+ "%2$s removed public link" : "%2$s a supprimé le lien public",
+ "Public link expired" : "Lien public expiré",
+ "Public link of %2$s expired" : "Le lien public de %2$s a expiré",
+ "Shared by %2$s" : "Partagé par %2$s",
"Shares" : "Partages",
- "You received %2$s as a remote share from %1$s" : "Vous avez obtenu l'accès au partage distant %2$s de %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "L'utilisateur %1$s a partagé la ressource distante %2$s avec vous",
"Accept" : "Accepter",
"Decline" : "Refuser",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Partagez avec moi grâce à mon identifiant Federated Cloud #owncloud %s",
diff --git a/apps/files_sharing/l10n/gl.js b/apps/files_sharing/l10n/gl.js
index f2a2d528ffc..7d4028f0bad 100644
--- a/apps/files_sharing/l10n/gl.js
+++ b/apps/files_sharing/l10n/gl.js
@@ -38,8 +38,8 @@ OC.L10N.register(
"Public shared file %1$s was downloaded" : "Foi descargado o ficheiro público %1$s",
"You shared %1$s with %2$s" : "Compartiu %1$s con %2$s",
"You shared %1$s with group %2$s" : "Compartiu %1$s co grupo %2$s",
- "%2$s shared %1$s with you" : "%2$s compartiu %1$s con vostede",
"You shared %1$s via link" : "Vostede compartiu %1$s mediante ligazón",
+ "%2$s shared %1$s with you" : "%2$s compartiu %1$s con vostede",
"Shares" : "Comparticións",
"Accept" : "Aceptar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Comparte comigo a través do meu ID da nube federada do #ownCloud , vexa %s",
diff --git a/apps/files_sharing/l10n/gl.json b/apps/files_sharing/l10n/gl.json
index b9998a47a12..a6aa34d14cb 100644
--- a/apps/files_sharing/l10n/gl.json
+++ b/apps/files_sharing/l10n/gl.json
@@ -36,8 +36,8 @@
"Public shared file %1$s was downloaded" : "Foi descargado o ficheiro público %1$s",
"You shared %1$s with %2$s" : "Compartiu %1$s con %2$s",
"You shared %1$s with group %2$s" : "Compartiu %1$s co grupo %2$s",
- "%2$s shared %1$s with you" : "%2$s compartiu %1$s con vostede",
"You shared %1$s via link" : "Vostede compartiu %1$s mediante ligazón",
+ "%2$s shared %1$s with you" : "%2$s compartiu %1$s con vostede",
"Shares" : "Comparticións",
"Accept" : "Aceptar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Comparte comigo a través do meu ID da nube federada do #ownCloud , vexa %s",
diff --git a/apps/files_sharing/l10n/he.js b/apps/files_sharing/l10n/he.js
index b229c8d5655..b0be1d34c97 100644
--- a/apps/files_sharing/l10n/he.js
+++ b/apps/files_sharing/l10n/he.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"Shared with you" : "שיתף/שיתפה אתך",
"Shared with others" : "משותף עם אחרים",
"Shared by link" : "משותף עם קישור",
+ "Federated sharing" : "שיתוף מאוגד",
"Nothing shared with you yet" : "עדיין לא שיתפו אתך דבר",
"Files and folders others share with you will show up here" : "קבצים ותיקיות שאחרים שיתפו אתך יוצגו כאן",
"Nothing shared yet" : "עדיין לא שותף דבר",
@@ -38,22 +39,39 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "תיקיית שיתוף ציבורית %1$s הורדה",
"Public shared file %1$s was downloaded" : "קובץ שיתוף ציבורי %1$s הורד",
"You shared %1$s with %2$s" : "שיתפת %1$s עם %2$s",
- "You shared %1$s with group %2$s" : "שיתפת %1$s עם קבוצת %2$s",
"%2$s shared %1$s with %3$s" : "%2$s שיתף/שיתפה %1$s עם %3$s",
+ "You removed the share of %2$s for %1$s" : "הסרת את השיתוף של %2$s עבור %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s הסיר/ה את השיתוף של %3$s עבור %1$s",
+ "You shared %1$s with group %2$s" : "שיתפת %1$s עם קבוצת %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s שיתף/שיתפה %1$s עם קבוצה %3$s",
+ "You removed the share of group %2$s for %1$s" : "הסרת את השיתוף לקבוצה %2$s עבור %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s הסיר/ה את השיתוף לקבוצה %3$s עבור %1$s",
"%2$s shared %1$s via link" : "%2$s שיתף/שיתפה %1$s על ידי קישור",
- "%2$s shared %1$s with you" : "%2$s שיתפו %1$s אתך",
"You shared %1$s via link" : "שיתפת %1$s על בסיס קישור",
+ "You removed the public link for %1$s" : "הסרת את הקישור הציבורי של %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s הסיר/ה את הקישור הציבורי של %1$s",
+ "Your public link for %1$s expired" : "הקישור הציבורי של %1$s פג תוקף",
+ "The public link of %2$s for %1$s expired" : "הקישור הציבורי של %2$s עבור %1$s פג תוקף",
+ "%2$s shared %1$s with you" : "%2$s שיתפו %1$s אתך",
+ "%2$s removed the share for %1$s" : "%2$s הסיר/ה את השיתוף של %1$s",
"Downloaded via public link" : "הורד על בסיס קישור ציבורי",
"Shared with %2$s" : "שיתף/שיתפה עם %2$s",
- "Shared with group %2$s" : "שיתף/שיתפה עם קבוצה %2$s",
"Shared with %3$s by %2$s" : "שיתף/שיתפה עם %3$s על ידי %2$s",
+ "Removed share for %2$s" : "הסיר/ה שיתוף של %2$s",
+ "%2$s removed share for %3$s" : "%2$s הסיר/ה שיתוף של %3$s",
+ "Shared with group %2$s" : "שיתף/שיתפה עם קבוצה %2$s",
"Shared with group %3$s by %2$s" : "שיתף/שיתפה עם קבוצה %3$s על ידי %2$s",
+ "Removed share of group %2$s" : "הסיר/ה שיתוף של קבוצה %2$s",
+ "%2$s removed share of group %3$s" : "%2$s הסיר/ה שיתוף של קבוצה %3$s",
"Shared via link by %2$s" : "שיתף/שיתפה על בסיס קישור על ידי %2$s",
- "Shared by %2$s" : "שיתף/שיתפה על ידי %2$s",
"Shared via public link" : "משותף על בסיס קישור ציבורי",
+ "Removed public link" : "הסיר/ה קישור ציבורי",
+ "%2$s removed public link" : "%2$s הסיר/ה קישור ציבורי",
+ "Public link expired" : "קישור ציבורי פג תוקף",
+ "Public link of %2$s expired" : "קישור ציבורי של %2$s פג תוקף",
+ "Shared by %2$s" : "שיתף/שיתפה על ידי %2$s",
"Shares" : "שיתופים",
- "You received %2$s as a remote share from %1$s" : "קבלת %2$s כשיתוף חיצוני מאת %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "קבלת \"/%2$s\" כשיתוף חיצוני מאת %1$s",
"Accept" : "אישור",
"Decline" : "סירוב",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "שיתוף איתי באמצעות מספר זהות שרת ה- #ownCloud המאוגד שלי, ניתן לראות %s",
diff --git a/apps/files_sharing/l10n/he.json b/apps/files_sharing/l10n/he.json
index cdd1471c007..de1cfff07b5 100644
--- a/apps/files_sharing/l10n/he.json
+++ b/apps/files_sharing/l10n/he.json
@@ -9,6 +9,7 @@
"Shared with you" : "שיתף/שיתפה אתך",
"Shared with others" : "משותף עם אחרים",
"Shared by link" : "משותף עם קישור",
+ "Federated sharing" : "שיתוף מאוגד",
"Nothing shared with you yet" : "עדיין לא שיתפו אתך דבר",
"Files and folders others share with you will show up here" : "קבצים ותיקיות שאחרים שיתפו אתך יוצגו כאן",
"Nothing shared yet" : "עדיין לא שותף דבר",
@@ -36,22 +37,39 @@
"Public shared folder %1$s was downloaded" : "תיקיית שיתוף ציבורית %1$s הורדה",
"Public shared file %1$s was downloaded" : "קובץ שיתוף ציבורי %1$s הורד",
"You shared %1$s with %2$s" : "שיתפת %1$s עם %2$s",
- "You shared %1$s with group %2$s" : "שיתפת %1$s עם קבוצת %2$s",
"%2$s shared %1$s with %3$s" : "%2$s שיתף/שיתפה %1$s עם %3$s",
+ "You removed the share of %2$s for %1$s" : "הסרת את השיתוף של %2$s עבור %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s הסיר/ה את השיתוף של %3$s עבור %1$s",
+ "You shared %1$s with group %2$s" : "שיתפת %1$s עם קבוצת %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s שיתף/שיתפה %1$s עם קבוצה %3$s",
+ "You removed the share of group %2$s for %1$s" : "הסרת את השיתוף לקבוצה %2$s עבור %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s הסיר/ה את השיתוף לקבוצה %3$s עבור %1$s",
"%2$s shared %1$s via link" : "%2$s שיתף/שיתפה %1$s על ידי קישור",
- "%2$s shared %1$s with you" : "%2$s שיתפו %1$s אתך",
"You shared %1$s via link" : "שיתפת %1$s על בסיס קישור",
+ "You removed the public link for %1$s" : "הסרת את הקישור הציבורי של %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s הסיר/ה את הקישור הציבורי של %1$s",
+ "Your public link for %1$s expired" : "הקישור הציבורי של %1$s פג תוקף",
+ "The public link of %2$s for %1$s expired" : "הקישור הציבורי של %2$s עבור %1$s פג תוקף",
+ "%2$s shared %1$s with you" : "%2$s שיתפו %1$s אתך",
+ "%2$s removed the share for %1$s" : "%2$s הסיר/ה את השיתוף של %1$s",
"Downloaded via public link" : "הורד על בסיס קישור ציבורי",
"Shared with %2$s" : "שיתף/שיתפה עם %2$s",
- "Shared with group %2$s" : "שיתף/שיתפה עם קבוצה %2$s",
"Shared with %3$s by %2$s" : "שיתף/שיתפה עם %3$s על ידי %2$s",
+ "Removed share for %2$s" : "הסיר/ה שיתוף של %2$s",
+ "%2$s removed share for %3$s" : "%2$s הסיר/ה שיתוף של %3$s",
+ "Shared with group %2$s" : "שיתף/שיתפה עם קבוצה %2$s",
"Shared with group %3$s by %2$s" : "שיתף/שיתפה עם קבוצה %3$s על ידי %2$s",
+ "Removed share of group %2$s" : "הסיר/ה שיתוף של קבוצה %2$s",
+ "%2$s removed share of group %3$s" : "%2$s הסיר/ה שיתוף של קבוצה %3$s",
"Shared via link by %2$s" : "שיתף/שיתפה על בסיס קישור על ידי %2$s",
- "Shared by %2$s" : "שיתף/שיתפה על ידי %2$s",
"Shared via public link" : "משותף על בסיס קישור ציבורי",
+ "Removed public link" : "הסיר/ה קישור ציבורי",
+ "%2$s removed public link" : "%2$s הסיר/ה קישור ציבורי",
+ "Public link expired" : "קישור ציבורי פג תוקף",
+ "Public link of %2$s expired" : "קישור ציבורי של %2$s פג תוקף",
+ "Shared by %2$s" : "שיתף/שיתפה על ידי %2$s",
"Shares" : "שיתופים",
- "You received %2$s as a remote share from %1$s" : "קבלת %2$s כשיתוף חיצוני מאת %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "קבלת \"/%2$s\" כשיתוף חיצוני מאת %1$s",
"Accept" : "אישור",
"Decline" : "סירוב",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "שיתוף איתי באמצעות מספר זהות שרת ה- #ownCloud המאוגד שלי, ניתן לראות %s",
diff --git a/apps/files_sharing/l10n/hr.js b/apps/files_sharing/l10n/hr.js
index 63090dd4e4e..9016c589e9f 100644
--- a/apps/files_sharing/l10n/hr.js
+++ b/apps/files_sharing/l10n/hr.js
@@ -18,8 +18,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "Datoteka ili mapa su <strong>podijeljeni</strong>",
"You shared %1$s with %2$s" : "Podijelili ste %1$s s %2$s",
"You shared %1$s with group %2$s" : "Podijelili ste %1$s s grupom %2$s",
- "%2$s shared %1$s with you" : "%2$s je %1$s podijelio s vama",
"You shared %1$s via link" : "Podijelili ste %1$s putem veze",
+ "%2$s shared %1$s with you" : "%2$s je %1$s podijelio s vama",
"Shares" : "Dijeljeni resursi",
"This share is password-protected" : "Ovaj zajednički resurs je zaštićen lozinkom",
"The password is wrong. Try again." : "Pogrešna lozinka. Pokušajte ponovno.",
diff --git a/apps/files_sharing/l10n/hr.json b/apps/files_sharing/l10n/hr.json
index dd5fa0489fb..b9505667312 100644
--- a/apps/files_sharing/l10n/hr.json
+++ b/apps/files_sharing/l10n/hr.json
@@ -16,8 +16,8 @@
"A file or folder has been <strong>shared</strong>" : "Datoteka ili mapa su <strong>podijeljeni</strong>",
"You shared %1$s with %2$s" : "Podijelili ste %1$s s %2$s",
"You shared %1$s with group %2$s" : "Podijelili ste %1$s s grupom %2$s",
- "%2$s shared %1$s with you" : "%2$s je %1$s podijelio s vama",
"You shared %1$s via link" : "Podijelili ste %1$s putem veze",
+ "%2$s shared %1$s with you" : "%2$s je %1$s podijelio s vama",
"Shares" : "Dijeljeni resursi",
"This share is password-protected" : "Ovaj zajednički resurs je zaštićen lozinkom",
"The password is wrong. Try again." : "Pogrešna lozinka. Pokušajte ponovno.",
diff --git a/apps/files_sharing/l10n/hu_HU.js b/apps/files_sharing/l10n/hu_HU.js
index 6471b491fac..aee9a893a19 100644
--- a/apps/files_sharing/l10n/hu_HU.js
+++ b/apps/files_sharing/l10n/hu_HU.js
@@ -38,22 +38,21 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Nyilvánosan megosztott könyvtár %1$s le lett töltve",
"Public shared file %1$s was downloaded" : "Nyilvánosan megosztott fálj %1$s le lett töltve",
"You shared %1$s with %2$s" : "%1$s-t megosztottam ővele: %2$s",
- "You shared %1$s with group %2$s" : "%1$s-t megosztottam ezzel a csoporttal: %2$s",
"%2$s shared %1$s with %3$s" : "%2$s megosztotta ezt: %1$s, ővele: %3$s",
+ "You shared %1$s with group %2$s" : "%1$s-t megosztottam ezzel a csoporttal: %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s megosztotta ezt: %1$s, ezzel a csoporttal: %3$s",
"%2$s shared %1$s via link" : "%2$s megosztotta ezt: %1$s, hivatkozással",
- "%2$s shared %1$s with you" : "%2$s megosztotta velem ezt: %1$s",
"You shared %1$s via link" : "Megosztottam link segítségével: %1$s",
+ "%2$s shared %1$s with you" : "%2$s megosztotta velem ezt: %1$s",
"Downloaded via public link" : "Letöltve publikus hivatkozással",
"Shared with %2$s" : "Megosztva vele: %2$s",
- "Shared with group %2$s" : "Megosztva ezzel a csoporttal: %2$s",
"Shared with %3$s by %2$s" : "Megosztva vele: %3$s, megosztó: %2$s",
+ "Shared with group %2$s" : "Megosztva ezzel a csoporttal: %2$s",
"Shared with group %3$s by %2$s" : "Megosztva ezzel a csoporttal: %3$s, megosztó: %2$s",
"Shared via link by %2$s" : "Megosztva hivatkozással: %2$s",
- "Shared by %2$s" : "Megosztó: %2$s",
"Shared via public link" : "Megosztva publikus hivatkozással",
+ "Shared by %2$s" : "Megosztó: %2$s",
"Shares" : "Megosztások",
- "You received %2$s as a remote share from %1$s" : "Kaptál egy távoli megosztást: %2$s, innen: %1$s",
"Accept" : "Elfogadás",
"Decline" : "Elutasítás",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Ossza meg velem az #ownCloud Egyesített Felhő Azonosító segítségével, lásd %s",
diff --git a/apps/files_sharing/l10n/hu_HU.json b/apps/files_sharing/l10n/hu_HU.json
index 4c5501803ea..a91d017d0fd 100644
--- a/apps/files_sharing/l10n/hu_HU.json
+++ b/apps/files_sharing/l10n/hu_HU.json
@@ -36,22 +36,21 @@
"Public shared folder %1$s was downloaded" : "Nyilvánosan megosztott könyvtár %1$s le lett töltve",
"Public shared file %1$s was downloaded" : "Nyilvánosan megosztott fálj %1$s le lett töltve",
"You shared %1$s with %2$s" : "%1$s-t megosztottam ővele: %2$s",
- "You shared %1$s with group %2$s" : "%1$s-t megosztottam ezzel a csoporttal: %2$s",
"%2$s shared %1$s with %3$s" : "%2$s megosztotta ezt: %1$s, ővele: %3$s",
+ "You shared %1$s with group %2$s" : "%1$s-t megosztottam ezzel a csoporttal: %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s megosztotta ezt: %1$s, ezzel a csoporttal: %3$s",
"%2$s shared %1$s via link" : "%2$s megosztotta ezt: %1$s, hivatkozással",
- "%2$s shared %1$s with you" : "%2$s megosztotta velem ezt: %1$s",
"You shared %1$s via link" : "Megosztottam link segítségével: %1$s",
+ "%2$s shared %1$s with you" : "%2$s megosztotta velem ezt: %1$s",
"Downloaded via public link" : "Letöltve publikus hivatkozással",
"Shared with %2$s" : "Megosztva vele: %2$s",
- "Shared with group %2$s" : "Megosztva ezzel a csoporttal: %2$s",
"Shared with %3$s by %2$s" : "Megosztva vele: %3$s, megosztó: %2$s",
+ "Shared with group %2$s" : "Megosztva ezzel a csoporttal: %2$s",
"Shared with group %3$s by %2$s" : "Megosztva ezzel a csoporttal: %3$s, megosztó: %2$s",
"Shared via link by %2$s" : "Megosztva hivatkozással: %2$s",
- "Shared by %2$s" : "Megosztó: %2$s",
"Shared via public link" : "Megosztva publikus hivatkozással",
+ "Shared by %2$s" : "Megosztó: %2$s",
"Shares" : "Megosztások",
- "You received %2$s as a remote share from %1$s" : "Kaptál egy távoli megosztást: %2$s, innen: %1$s",
"Accept" : "Elfogadás",
"Decline" : "Elutasítás",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Ossza meg velem az #ownCloud Egyesített Felhő Azonosító segítségével, lásd %s",
diff --git a/apps/files_sharing/l10n/ia.js b/apps/files_sharing/l10n/ia.js
index 43b103e272f..8e6401b8835 100644
--- a/apps/files_sharing/l10n/ia.js
+++ b/apps/files_sharing/l10n/ia.js
@@ -5,8 +5,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "Un file o un dossier ha essite <strong>compartite</strong>",
"You shared %1$s with %2$s" : "Tu compartiva %1$s con %2$s",
"You shared %1$s with group %2$s" : "Tu compartiva %1$s con gruppo %2$s",
- "%2$s shared %1$s with you" : "%2$s compartiva %1$s con te",
"You shared %1$s via link" : "Tu compartiva %1$s via ligamine",
+ "%2$s shared %1$s with you" : "%2$s compartiva %1$s con te",
"Shares" : "Comparti",
"Password" : "Contrasigno",
"Name" : "Nomine",
diff --git a/apps/files_sharing/l10n/ia.json b/apps/files_sharing/l10n/ia.json
index 64bda72c7d2..e5efb202155 100644
--- a/apps/files_sharing/l10n/ia.json
+++ b/apps/files_sharing/l10n/ia.json
@@ -3,8 +3,8 @@
"A file or folder has been <strong>shared</strong>" : "Un file o un dossier ha essite <strong>compartite</strong>",
"You shared %1$s with %2$s" : "Tu compartiva %1$s con %2$s",
"You shared %1$s with group %2$s" : "Tu compartiva %1$s con gruppo %2$s",
- "%2$s shared %1$s with you" : "%2$s compartiva %1$s con te",
"You shared %1$s via link" : "Tu compartiva %1$s via ligamine",
+ "%2$s shared %1$s with you" : "%2$s compartiva %1$s con te",
"Shares" : "Comparti",
"Password" : "Contrasigno",
"Name" : "Nomine",
diff --git a/apps/files_sharing/l10n/id.js b/apps/files_sharing/l10n/id.js
index bfded66f7c6..837c0cfa843 100644
--- a/apps/files_sharing/l10n/id.js
+++ b/apps/files_sharing/l10n/id.js
@@ -37,22 +37,21 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Folder berbagi publik %1$s telah diunduh",
"Public shared file %1$s was downloaded" : "Berkas berbagi publik %1$s telah diunduh",
"You shared %1$s with %2$s" : "Anda membagikan %1$s dengan %2$s",
- "You shared %1$s with group %2$s" : "Anda membagikan %1$s dengan grup %2$s",
"%2$s shared %1$s with %3$s" : "%2$s berbagi %1$s kepada %3$s",
+ "You shared %1$s with group %2$s" : "Anda membagikan %1$s dengan grup %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s berbagi %1$s kepada grup %3$s",
"%2$s shared %1$s via link" : "%2$s berbagi %1$s via tautan",
- "%2$s shared %1$s with you" : "%2$s membagikan %1$s dengan Anda",
"You shared %1$s via link" : "Anda membagikan %1$s via tautan",
+ "%2$s shared %1$s with you" : "%2$s membagikan %1$s dengan Anda",
"Downloaded via public link" : "Diunduh via tautan publik",
"Shared with %2$s" : "Dibagikan kepada %2$s",
- "Shared with group %2$s" : "Dibagikan kepada grup %2$s",
"Shared with %3$s by %2$s" : "Dibagikan kepada %3$s oleh %2$s",
+ "Shared with group %2$s" : "Dibagikan kepada grup %2$s",
"Shared with group %3$s by %2$s" : "Dibagikan kepada grup %3$s oleh %2$s",
"Shared via link by %2$s" : "Dibagikan via tautan oleh %2$s",
- "Shared by %2$s" : "Dibagikan oleh %2$s",
"Shared via public link" : "Dibagikan via tautan publik",
+ "Shared by %2$s" : "Dibagikan oleh %2$s",
"Shares" : "Dibagikan",
- "You received %2$s as a remote share from %1$s" : "Anda menerima %2$s sebagai berbagi remote dari %1$s",
"Accept" : "Terima",
"Decline" : "Tolak",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Dibagikan pada saya melalui #ownCloud Federated Cloud ID saya, lihat %s",
diff --git a/apps/files_sharing/l10n/id.json b/apps/files_sharing/l10n/id.json
index b6e9297bcc9..40789ec9355 100644
--- a/apps/files_sharing/l10n/id.json
+++ b/apps/files_sharing/l10n/id.json
@@ -35,22 +35,21 @@
"Public shared folder %1$s was downloaded" : "Folder berbagi publik %1$s telah diunduh",
"Public shared file %1$s was downloaded" : "Berkas berbagi publik %1$s telah diunduh",
"You shared %1$s with %2$s" : "Anda membagikan %1$s dengan %2$s",
- "You shared %1$s with group %2$s" : "Anda membagikan %1$s dengan grup %2$s",
"%2$s shared %1$s with %3$s" : "%2$s berbagi %1$s kepada %3$s",
+ "You shared %1$s with group %2$s" : "Anda membagikan %1$s dengan grup %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s berbagi %1$s kepada grup %3$s",
"%2$s shared %1$s via link" : "%2$s berbagi %1$s via tautan",
- "%2$s shared %1$s with you" : "%2$s membagikan %1$s dengan Anda",
"You shared %1$s via link" : "Anda membagikan %1$s via tautan",
+ "%2$s shared %1$s with you" : "%2$s membagikan %1$s dengan Anda",
"Downloaded via public link" : "Diunduh via tautan publik",
"Shared with %2$s" : "Dibagikan kepada %2$s",
- "Shared with group %2$s" : "Dibagikan kepada grup %2$s",
"Shared with %3$s by %2$s" : "Dibagikan kepada %3$s oleh %2$s",
+ "Shared with group %2$s" : "Dibagikan kepada grup %2$s",
"Shared with group %3$s by %2$s" : "Dibagikan kepada grup %3$s oleh %2$s",
"Shared via link by %2$s" : "Dibagikan via tautan oleh %2$s",
- "Shared by %2$s" : "Dibagikan oleh %2$s",
"Shared via public link" : "Dibagikan via tautan publik",
+ "Shared by %2$s" : "Dibagikan oleh %2$s",
"Shares" : "Dibagikan",
- "You received %2$s as a remote share from %1$s" : "Anda menerima %2$s sebagai berbagi remote dari %1$s",
"Accept" : "Terima",
"Decline" : "Tolak",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Dibagikan pada saya melalui #ownCloud Federated Cloud ID saya, lihat %s",
diff --git a/apps/files_sharing/l10n/it.js b/apps/files_sharing/l10n/it.js
index 39f7ced4bbd..93adc336604 100644
--- a/apps/files_sharing/l10n/it.js
+++ b/apps/files_sharing/l10n/it.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"Shared with you" : "Condivisi con te",
"Shared with others" : "Condivisi con altri",
"Shared by link" : "Condivisi tramite collegamento",
+ "Federated sharing" : "Condivisione federata",
"Nothing shared with you yet" : "Non è stato condiviso ancora niente con te",
"Files and folders others share with you will show up here" : "I file e le cartelle che altri condividono con te saranno mostrati qui",
"Nothing shared yet" : "Ancora nessuna condivisione",
@@ -38,22 +39,39 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "La cartella condivisa pubblicamente %1$s è stata scaricata",
"Public shared file %1$s was downloaded" : "Il file condiviso pubblicamente %1$s è stato scaricato",
"You shared %1$s with %2$s" : "Hai condiviso %1$s con %2$s",
- "You shared %1$s with group %2$s" : "Hai condiviso %1$s con il gruppo %2$s",
"%2$s shared %1$s with %3$s" : "%2$s ha condiviso %1$s con %3$s",
+ "You removed the share of %2$s for %1$s" : "Hai rimosso la condivisione di %2$s per %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s ha rimosso la condivisione di %3$s per %1$s",
+ "You shared %1$s with group %2$s" : "Hai condiviso %1$s con il gruppo %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s ha condiviso %1$s con il gruppo %3$s",
+ "You removed the share of group %2$s for %1$s" : "Hai rimosso la condivisione del gruppo %2$s per %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s ha rimosso la condivisione del gruppo %3$s per %1$s",
"%2$s shared %1$s via link" : "%2$s ha condiviso %1$s tramite collegamento",
- "%2$s shared %1$s with you" : "%2$s ha condiviso %1$s con te",
"You shared %1$s via link" : "Hai condiviso %1$s tramite collegamento",
+ "You removed the public link for %1$s" : "Hai rimosso il collegamento pubblico per %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s ha rimosso il collegamento pubblico per %1$s",
+ "Your public link for %1$s expired" : "il tuo collegamento pubblico per %1$s è scaduto",
+ "The public link of %2$s for %1$s expired" : "il collegamento pubblico di %2$s per %1$s è scaduto",
+ "%2$s shared %1$s with you" : "%2$s ha condiviso %1$s con te",
+ "%2$s removed the share for %1$s" : "%2$s ha rimosso la condivisione per %1$s",
"Downloaded via public link" : "Scaricata tramite collegamento pubblico",
"Shared with %2$s" : "Condivisa con %2$s",
- "Shared with group %2$s" : "Condivisa con il gruppo %2$s",
"Shared with %3$s by %2$s" : "Condivisa con %3$s da %2$s",
+ "Removed share for %2$s" : "Condivisione rimossa per %2$s",
+ "%2$s removed share for %3$s" : "%2$s ha rimosso la condivisione per %3$s",
+ "Shared with group %2$s" : "Condivisa con il gruppo %2$s",
"Shared with group %3$s by %2$s" : "Condivisa con il gruppo %3$s da %2$s",
+ "Removed share of group %2$s" : "Condivisione rimossa del gruppo %2$s",
+ "%2$s removed share of group %3$s" : "%2$s ha rimosso la condivisione del gruppo %3$s",
"Shared via link by %2$s" : "Condivisa tramite collegamento da %2$s",
- "Shared by %2$s" : "Condivisa da %2$s",
"Shared via public link" : "Condivisa tramite collegamento pubblico",
+ "Removed public link" : "Collegamento pubblico rimosso",
+ "%2$s removed public link" : "%2$s ha rimosso il collegamento pubblico",
+ "Public link expired" : "Collegamento pubblico scaduto",
+ "Public link of %2$s expired" : "il collegamento pubblico di %2$s è scaduto",
+ "Shared by %2$s" : "Condivisa da %2$s",
"Shares" : "Condivisioni",
- "You received %2$s as a remote share from %1$s" : "Hai ricevuto %2$s come condivisione remota da %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Hai ricevuto \"/%2$s\" come condivisione remota da %1$s",
"Accept" : "Accetta",
"Decline" : "Rifiuta",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Condividi con me attraverso il mio ID di cloud federata #ownCloud, vedi %s",
diff --git a/apps/files_sharing/l10n/it.json b/apps/files_sharing/l10n/it.json
index f40fbb4b232..d95f35be0a9 100644
--- a/apps/files_sharing/l10n/it.json
+++ b/apps/files_sharing/l10n/it.json
@@ -9,6 +9,7 @@
"Shared with you" : "Condivisi con te",
"Shared with others" : "Condivisi con altri",
"Shared by link" : "Condivisi tramite collegamento",
+ "Federated sharing" : "Condivisione federata",
"Nothing shared with you yet" : "Non è stato condiviso ancora niente con te",
"Files and folders others share with you will show up here" : "I file e le cartelle che altri condividono con te saranno mostrati qui",
"Nothing shared yet" : "Ancora nessuna condivisione",
@@ -36,22 +37,39 @@
"Public shared folder %1$s was downloaded" : "La cartella condivisa pubblicamente %1$s è stata scaricata",
"Public shared file %1$s was downloaded" : "Il file condiviso pubblicamente %1$s è stato scaricato",
"You shared %1$s with %2$s" : "Hai condiviso %1$s con %2$s",
- "You shared %1$s with group %2$s" : "Hai condiviso %1$s con il gruppo %2$s",
"%2$s shared %1$s with %3$s" : "%2$s ha condiviso %1$s con %3$s",
+ "You removed the share of %2$s for %1$s" : "Hai rimosso la condivisione di %2$s per %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s ha rimosso la condivisione di %3$s per %1$s",
+ "You shared %1$s with group %2$s" : "Hai condiviso %1$s con il gruppo %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s ha condiviso %1$s con il gruppo %3$s",
+ "You removed the share of group %2$s for %1$s" : "Hai rimosso la condivisione del gruppo %2$s per %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s ha rimosso la condivisione del gruppo %3$s per %1$s",
"%2$s shared %1$s via link" : "%2$s ha condiviso %1$s tramite collegamento",
- "%2$s shared %1$s with you" : "%2$s ha condiviso %1$s con te",
"You shared %1$s via link" : "Hai condiviso %1$s tramite collegamento",
+ "You removed the public link for %1$s" : "Hai rimosso il collegamento pubblico per %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s ha rimosso il collegamento pubblico per %1$s",
+ "Your public link for %1$s expired" : "il tuo collegamento pubblico per %1$s è scaduto",
+ "The public link of %2$s for %1$s expired" : "il collegamento pubblico di %2$s per %1$s è scaduto",
+ "%2$s shared %1$s with you" : "%2$s ha condiviso %1$s con te",
+ "%2$s removed the share for %1$s" : "%2$s ha rimosso la condivisione per %1$s",
"Downloaded via public link" : "Scaricata tramite collegamento pubblico",
"Shared with %2$s" : "Condivisa con %2$s",
- "Shared with group %2$s" : "Condivisa con il gruppo %2$s",
"Shared with %3$s by %2$s" : "Condivisa con %3$s da %2$s",
+ "Removed share for %2$s" : "Condivisione rimossa per %2$s",
+ "%2$s removed share for %3$s" : "%2$s ha rimosso la condivisione per %3$s",
+ "Shared with group %2$s" : "Condivisa con il gruppo %2$s",
"Shared with group %3$s by %2$s" : "Condivisa con il gruppo %3$s da %2$s",
+ "Removed share of group %2$s" : "Condivisione rimossa del gruppo %2$s",
+ "%2$s removed share of group %3$s" : "%2$s ha rimosso la condivisione del gruppo %3$s",
"Shared via link by %2$s" : "Condivisa tramite collegamento da %2$s",
- "Shared by %2$s" : "Condivisa da %2$s",
"Shared via public link" : "Condivisa tramite collegamento pubblico",
+ "Removed public link" : "Collegamento pubblico rimosso",
+ "%2$s removed public link" : "%2$s ha rimosso il collegamento pubblico",
+ "Public link expired" : "Collegamento pubblico scaduto",
+ "Public link of %2$s expired" : "il collegamento pubblico di %2$s è scaduto",
+ "Shared by %2$s" : "Condivisa da %2$s",
"Shares" : "Condivisioni",
- "You received %2$s as a remote share from %1$s" : "Hai ricevuto %2$s come condivisione remota da %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Hai ricevuto \"/%2$s\" come condivisione remota da %1$s",
"Accept" : "Accetta",
"Decline" : "Rifiuta",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Condividi con me attraverso il mio ID di cloud federata #ownCloud, vedi %s",
diff --git a/apps/files_sharing/l10n/ja.js b/apps/files_sharing/l10n/ja.js
index e3427ea1f7b..869c155e505 100644
--- a/apps/files_sharing/l10n/ja.js
+++ b/apps/files_sharing/l10n/ja.js
@@ -38,22 +38,31 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "公開共有フォルダー %1$s がダウンロードされました",
"Public shared file %1$s was downloaded" : "公開共有ファイル %1$s がダウンロードされました",
"You shared %1$s with %2$s" : "あなたは %1$s を %2$s と共有しました",
- "You shared %1$s with group %2$s" : "あなたは %1$s をグループ %2$s と共有しました",
"%2$s shared %1$s with %3$s" : "%2$s は %1$s を %3$s と共有しました",
+ "You removed the share of %2$s for %1$s" : "%1$sとの%2$sの共有を削除しました",
+ "%2$s removed the share of %3$s for %1$s" : "%2$sは%1$sとの%3$sの共有を削除しました",
+ "You shared %1$s with group %2$s" : "あなたは %1$s をグループ %2$s と共有しました",
"%2$s shared %1$s with group %3$s" : "%2$s は %1$s をグループ %3$s と共有しました",
+ "You removed the share of group %2$s for %1$s" : "%1$sとのグループ%2$sの共有を削除しました",
"%2$s shared %1$s via link" : "%2$s はリンク経由で %1$s を共有しました",
- "%2$s shared %1$s with you" : "%2$s は %1$s をあなたと共有しました",
"You shared %1$s via link" : "リンク経由で %1$s を共有しています",
+ "The public link of %2$s for %1$s expired" : "%1$sへの公開リンク%2$sの期限が切れました",
+ "%2$s shared %1$s with you" : "%2$s は %1$s をあなたと共有しました",
"Downloaded via public link" : "公開リンクからダウンロードしました",
"Shared with %2$s" : "%2$s と共有しました",
- "Shared with group %2$s" : "%2$s グループと共有しました",
"Shared with %3$s by %2$s" : "%3$s と %2$s で共有しました",
+ "Removed share for %2$s" : " %2$sとの共有を削除しました",
+ "Shared with group %2$s" : "%2$s グループと共有しました",
"Shared with group %3$s by %2$s" : "%3$s グループと %2$s で共有しました",
"Shared via link by %2$s" : "リンク経由で %2$s が共有しました",
- "Shared by %2$s" : "%2$s が共有",
"Shared via public link" : "公開リンク経由で共有中",
+ "Removed public link" : "公開リンクを削除",
+ "%2$s removed public link" : "%2$sは公開リンクを削除しました.",
+ "Public link expired" : "公開リンクの期限が切れています",
+ "Public link of %2$s expired" : "公開リンク%2$sの期限が切れています",
+ "Shared by %2$s" : "%2$s が共有",
"Shares" : "共有",
- "You received %2$s as a remote share from %1$s" : "%1$s からリモート共有として %2$s を受け取りました。",
+ "You received \"/%2$s\" as a remote share from %1$s" : "%1$s からリモート共有として \"/%2$s\" を受け取りました。",
"Accept" : "承諾",
"Decline" : "拒否《はてなキーワード》",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "#ownCloud の「クラウド連携ID」で私と共有できます。こちらを見てください。%s",
diff --git a/apps/files_sharing/l10n/ja.json b/apps/files_sharing/l10n/ja.json
index 9dc64e2b3ec..8b56548df02 100644
--- a/apps/files_sharing/l10n/ja.json
+++ b/apps/files_sharing/l10n/ja.json
@@ -36,22 +36,31 @@
"Public shared folder %1$s was downloaded" : "公開共有フォルダー %1$s がダウンロードされました",
"Public shared file %1$s was downloaded" : "公開共有ファイル %1$s がダウンロードされました",
"You shared %1$s with %2$s" : "あなたは %1$s を %2$s と共有しました",
- "You shared %1$s with group %2$s" : "あなたは %1$s をグループ %2$s と共有しました",
"%2$s shared %1$s with %3$s" : "%2$s は %1$s を %3$s と共有しました",
+ "You removed the share of %2$s for %1$s" : "%1$sとの%2$sの共有を削除しました",
+ "%2$s removed the share of %3$s for %1$s" : "%2$sは%1$sとの%3$sの共有を削除しました",
+ "You shared %1$s with group %2$s" : "あなたは %1$s をグループ %2$s と共有しました",
"%2$s shared %1$s with group %3$s" : "%2$s は %1$s をグループ %3$s と共有しました",
+ "You removed the share of group %2$s for %1$s" : "%1$sとのグループ%2$sの共有を削除しました",
"%2$s shared %1$s via link" : "%2$s はリンク経由で %1$s を共有しました",
- "%2$s shared %1$s with you" : "%2$s は %1$s をあなたと共有しました",
"You shared %1$s via link" : "リンク経由で %1$s を共有しています",
+ "The public link of %2$s for %1$s expired" : "%1$sへの公開リンク%2$sの期限が切れました",
+ "%2$s shared %1$s with you" : "%2$s は %1$s をあなたと共有しました",
"Downloaded via public link" : "公開リンクからダウンロードしました",
"Shared with %2$s" : "%2$s と共有しました",
- "Shared with group %2$s" : "%2$s グループと共有しました",
"Shared with %3$s by %2$s" : "%3$s と %2$s で共有しました",
+ "Removed share for %2$s" : " %2$sとの共有を削除しました",
+ "Shared with group %2$s" : "%2$s グループと共有しました",
"Shared with group %3$s by %2$s" : "%3$s グループと %2$s で共有しました",
"Shared via link by %2$s" : "リンク経由で %2$s が共有しました",
- "Shared by %2$s" : "%2$s が共有",
"Shared via public link" : "公開リンク経由で共有中",
+ "Removed public link" : "公開リンクを削除",
+ "%2$s removed public link" : "%2$sは公開リンクを削除しました.",
+ "Public link expired" : "公開リンクの期限が切れています",
+ "Public link of %2$s expired" : "公開リンク%2$sの期限が切れています",
+ "Shared by %2$s" : "%2$s が共有",
"Shares" : "共有",
- "You received %2$s as a remote share from %1$s" : "%1$s からリモート共有として %2$s を受け取りました。",
+ "You received \"/%2$s\" as a remote share from %1$s" : "%1$s からリモート共有として \"/%2$s\" を受け取りました。",
"Accept" : "承諾",
"Decline" : "拒否《はてなキーワード》",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "#ownCloud の「クラウド連携ID」で私と共有できます。こちらを見てください。%s",
diff --git a/apps/files_sharing/l10n/km.js b/apps/files_sharing/l10n/km.js
index a6066a3a596..d9bcc23c21d 100644
--- a/apps/files_sharing/l10n/km.js
+++ b/apps/files_sharing/l10n/km.js
@@ -7,8 +7,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "<strong>បាន​ចែករំលែក</strong> ឯកសារ​ឬ​ថត",
"You shared %1$s with %2$s" : "អ្នក​បាន​ចែករំលែក %1$s ជាមួយ %2$s",
"You shared %1$s with group %2$s" : "អ្នក​បាន​ចែករំលែក %1$s ជាមួយ​ក្រុម %2$s",
- "%2$s shared %1$s with you" : "%2$s បាន​ចែករំលែក %1$s ជាមួយ​អ្នក",
"You shared %1$s via link" : "អ្នក​បាន​ចែក​រំលែក %1$s តាម​រយៈ​តំណរភ្ជាប់",
+ "%2$s shared %1$s with you" : "%2$s បាន​ចែករំលែក %1$s ជាមួយ​អ្នក",
"Shares" : "ចែក​រំលែក",
"This share is password-protected" : "ការ​ចែករំលែក​នេះ​ត្រូវ​បាន​ការពារ​ដោយ​ពាក្យ​សម្ងាត់",
"The password is wrong. Try again." : "ពាក្យ​សម្ងាត់​ខុស​ហើយ។ ព្យាយាម​ម្ដង​ទៀត។",
diff --git a/apps/files_sharing/l10n/km.json b/apps/files_sharing/l10n/km.json
index a1c84079d73..319203ef946 100644
--- a/apps/files_sharing/l10n/km.json
+++ b/apps/files_sharing/l10n/km.json
@@ -5,8 +5,8 @@
"A file or folder has been <strong>shared</strong>" : "<strong>បាន​ចែករំលែក</strong> ឯកសារ​ឬ​ថត",
"You shared %1$s with %2$s" : "អ្នក​បាន​ចែករំលែក %1$s ជាមួយ %2$s",
"You shared %1$s with group %2$s" : "អ្នក​បាន​ចែករំលែក %1$s ជាមួយ​ក្រុម %2$s",
- "%2$s shared %1$s with you" : "%2$s បាន​ចែករំលែក %1$s ជាមួយ​អ្នក",
"You shared %1$s via link" : "អ្នក​បាន​ចែក​រំលែក %1$s តាម​រយៈ​តំណរភ្ជាប់",
+ "%2$s shared %1$s with you" : "%2$s បាន​ចែករំលែក %1$s ជាមួយ​អ្នក",
"Shares" : "ចែក​រំលែក",
"This share is password-protected" : "ការ​ចែករំលែក​នេះ​ត្រូវ​បាន​ការពារ​ដោយ​ពាក្យ​សម្ងាត់",
"The password is wrong. Try again." : "ពាក្យ​សម្ងាត់​ខុស​ហើយ។ ព្យាយាម​ម្ដង​ទៀត។",
diff --git a/apps/files_sharing/l10n/ko.js b/apps/files_sharing/l10n/ko.js
index 19eea24e97c..99cdb6bda86 100644
--- a/apps/files_sharing/l10n/ko.js
+++ b/apps/files_sharing/l10n/ko.js
@@ -37,22 +37,21 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "공개 공유 폴더 %1$s이(가) 다운로드됨",
"Public shared file %1$s was downloaded" : "공개 공유 파일 %1$s이(가) 다운로드됨",
"You shared %1$s with %2$s" : "내가 %2$s 님과 %1$s을(를) 공유함",
- "You shared %1$s with group %2$s" : "내가 %2$s 그룹과 %1$s을(를) 공유함",
"%2$s shared %1$s with %3$s" : "%2$s 님이 %1$s을(를) %3$s 님과 공유함",
+ "You shared %1$s with group %2$s" : "내가 %2$s 그룹과 %1$s을(를) 공유함",
"%2$s shared %1$s with group %3$s" : "%2$s 님이 %1$s을(를) %3$s 그룹과 공유함",
"%2$s shared %1$s via link" : "%2$s 님이 %1$s을(를) 링크로 공유함",
- "%2$s shared %1$s with you" : "%2$s 님이 내게 %1$s을(를) 공유함",
"You shared %1$s via link" : "내가 %1$s을(를) 링크로 공유함",
+ "%2$s shared %1$s with you" : "%2$s 님이 내게 %1$s을(를) 공유함",
"Downloaded via public link" : "공개 링크로 다운로드",
"Shared with %2$s" : "%2$s 님과 공유함",
- "Shared with group %2$s" : "%2$s 그룹과 공유함",
"Shared with %3$s by %2$s" : "%2$s 님이 %3$s 님과 공유함",
+ "Shared with group %2$s" : "%2$s 그룹과 공유함",
"Shared with group %3$s by %2$s" : "%2$s 님이 %3$s 그룹과 공유함",
"Shared via link by %2$s" : "%2$s 님이 링크로 공유함",
- "Shared by %2$s" : "%2$s 님이 공유함",
"Shared via public link" : "공개 링크로 공유함",
+ "Shared by %2$s" : "%2$s 님이 공유함",
"Shares" : "공유",
- "You received %2$s as a remote share from %1$s" : "%1$s의 원격 공유로 %2$s을(를) 받았습니다",
"Accept" : "수락",
"Decline" : "거절",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "내 #ownCloud 연합 클라우드 ID를 통해서 공유됨, 더 알아보기: %s",
diff --git a/apps/files_sharing/l10n/ko.json b/apps/files_sharing/l10n/ko.json
index dd7e398c15c..ad944c69215 100644
--- a/apps/files_sharing/l10n/ko.json
+++ b/apps/files_sharing/l10n/ko.json
@@ -35,22 +35,21 @@
"Public shared folder %1$s was downloaded" : "공개 공유 폴더 %1$s이(가) 다운로드됨",
"Public shared file %1$s was downloaded" : "공개 공유 파일 %1$s이(가) 다운로드됨",
"You shared %1$s with %2$s" : "내가 %2$s 님과 %1$s을(를) 공유함",
- "You shared %1$s with group %2$s" : "내가 %2$s 그룹과 %1$s을(를) 공유함",
"%2$s shared %1$s with %3$s" : "%2$s 님이 %1$s을(를) %3$s 님과 공유함",
+ "You shared %1$s with group %2$s" : "내가 %2$s 그룹과 %1$s을(를) 공유함",
"%2$s shared %1$s with group %3$s" : "%2$s 님이 %1$s을(를) %3$s 그룹과 공유함",
"%2$s shared %1$s via link" : "%2$s 님이 %1$s을(를) 링크로 공유함",
- "%2$s shared %1$s with you" : "%2$s 님이 내게 %1$s을(를) 공유함",
"You shared %1$s via link" : "내가 %1$s을(를) 링크로 공유함",
+ "%2$s shared %1$s with you" : "%2$s 님이 내게 %1$s을(를) 공유함",
"Downloaded via public link" : "공개 링크로 다운로드",
"Shared with %2$s" : "%2$s 님과 공유함",
- "Shared with group %2$s" : "%2$s 그룹과 공유함",
"Shared with %3$s by %2$s" : "%2$s 님이 %3$s 님과 공유함",
+ "Shared with group %2$s" : "%2$s 그룹과 공유함",
"Shared with group %3$s by %2$s" : "%2$s 님이 %3$s 그룹과 공유함",
"Shared via link by %2$s" : "%2$s 님이 링크로 공유함",
- "Shared by %2$s" : "%2$s 님이 공유함",
"Shared via public link" : "공개 링크로 공유함",
+ "Shared by %2$s" : "%2$s 님이 공유함",
"Shares" : "공유",
- "You received %2$s as a remote share from %1$s" : "%1$s의 원격 공유로 %2$s을(를) 받았습니다",
"Accept" : "수락",
"Decline" : "거절",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "내 #ownCloud 연합 클라우드 ID를 통해서 공유됨, 더 알아보기: %s",
diff --git a/apps/files_sharing/l10n/lt_LT.js b/apps/files_sharing/l10n/lt_LT.js
index 517cc0915be..8aa1be493b9 100644
--- a/apps/files_sharing/l10n/lt_LT.js
+++ b/apps/files_sharing/l10n/lt_LT.js
@@ -38,22 +38,21 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Viešas dalijimosi aplankas %1$s parsiųstas",
"Public shared file %1$s was downloaded" : "Viešai dalinamas failas %1$s parsiųstas",
"You shared %1$s with %2$s" : "Jūs pasidalinote %1$s su %2$s",
- "You shared %1$s with group %2$s" : "Jūs pasidalinote %1$s su grupe %2$s",
"%2$s shared %1$s with %3$s" : "%2$s pasidalino %1$s su %3$s",
+ "You shared %1$s with group %2$s" : "Jūs pasidalinote %1$s su grupe %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s pasidalino %1$s su grupe %3$s",
"%2$s shared %1$s via link" : "%2$s pasidalino %1$s nuoroda",
- "%2$s shared %1$s with you" : "%2$s pasidalino %1$s su jumis",
"You shared %1$s via link" : "Pasidalinote %1$s per nuorodą",
+ "%2$s shared %1$s with you" : "%2$s pasidalino %1$s su jumis",
"Downloaded via public link" : "Atsiųsti per viešą nuorodą",
"Shared with %2$s" : "Pasidalinta su %2$s",
- "Shared with group %2$s" : "Pasidalinta su grupe %2$s",
"Shared with %3$s by %2$s" : "%2$s pasidalino %3$s",
+ "Shared with group %2$s" : "Pasidalinta su grupe %2$s",
"Shared with group %3$s by %2$s" : "%2$s pasidalino su grupe %3$s",
"Shared via link by %2$s" : "%2$s pasidalino nuoroda",
- "Shared by %2$s" : "Pasidalino %2$s",
"Shared via public link" : "Pasidalinta vieša nuoroda",
+ "Shared by %2$s" : "Pasidalino %2$s",
"Shares" : "Dalijimaisi",
- "You received %2$s as a remote share from %1$s" : "Gavai dalijimąsi %2$s nuo %1$s",
"Accept" : "Priimti",
"Decline" : "Atmesti",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Pasidalink su manimi per #ownCloud padebesius, plačiau %s",
diff --git a/apps/files_sharing/l10n/lt_LT.json b/apps/files_sharing/l10n/lt_LT.json
index 923971c336b..ef139068832 100644
--- a/apps/files_sharing/l10n/lt_LT.json
+++ b/apps/files_sharing/l10n/lt_LT.json
@@ -36,22 +36,21 @@
"Public shared folder %1$s was downloaded" : "Viešas dalijimosi aplankas %1$s parsiųstas",
"Public shared file %1$s was downloaded" : "Viešai dalinamas failas %1$s parsiųstas",
"You shared %1$s with %2$s" : "Jūs pasidalinote %1$s su %2$s",
- "You shared %1$s with group %2$s" : "Jūs pasidalinote %1$s su grupe %2$s",
"%2$s shared %1$s with %3$s" : "%2$s pasidalino %1$s su %3$s",
+ "You shared %1$s with group %2$s" : "Jūs pasidalinote %1$s su grupe %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s pasidalino %1$s su grupe %3$s",
"%2$s shared %1$s via link" : "%2$s pasidalino %1$s nuoroda",
- "%2$s shared %1$s with you" : "%2$s pasidalino %1$s su jumis",
"You shared %1$s via link" : "Pasidalinote %1$s per nuorodą",
+ "%2$s shared %1$s with you" : "%2$s pasidalino %1$s su jumis",
"Downloaded via public link" : "Atsiųsti per viešą nuorodą",
"Shared with %2$s" : "Pasidalinta su %2$s",
- "Shared with group %2$s" : "Pasidalinta su grupe %2$s",
"Shared with %3$s by %2$s" : "%2$s pasidalino %3$s",
+ "Shared with group %2$s" : "Pasidalinta su grupe %2$s",
"Shared with group %3$s by %2$s" : "%2$s pasidalino su grupe %3$s",
"Shared via link by %2$s" : "%2$s pasidalino nuoroda",
- "Shared by %2$s" : "Pasidalino %2$s",
"Shared via public link" : "Pasidalinta vieša nuoroda",
+ "Shared by %2$s" : "Pasidalino %2$s",
"Shares" : "Dalijimaisi",
- "You received %2$s as a remote share from %1$s" : "Gavai dalijimąsi %2$s nuo %1$s",
"Accept" : "Priimti",
"Decline" : "Atmesti",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Pasidalink su manimi per #ownCloud padebesius, plačiau %s",
diff --git a/apps/files_sharing/l10n/lv.js b/apps/files_sharing/l10n/lv.js
index f59a8d0b395..a27ea0de207 100644
--- a/apps/files_sharing/l10n/lv.js
+++ b/apps/files_sharing/l10n/lv.js
@@ -36,8 +36,8 @@ OC.L10N.register(
"Public shared file %1$s was downloaded" : "Publiski koplietots fails %1$s tika lejupielādēts",
"You shared %1$s with %2$s" : "Tu koplietoji %1$s ar %2$s",
"You shared %1$s with group %2$s" : "Tu koplietoji %1$s ar grupu %2$s",
- "%2$s shared %1$s with you" : "%2$s koplietoja %1$s ar tevi",
"You shared %1$s via link" : "Tu koplietoji %1$s , izmantojot saiti",
+ "%2$s shared %1$s with you" : "%2$s koplietoja %1$s ar tevi",
"Shares" : "Koplietotie",
"This share is password-protected" : "Šī koplietotne ir aizsargāta ar paroli",
"The password is wrong. Try again." : "Nepareiza parole. Mēģiniet vēlreiz.",
diff --git a/apps/files_sharing/l10n/lv.json b/apps/files_sharing/l10n/lv.json
index 7c7e43cce4b..45868381304 100644
--- a/apps/files_sharing/l10n/lv.json
+++ b/apps/files_sharing/l10n/lv.json
@@ -34,8 +34,8 @@
"Public shared file %1$s was downloaded" : "Publiski koplietots fails %1$s tika lejupielādēts",
"You shared %1$s with %2$s" : "Tu koplietoji %1$s ar %2$s",
"You shared %1$s with group %2$s" : "Tu koplietoji %1$s ar grupu %2$s",
- "%2$s shared %1$s with you" : "%2$s koplietoja %1$s ar tevi",
"You shared %1$s via link" : "Tu koplietoji %1$s , izmantojot saiti",
+ "%2$s shared %1$s with you" : "%2$s koplietoja %1$s ar tevi",
"Shares" : "Koplietotie",
"This share is password-protected" : "Šī koplietotne ir aizsargāta ar paroli",
"The password is wrong. Try again." : "Nepareiza parole. Mēģiniet vēlreiz.",
diff --git a/apps/files_sharing/l10n/mk.js b/apps/files_sharing/l10n/mk.js
index 5be22894b99..e628c96125b 100644
--- a/apps/files_sharing/l10n/mk.js
+++ b/apps/files_sharing/l10n/mk.js
@@ -26,12 +26,12 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s споделено %1$s со вас",
"Downloaded via public link" : "Преземи преку јавен линк",
"Shared with %2$s" : "Споделено со %2$s",
- "Shared with group %2$s" : "Споделено со група %2$s",
"Shared with %3$s by %2$s" : "Споделено со %3$s од %2$s",
+ "Shared with group %2$s" : "Споделено со група %2$s",
"Shared with group %3$s by %2$s" : "Споделено со група %3$s од %2$s",
"Shared via link by %2$s" : "Споделено со врска/линк од %2$s",
- "Shared by %2$s" : "Споделено од %2$s",
"Shared via public link" : "Споделено со јавна врска/линк",
+ "Shared by %2$s" : "Споделено од %2$s",
"Shares" : "Споделувања",
"Accept" : "Прифати",
"Decline" : "Одбиј",
diff --git a/apps/files_sharing/l10n/mk.json b/apps/files_sharing/l10n/mk.json
index 40bcf9f8bde..33358b782b7 100644
--- a/apps/files_sharing/l10n/mk.json
+++ b/apps/files_sharing/l10n/mk.json
@@ -24,12 +24,12 @@
"%2$s shared %1$s with you" : "%2$s споделено %1$s со вас",
"Downloaded via public link" : "Преземи преку јавен линк",
"Shared with %2$s" : "Споделено со %2$s",
- "Shared with group %2$s" : "Споделено со група %2$s",
"Shared with %3$s by %2$s" : "Споделено со %3$s од %2$s",
+ "Shared with group %2$s" : "Споделено со група %2$s",
"Shared with group %3$s by %2$s" : "Споделено со група %3$s од %2$s",
"Shared via link by %2$s" : "Споделено со врска/линк од %2$s",
- "Shared by %2$s" : "Споделено од %2$s",
"Shared via public link" : "Споделено со јавна врска/линк",
+ "Shared by %2$s" : "Споделено од %2$s",
"Shares" : "Споделувања",
"Accept" : "Прифати",
"Decline" : "Одбиј",
diff --git a/apps/files_sharing/l10n/ml_IN.js b/apps/files_sharing/l10n/ml_IN.js
index 56904b38ec2..04675764bf6 100644
--- a/apps/files_sharing/l10n/ml_IN.js
+++ b/apps/files_sharing/l10n/ml_IN.js
@@ -4,8 +4,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "ഒരു ഫയലോ അറയോ <strong>പങ്കിട്ടിരിക്കുന്നു</strong>",
"You shared %1$s with %2$s" : "നിങ്ങൾ %1$s %2$sനു പങ്കുവെച്ചു",
"You shared %1$s with group %2$s" : "നിങ്ങൾ %1$s %2$s കൂട്ടത്തിന് പങ്കുവെച്ചു",
- "%2$s shared %1$s with you" : "%2$s %1$s നിങ്ങൾക്ക് പങ്കുവെച്ചു",
"You shared %1$s via link" : "താങ്കൾ %1$s ലിങ്കിലൂടെ പങ്കുവെച്ചിരിക്കുന്നു",
+ "%2$s shared %1$s with you" : "%2$s %1$s നിങ്ങൾക്ക് പങ്കുവെച്ചു",
"Shares" : "പങ്കിടലുകൾ"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/ml_IN.json b/apps/files_sharing/l10n/ml_IN.json
index 05ff39a1479..93d8c0f5e46 100644
--- a/apps/files_sharing/l10n/ml_IN.json
+++ b/apps/files_sharing/l10n/ml_IN.json
@@ -2,8 +2,8 @@
"A file or folder has been <strong>shared</strong>" : "ഒരു ഫയലോ അറയോ <strong>പങ്കിട്ടിരിക്കുന്നു</strong>",
"You shared %1$s with %2$s" : "നിങ്ങൾ %1$s %2$sനു പങ്കുവെച്ചു",
"You shared %1$s with group %2$s" : "നിങ്ങൾ %1$s %2$s കൂട്ടത്തിന് പങ്കുവെച്ചു",
- "%2$s shared %1$s with you" : "%2$s %1$s നിങ്ങൾക്ക് പങ്കുവെച്ചു",
"You shared %1$s via link" : "താങ്കൾ %1$s ലിങ്കിലൂടെ പങ്കുവെച്ചിരിക്കുന്നു",
+ "%2$s shared %1$s with you" : "%2$s %1$s നിങ്ങൾക്ക് പങ്കുവെച്ചു",
"Shares" : "പങ്കിടലുകൾ"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/mn.js b/apps/files_sharing/l10n/mn.js
index 49251482ada..15fb0cabe5f 100644
--- a/apps/files_sharing/l10n/mn.js
+++ b/apps/files_sharing/l10n/mn.js
@@ -5,8 +5,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "Файл эсвэл хавтас амжилттай <strong>түгээгдлээ</strong>",
"You shared %1$s with %2$s" : "Та %1$s-ийг %2$s руу түгээлээ",
"You shared %1$s with group %2$s" : "Та %1$s-ийг %2$s групп руу түгээлээ",
- "%2$s shared %1$s with you" : "%2$s %1$s-ийг тань руу түгээлээ",
"You shared %1$s via link" : "Та %1$s-ийг холбоосоор түгээлээ",
+ "%2$s shared %1$s with you" : "%2$s %1$s-ийг тань руу түгээлээ",
"Shares" : "Түгээлтүүд",
"Password" : "Нууц үг"
},
diff --git a/apps/files_sharing/l10n/mn.json b/apps/files_sharing/l10n/mn.json
index f727c47a008..3fd64731e5a 100644
--- a/apps/files_sharing/l10n/mn.json
+++ b/apps/files_sharing/l10n/mn.json
@@ -3,8 +3,8 @@
"A file or folder has been <strong>shared</strong>" : "Файл эсвэл хавтас амжилттай <strong>түгээгдлээ</strong>",
"You shared %1$s with %2$s" : "Та %1$s-ийг %2$s руу түгээлээ",
"You shared %1$s with group %2$s" : "Та %1$s-ийг %2$s групп руу түгээлээ",
- "%2$s shared %1$s with you" : "%2$s %1$s-ийг тань руу түгээлээ",
"You shared %1$s via link" : "Та %1$s-ийг холбоосоор түгээлээ",
+ "%2$s shared %1$s with you" : "%2$s %1$s-ийг тань руу түгээлээ",
"Shares" : "Түгээлтүүд",
"Password" : "Нууц үг"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_sharing/l10n/ms_MY.js b/apps/files_sharing/l10n/ms_MY.js
index 0b540000375..43c01b830e0 100644
--- a/apps/files_sharing/l10n/ms_MY.js
+++ b/apps/files_sharing/l10n/ms_MY.js
@@ -3,8 +3,8 @@ OC.L10N.register(
{
"Cancel" : "Batal",
"Shared by" : "Dikongsi dengan",
- "%2$s shared %1$s with you" : "%2$s berkongsi %1$s dengan anda",
"You shared %1$s via link" : "Anda kongsikan %1$s melalui sambungan",
+ "%2$s shared %1$s with you" : "%2$s berkongsi %1$s dengan anda",
"Shares" : "Kongsi",
"Password" : "Kata laluan",
"Name" : "Nama",
diff --git a/apps/files_sharing/l10n/ms_MY.json b/apps/files_sharing/l10n/ms_MY.json
index 8897e9e101a..333999e133b 100644
--- a/apps/files_sharing/l10n/ms_MY.json
+++ b/apps/files_sharing/l10n/ms_MY.json
@@ -1,8 +1,8 @@
{ "translations": {
"Cancel" : "Batal",
"Shared by" : "Dikongsi dengan",
- "%2$s shared %1$s with you" : "%2$s berkongsi %1$s dengan anda",
"You shared %1$s via link" : "Anda kongsikan %1$s melalui sambungan",
+ "%2$s shared %1$s with you" : "%2$s berkongsi %1$s dengan anda",
"Shares" : "Kongsi",
"Password" : "Kata laluan",
"Name" : "Nama",
diff --git a/apps/files_sharing/l10n/nb_NO.js b/apps/files_sharing/l10n/nb_NO.js
index bb6cd2e08c1..7c1d4714bcb 100644
--- a/apps/files_sharing/l10n/nb_NO.js
+++ b/apps/files_sharing/l10n/nb_NO.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"Shared with you" : "Delt med deg",
"Shared with others" : "Delt med andre",
"Shared by link" : "Delt med lenke",
+ "Federated sharing" : "Sammenknyttet deling",
"Nothing shared with you yet" : "Ingenting er delt med deg ennå",
"Files and folders others share with you will show up here" : "Filer og mapper som andre deler med deg vil bli vist her",
"Nothing shared yet" : "Ingenting er delt ennå",
@@ -38,22 +39,39 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Offentlig delt mappe %1$s ble lastet ned",
"Public shared file %1$s was downloaded" : "Offentlig delt fil %1$s ble lastet ned",
"You shared %1$s with %2$s" : "Du delte %1$s med %2$s",
- "You shared %1$s with group %2$s" : "Du delte %1$s med gruppe %2$s",
"%2$s shared %1$s with %3$s" : "%2$s delte %1$s med %3$s",
+ "You removed the share of %2$s for %1$s" : "Du fjernet deling av %2$s for %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s fjernet deling av %3$s for %1$s",
+ "You shared %1$s with group %2$s" : "Du delte %1$s med gruppe %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s delte %1$s med gruppe %3$s",
+ "You removed the share of group %2$s for %1$s" : "Du fjernet deling av gruppe %2$s for %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s fjernet deling av gruppe %3$s for %1$s",
"%2$s shared %1$s via link" : "%2$s delte %1$s via lenke",
- "%2$s shared %1$s with you" : "%2$s delte %1$s med deg",
"You shared %1$s via link" : "Du delte %1$s via lenke",
+ "You removed the public link for %1$s" : "Du fjernet den offentlige lenken for %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s fjernet den offentlige lenken for %1$s",
+ "Your public link for %1$s expired" : "Din offentlige lenke for %1$s er utløpt",
+ "The public link of %2$s for %1$s expired" : "Den offentlige lenken til %2$s for %1$s er utløpt",
+ "%2$s shared %1$s with you" : "%2$s delte %1$s med deg",
+ "%2$s removed the share for %1$s" : "%2$s fjernet delingen for %1$s",
"Downloaded via public link" : "Nedlastet via offentlig lenke",
"Shared with %2$s" : "Delt med %2$s",
- "Shared with group %2$s" : "Delt med gruppe %2$s",
"Shared with %3$s by %2$s" : "Delt med %3$s av %2$s",
+ "Removed share for %2$s" : "Fjernet deling for %2$s",
+ "%2$s removed share for %3$s" : "%2$s fjernet deling for %3$s",
+ "Shared with group %2$s" : "Delt med gruppe %2$s",
"Shared with group %3$s by %2$s" : "Delt med gruppe %3$s av %2$s",
+ "Removed share of group %2$s" : "Fjernet deling av gruppe %2$s",
+ "%2$s removed share of group %3$s" : "%2$s fjernet deling av gruppe %3$s",
"Shared via link by %2$s" : "Delt via lenke av %2$s",
- "Shared by %2$s" : "Delt av %2$s",
"Shared via public link" : "Delt via offentlig lenke",
+ "Removed public link" : "Fjernet offentlig lenke",
+ "%2$s removed public link" : "%2$s fjernet offentlig lenke",
+ "Public link expired" : "Offentlig lenke er utløpt",
+ "Public link of %2$s expired" : "Offentlig lenke til %2$s er utløpt",
+ "Shared by %2$s" : "Delt av %2$s",
"Shares" : "Delinger",
- "You received %2$s as a remote share from %1$s" : "Du mottok %2$s som en ekstern deling fra %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Du mottok \"/%2$s\" som en ekstern deling fra %1$s",
"Accept" : "Aksepter",
"Decline" : "Avslå",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Del med meg gjennom min #ownCloud ID for sammenknyttet sky, se %s",
diff --git a/apps/files_sharing/l10n/nb_NO.json b/apps/files_sharing/l10n/nb_NO.json
index 5a4852691e2..0d99939ace9 100644
--- a/apps/files_sharing/l10n/nb_NO.json
+++ b/apps/files_sharing/l10n/nb_NO.json
@@ -9,6 +9,7 @@
"Shared with you" : "Delt med deg",
"Shared with others" : "Delt med andre",
"Shared by link" : "Delt med lenke",
+ "Federated sharing" : "Sammenknyttet deling",
"Nothing shared with you yet" : "Ingenting er delt med deg ennå",
"Files and folders others share with you will show up here" : "Filer og mapper som andre deler med deg vil bli vist her",
"Nothing shared yet" : "Ingenting er delt ennå",
@@ -36,22 +37,39 @@
"Public shared folder %1$s was downloaded" : "Offentlig delt mappe %1$s ble lastet ned",
"Public shared file %1$s was downloaded" : "Offentlig delt fil %1$s ble lastet ned",
"You shared %1$s with %2$s" : "Du delte %1$s med %2$s",
- "You shared %1$s with group %2$s" : "Du delte %1$s med gruppe %2$s",
"%2$s shared %1$s with %3$s" : "%2$s delte %1$s med %3$s",
+ "You removed the share of %2$s for %1$s" : "Du fjernet deling av %2$s for %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s fjernet deling av %3$s for %1$s",
+ "You shared %1$s with group %2$s" : "Du delte %1$s med gruppe %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s delte %1$s med gruppe %3$s",
+ "You removed the share of group %2$s for %1$s" : "Du fjernet deling av gruppe %2$s for %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s fjernet deling av gruppe %3$s for %1$s",
"%2$s shared %1$s via link" : "%2$s delte %1$s via lenke",
- "%2$s shared %1$s with you" : "%2$s delte %1$s med deg",
"You shared %1$s via link" : "Du delte %1$s via lenke",
+ "You removed the public link for %1$s" : "Du fjernet den offentlige lenken for %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s fjernet den offentlige lenken for %1$s",
+ "Your public link for %1$s expired" : "Din offentlige lenke for %1$s er utløpt",
+ "The public link of %2$s for %1$s expired" : "Den offentlige lenken til %2$s for %1$s er utløpt",
+ "%2$s shared %1$s with you" : "%2$s delte %1$s med deg",
+ "%2$s removed the share for %1$s" : "%2$s fjernet delingen for %1$s",
"Downloaded via public link" : "Nedlastet via offentlig lenke",
"Shared with %2$s" : "Delt med %2$s",
- "Shared with group %2$s" : "Delt med gruppe %2$s",
"Shared with %3$s by %2$s" : "Delt med %3$s av %2$s",
+ "Removed share for %2$s" : "Fjernet deling for %2$s",
+ "%2$s removed share for %3$s" : "%2$s fjernet deling for %3$s",
+ "Shared with group %2$s" : "Delt med gruppe %2$s",
"Shared with group %3$s by %2$s" : "Delt med gruppe %3$s av %2$s",
+ "Removed share of group %2$s" : "Fjernet deling av gruppe %2$s",
+ "%2$s removed share of group %3$s" : "%2$s fjernet deling av gruppe %3$s",
"Shared via link by %2$s" : "Delt via lenke av %2$s",
- "Shared by %2$s" : "Delt av %2$s",
"Shared via public link" : "Delt via offentlig lenke",
+ "Removed public link" : "Fjernet offentlig lenke",
+ "%2$s removed public link" : "%2$s fjernet offentlig lenke",
+ "Public link expired" : "Offentlig lenke er utløpt",
+ "Public link of %2$s expired" : "Offentlig lenke til %2$s er utløpt",
+ "Shared by %2$s" : "Delt av %2$s",
"Shares" : "Delinger",
- "You received %2$s as a remote share from %1$s" : "Du mottok %2$s som en ekstern deling fra %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Du mottok \"/%2$s\" som en ekstern deling fra %1$s",
"Accept" : "Aksepter",
"Decline" : "Avslå",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Del med meg gjennom min #ownCloud ID for sammenknyttet sky, se %s",
diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js
index 523213f6d9b..79938b02c1c 100644
--- a/apps/files_sharing/l10n/nl.js
+++ b/apps/files_sharing/l10n/nl.js
@@ -38,22 +38,21 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Openbaar gedeelde map %1$s werd gedownloaded",
"Public shared file %1$s was downloaded" : "Openbaar gedeeld bestand %1$s werd gedownloaded",
"You shared %1$s with %2$s" : "U deelde %1$s met %2$s",
- "You shared %1$s with group %2$s" : "U deelde %1$s met groep %2$s",
"%2$s shared %1$s with %3$s" : "%2$s deelde %1$s met %3$s",
+ "You shared %1$s with group %2$s" : "U deelde %1$s met groep %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s deelde %1$s met groep %3$s",
"%2$s shared %1$s via link" : "%2$s deelde %1$s via link",
- "%2$s shared %1$s with you" : "%2$s deelde %1$s met u",
"You shared %1$s via link" : "U deelde %1$s via link",
+ "%2$s shared %1$s with you" : "%2$s deelde %1$s met u",
"Downloaded via public link" : "Gedownload via een openbare link",
"Shared with %2$s" : "Gedeeld met %2$s",
- "Shared with group %2$s" : "Gedeeld met groep %2$s",
"Shared with %3$s by %2$s" : "Gedeeld met %3$s door %2$s",
+ "Shared with group %2$s" : "Gedeeld met groep %2$s",
"Shared with group %3$s by %2$s" : "Gedeeld met groep %3$s door %2$s",
"Shared via link by %2$s" : "Gedeeld via link door %2$s",
- "Shared by %2$s" : "Gedeeld door %2$s",
"Shared via public link" : "Gedeeld via een openbare link",
+ "Shared by %2$s" : "Gedeeld door %2$s",
"Shares" : "Gedeeld",
- "You received %2$s as a remote share from %1$s" : "U ontving %2$s als een externe share van %1$s",
"Accept" : "Accepteren",
"Decline" : "Afwijzen",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Deel met mij via mijn #ownCloud federated Cloud ID, zie %s",
diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json
index e6501e874ea..78aca262e78 100644
--- a/apps/files_sharing/l10n/nl.json
+++ b/apps/files_sharing/l10n/nl.json
@@ -36,22 +36,21 @@
"Public shared folder %1$s was downloaded" : "Openbaar gedeelde map %1$s werd gedownloaded",
"Public shared file %1$s was downloaded" : "Openbaar gedeeld bestand %1$s werd gedownloaded",
"You shared %1$s with %2$s" : "U deelde %1$s met %2$s",
- "You shared %1$s with group %2$s" : "U deelde %1$s met groep %2$s",
"%2$s shared %1$s with %3$s" : "%2$s deelde %1$s met %3$s",
+ "You shared %1$s with group %2$s" : "U deelde %1$s met groep %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s deelde %1$s met groep %3$s",
"%2$s shared %1$s via link" : "%2$s deelde %1$s via link",
- "%2$s shared %1$s with you" : "%2$s deelde %1$s met u",
"You shared %1$s via link" : "U deelde %1$s via link",
+ "%2$s shared %1$s with you" : "%2$s deelde %1$s met u",
"Downloaded via public link" : "Gedownload via een openbare link",
"Shared with %2$s" : "Gedeeld met %2$s",
- "Shared with group %2$s" : "Gedeeld met groep %2$s",
"Shared with %3$s by %2$s" : "Gedeeld met %3$s door %2$s",
+ "Shared with group %2$s" : "Gedeeld met groep %2$s",
"Shared with group %3$s by %2$s" : "Gedeeld met groep %3$s door %2$s",
"Shared via link by %2$s" : "Gedeeld via link door %2$s",
- "Shared by %2$s" : "Gedeeld door %2$s",
"Shared via public link" : "Gedeeld via een openbare link",
+ "Shared by %2$s" : "Gedeeld door %2$s",
"Shares" : "Gedeeld",
- "You received %2$s as a remote share from %1$s" : "U ontving %2$s als een externe share van %1$s",
"Accept" : "Accepteren",
"Decline" : "Afwijzen",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Deel met mij via mijn #ownCloud federated Cloud ID, zie %s",
diff --git a/apps/files_sharing/l10n/nn_NO.js b/apps/files_sharing/l10n/nn_NO.js
index 233dd6c0583..5585f720596 100644
--- a/apps/files_sharing/l10n/nn_NO.js
+++ b/apps/files_sharing/l10n/nn_NO.js
@@ -7,8 +7,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "Ei fil eller ei mappe har blitt <strong>delt</strong>",
"You shared %1$s with %2$s" : "Du delte %1$s med %2$s",
"You shared %1$s with group %2$s" : "Du delte %1$s med gruppa %2$s",
- "%2$s shared %1$s with you" : "%2$s delte %1$s med deg",
"You shared %1$s via link" : "Du delte %1$s via ei lenkje",
+ "%2$s shared %1$s with you" : "%2$s delte %1$s med deg",
"Shares" : "Delingar",
"The password is wrong. Try again." : "Passordet er gale. Prøv igjen.",
"Password" : "Passord",
diff --git a/apps/files_sharing/l10n/nn_NO.json b/apps/files_sharing/l10n/nn_NO.json
index d5d33c0ae44..81e16df9b28 100644
--- a/apps/files_sharing/l10n/nn_NO.json
+++ b/apps/files_sharing/l10n/nn_NO.json
@@ -5,8 +5,8 @@
"A file or folder has been <strong>shared</strong>" : "Ei fil eller ei mappe har blitt <strong>delt</strong>",
"You shared %1$s with %2$s" : "Du delte %1$s med %2$s",
"You shared %1$s with group %2$s" : "Du delte %1$s med gruppa %2$s",
- "%2$s shared %1$s with you" : "%2$s delte %1$s med deg",
"You shared %1$s via link" : "Du delte %1$s via ei lenkje",
+ "%2$s shared %1$s with you" : "%2$s delte %1$s med deg",
"Shares" : "Delingar",
"The password is wrong. Try again." : "Passordet er gale. Prøv igjen.",
"Password" : "Passord",
diff --git a/apps/files_sharing/l10n/oc.js b/apps/files_sharing/l10n/oc.js
index 6a1329bf5bd..350d35b2de0 100644
--- a/apps/files_sharing/l10n/oc.js
+++ b/apps/files_sharing/l10n/oc.js
@@ -37,22 +37,21 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Lo dorsièr public %1$s es estat telecargat",
"Public shared file %1$s was downloaded" : "Lo fichièr public %1$s es estat telecargat",
"You shared %1$s with %2$s" : "Avètz partejat %1$s amb %2$s",
- "You shared %1$s with group %2$s" : "Avètz partejat %1$s amb lo grop %2$s",
"%2$s shared %1$s with %3$s" : "%2$s partejat %1$s amb %3$s",
+ "You shared %1$s with group %2$s" : "Avètz partejat %1$s amb lo grop %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s partejat %1$s amb lo grop %3$s",
"%2$s shared %1$s via link" : "%2$s a partejat %1$s per ligam public",
- "%2$s shared %1$s with you" : "%2$s a partejat %1$s amb vos",
"You shared %1$s via link" : "Avètz partejat %1$s per ligam public",
+ "%2$s shared %1$s with you" : "%2$s a partejat %1$s amb vos",
"Downloaded via public link" : "Telecargat per ligam public",
"Shared with %2$s" : "Partejat amb %2$s",
- "Shared with group %2$s" : "Partejat amb lo grop %2$s",
"Shared with %3$s by %2$s" : "Partejat amb %3$s per %2$s",
+ "Shared with group %2$s" : "Partejat amb lo grop %2$s",
"Shared with group %3$s by %2$s" : "Partejat amb lo grop %3$s per %2$s",
"Shared via link by %2$s" : "Partejat via ligam per %2$s",
- "Shared by %2$s" : "Partejat per %2$s",
"Shared via public link" : "Partejat per ligam public",
+ "Shared by %2$s" : "Partejat per %2$s",
"Shares" : "Partiments",
- "You received %2$s as a remote share from %1$s" : "Avètz recebut %2$s en tant que partiment distant per %1$s",
"Accept" : "Acceptar",
"Decline" : "Refusar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Partejatz amb ieu gràcias a mon identificant Federated Cloud #owncloud %s",
diff --git a/apps/files_sharing/l10n/oc.json b/apps/files_sharing/l10n/oc.json
index 591090742c6..90254deca48 100644
--- a/apps/files_sharing/l10n/oc.json
+++ b/apps/files_sharing/l10n/oc.json
@@ -35,22 +35,21 @@
"Public shared folder %1$s was downloaded" : "Lo dorsièr public %1$s es estat telecargat",
"Public shared file %1$s was downloaded" : "Lo fichièr public %1$s es estat telecargat",
"You shared %1$s with %2$s" : "Avètz partejat %1$s amb %2$s",
- "You shared %1$s with group %2$s" : "Avètz partejat %1$s amb lo grop %2$s",
"%2$s shared %1$s with %3$s" : "%2$s partejat %1$s amb %3$s",
+ "You shared %1$s with group %2$s" : "Avètz partejat %1$s amb lo grop %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s partejat %1$s amb lo grop %3$s",
"%2$s shared %1$s via link" : "%2$s a partejat %1$s per ligam public",
- "%2$s shared %1$s with you" : "%2$s a partejat %1$s amb vos",
"You shared %1$s via link" : "Avètz partejat %1$s per ligam public",
+ "%2$s shared %1$s with you" : "%2$s a partejat %1$s amb vos",
"Downloaded via public link" : "Telecargat per ligam public",
"Shared with %2$s" : "Partejat amb %2$s",
- "Shared with group %2$s" : "Partejat amb lo grop %2$s",
"Shared with %3$s by %2$s" : "Partejat amb %3$s per %2$s",
+ "Shared with group %2$s" : "Partejat amb lo grop %2$s",
"Shared with group %3$s by %2$s" : "Partejat amb lo grop %3$s per %2$s",
"Shared via link by %2$s" : "Partejat via ligam per %2$s",
- "Shared by %2$s" : "Partejat per %2$s",
"Shared via public link" : "Partejat per ligam public",
+ "Shared by %2$s" : "Partejat per %2$s",
"Shares" : "Partiments",
- "You received %2$s as a remote share from %1$s" : "Avètz recebut %2$s en tant que partiment distant per %1$s",
"Accept" : "Acceptar",
"Decline" : "Refusar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Partejatz amb ieu gràcias a mon identificant Federated Cloud #owncloud %s",
diff --git a/apps/files_sharing/l10n/pl.js b/apps/files_sharing/l10n/pl.js
index 62b128844df..5acdcf116fd 100644
--- a/apps/files_sharing/l10n/pl.js
+++ b/apps/files_sharing/l10n/pl.js
@@ -27,8 +27,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "Plik lub folder stał się <strong>współdzielony</strong>",
"You shared %1$s with %2$s" : "Współdzielisz %1$s z %2$s",
"You shared %1$s with group %2$s" : "Współdzielisz %1$s z grupą %2$s",
- "%2$s shared %1$s with you" : "%2$s współdzieli %1$s z Tobą",
"You shared %1$s via link" : "Udostępniasz %1$s przez link",
+ "%2$s shared %1$s with you" : "%2$s współdzieli %1$s z Tobą",
"Shares" : "Udziały",
"Accept" : "Akceptuj",
"This share is password-protected" : "Udział ten jest chroniony hasłem",
diff --git a/apps/files_sharing/l10n/pl.json b/apps/files_sharing/l10n/pl.json
index 76052b1dfb7..ded962ac9e1 100644
--- a/apps/files_sharing/l10n/pl.json
+++ b/apps/files_sharing/l10n/pl.json
@@ -25,8 +25,8 @@
"A file or folder has been <strong>shared</strong>" : "Plik lub folder stał się <strong>współdzielony</strong>",
"You shared %1$s with %2$s" : "Współdzielisz %1$s z %2$s",
"You shared %1$s with group %2$s" : "Współdzielisz %1$s z grupą %2$s",
- "%2$s shared %1$s with you" : "%2$s współdzieli %1$s z Tobą",
"You shared %1$s via link" : "Udostępniasz %1$s przez link",
+ "%2$s shared %1$s with you" : "%2$s współdzieli %1$s z Tobą",
"Shares" : "Udziały",
"Accept" : "Akceptuj",
"This share is password-protected" : "Udział ten jest chroniony hasłem",
diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js
index 2faf1455480..b41f5492a0e 100644
--- a/apps/files_sharing/l10n/pt_BR.js
+++ b/apps/files_sharing/l10n/pt_BR.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"Shared with you" : "Compartilhado com você",
"Shared with others" : "Compartilhado com outros",
"Shared by link" : "Compartilhado por link",
+ "Federated sharing" : "Compartilhamento associado",
"Nothing shared with you yet" : "Nada compartilhado com você até agora",
"Files and folders others share with you will show up here" : "Arquivos e pastas que outros compartilham com você são mostrados aqui",
"Nothing shared yet" : "Nada compartilhado até agora",
@@ -38,22 +39,39 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "A pasta %1$s compartilhada publicamente foi baixada",
"Public shared file %1$s was downloaded" : "O arquivo %1$s compartilhado publicamente foi baixado",
"You shared %1$s with %2$s" : "Você compartilhou %1$s com %2$s",
- "You shared %1$s with group %2$s" : "Você compartilhou %1$s com o grupo %2$s",
"%2$s shared %1$s with %3$s" : "%2$s compartilhado %1$s com %3$s",
+ "You removed the share of %2$s for %1$s" : "Você removeu o compartilhamento de %2$s para %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s removido o compartilhamento de %3$s para %1$s",
+ "You shared %1$s with group %2$s" : "Você compartilhou %1$s com o grupo %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s compartilhado %1$s com o grupo %3$s",
+ "You removed the share of group %2$s for %1$s" : "Você removeu o compartilhamento de %2$s para %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s removido o compartilhamento do grupo %3$s para %1$s",
"%2$s shared %1$s via link" : "%2$s compartilhado via link %1$s",
- "%2$s shared %1$s with you" : "%2$s compartilhou %1$s com você",
"You shared %1$s via link" : "Você compartilhou %1$s via link",
+ "You removed the public link for %1$s" : "Você removeu o link público de %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s removeu o link público de %1$s",
+ "Your public link for %1$s expired" : "O seu link público para %1$s expirou",
+ "The public link of %2$s for %1$s expired" : "O link público de %2$s para %1$s expirou",
+ "%2$s shared %1$s with you" : "%2$s compartilhou %1$s com você",
+ "%2$s removed the share for %1$s" : "%2$s removeu o compartilhamento para %1$s",
"Downloaded via public link" : "Baixar via link público",
"Shared with %2$s" : "Compartilhado com %2$s",
- "Shared with group %2$s" : "Compartilhado com o grupo %2$s",
"Shared with %3$s by %2$s" : "Compartilhado com %3$s por %2$s",
+ "Removed share for %2$s" : "Removido compartilhamento para %2$s",
+ "%2$s removed share for %3$s" : "%2$s removeu o compartilhamento para %3$s",
+ "Shared with group %2$s" : "Compartilhado com o grupo %2$s",
"Shared with group %3$s by %2$s" : "Compartilhado com o grupo %3$s por %2$s",
+ "Removed share of group %2$s" : "Removido compartilhamento para o grupo %2$s",
+ "%2$s removed share of group %3$s" : "%2$s removido compartilhamento do grupo %3$s",
"Shared via link by %2$s" : "Compartilhado via link por %2$s",
- "Shared by %2$s" : "Compartilhado por %2$s",
"Shared via public link" : "Compartilhado via link público",
+ "Removed public link" : "Removido o link público",
+ "%2$s removed public link" : "%2$s removeu o link público",
+ "Public link expired" : "O link público expirou",
+ "Public link of %2$s expired" : "O link público de %2$s expirou",
+ "Shared by %2$s" : "Compartilhado por %2$s",
"Shares" : "Compartilhamentos",
- "You received %2$s as a remote share from %1$s" : "Você recebeu %2$s como um compartilhamento remoto de %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Você recebeu \"/%2$s\" como um compartilhamento remoto de %1$s",
"Accept" : "Aceitar",
"Decline" : "Rejeitar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Compartilhe comigo através do meu #ownCloud Nuvem ID Associada, veja %s",
diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json
index 51e6e9e6f0a..be38812857e 100644
--- a/apps/files_sharing/l10n/pt_BR.json
+++ b/apps/files_sharing/l10n/pt_BR.json
@@ -9,6 +9,7 @@
"Shared with you" : "Compartilhado com você",
"Shared with others" : "Compartilhado com outros",
"Shared by link" : "Compartilhado por link",
+ "Federated sharing" : "Compartilhamento associado",
"Nothing shared with you yet" : "Nada compartilhado com você até agora",
"Files and folders others share with you will show up here" : "Arquivos e pastas que outros compartilham com você são mostrados aqui",
"Nothing shared yet" : "Nada compartilhado até agora",
@@ -36,22 +37,39 @@
"Public shared folder %1$s was downloaded" : "A pasta %1$s compartilhada publicamente foi baixada",
"Public shared file %1$s was downloaded" : "O arquivo %1$s compartilhado publicamente foi baixado",
"You shared %1$s with %2$s" : "Você compartilhou %1$s com %2$s",
- "You shared %1$s with group %2$s" : "Você compartilhou %1$s com o grupo %2$s",
"%2$s shared %1$s with %3$s" : "%2$s compartilhado %1$s com %3$s",
+ "You removed the share of %2$s for %1$s" : "Você removeu o compartilhamento de %2$s para %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s removido o compartilhamento de %3$s para %1$s",
+ "You shared %1$s with group %2$s" : "Você compartilhou %1$s com o grupo %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s compartilhado %1$s com o grupo %3$s",
+ "You removed the share of group %2$s for %1$s" : "Você removeu o compartilhamento de %2$s para %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s removido o compartilhamento do grupo %3$s para %1$s",
"%2$s shared %1$s via link" : "%2$s compartilhado via link %1$s",
- "%2$s shared %1$s with you" : "%2$s compartilhou %1$s com você",
"You shared %1$s via link" : "Você compartilhou %1$s via link",
+ "You removed the public link for %1$s" : "Você removeu o link público de %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s removeu o link público de %1$s",
+ "Your public link for %1$s expired" : "O seu link público para %1$s expirou",
+ "The public link of %2$s for %1$s expired" : "O link público de %2$s para %1$s expirou",
+ "%2$s shared %1$s with you" : "%2$s compartilhou %1$s com você",
+ "%2$s removed the share for %1$s" : "%2$s removeu o compartilhamento para %1$s",
"Downloaded via public link" : "Baixar via link público",
"Shared with %2$s" : "Compartilhado com %2$s",
- "Shared with group %2$s" : "Compartilhado com o grupo %2$s",
"Shared with %3$s by %2$s" : "Compartilhado com %3$s por %2$s",
+ "Removed share for %2$s" : "Removido compartilhamento para %2$s",
+ "%2$s removed share for %3$s" : "%2$s removeu o compartilhamento para %3$s",
+ "Shared with group %2$s" : "Compartilhado com o grupo %2$s",
"Shared with group %3$s by %2$s" : "Compartilhado com o grupo %3$s por %2$s",
+ "Removed share of group %2$s" : "Removido compartilhamento para o grupo %2$s",
+ "%2$s removed share of group %3$s" : "%2$s removido compartilhamento do grupo %3$s",
"Shared via link by %2$s" : "Compartilhado via link por %2$s",
- "Shared by %2$s" : "Compartilhado por %2$s",
"Shared via public link" : "Compartilhado via link público",
+ "Removed public link" : "Removido o link público",
+ "%2$s removed public link" : "%2$s removeu o link público",
+ "Public link expired" : "O link público expirou",
+ "Public link of %2$s expired" : "O link público de %2$s expirou",
+ "Shared by %2$s" : "Compartilhado por %2$s",
"Shares" : "Compartilhamentos",
- "You received %2$s as a remote share from %1$s" : "Você recebeu %2$s como um compartilhamento remoto de %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Você recebeu \"/%2$s\" como um compartilhamento remoto de %1$s",
"Accept" : "Aceitar",
"Decline" : "Rejeitar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Compartilhe comigo através do meu #ownCloud Nuvem ID Associada, veja %s",
diff --git a/apps/files_sharing/l10n/pt_PT.js b/apps/files_sharing/l10n/pt_PT.js
index afe04a57b90..e9cf412bc53 100644
--- a/apps/files_sharing/l10n/pt_PT.js
+++ b/apps/files_sharing/l10n/pt_PT.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"Shared with you" : "Partilhado consigo ",
"Shared with others" : "Partilhado com outros",
"Shared by link" : "Partilhado pela hiperligação",
+ "Federated sharing" : "Partilha federada",
"Nothing shared with you yet" : "Ainda não foi partilhado nada consigo",
"Files and folders others share with you will show up here" : "Os ficheiros e pastas que os outros partilham consigo, serão mostradaos aqui",
"Nothing shared yet" : "Ainda não foi partilhado nada",
@@ -38,22 +39,39 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "A pasta partilhada publicamente %1$s foi transferida",
"Public shared file %1$s was downloaded" : "Foi transferido o ficheiro %1$s partilhado publicamente",
"You shared %1$s with %2$s" : "Partilhou %1$s com %2$s",
- "You shared %1$s with group %2$s" : "Partilhou %1$s com o grupo %2$s",
"%2$s shared %1$s with %3$s" : "%2$s partilhou %1$s com %3$s",
+ "You removed the share of %2$s for %1$s" : "Removeu a partilha de %2$s para %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s removeu a partilha de %3$s para %1$s",
+ "You shared %1$s with group %2$s" : "Partilhou %1$s com o grupo %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s partilhou %1$s com o grupo %3$s",
+ "You removed the share of group %2$s for %1$s" : "Removeu a partilha do grupo %2$s para %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s removeu a partilha do grupo %3$s para %1$s",
"%2$s shared %1$s via link" : "%2$s partilhou %1$s via hiperligação",
- "%2$s shared %1$s with you" : "%2$s partilhou %1$s consigo",
"You shared %1$s via link" : "Partilhou %1$s através de uma hiperligação",
+ "You removed the public link for %1$s" : "Removeu o link público de %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s removeu o link público de %1$s",
+ "Your public link for %1$s expired" : "O seu link público de %1$s expirou",
+ "The public link of %2$s for %1$s expired" : "O link público de %2$s para %1$s expirou",
+ "%2$s shared %1$s with you" : "%2$s partilhou %1$s consigo",
+ "%2$s removed the share for %1$s" : "%2$s removeu a partilha para %1$s",
"Downloaded via public link" : "Transferido via hiperligação pública",
"Shared with %2$s" : "Partilhado com %2$s",
- "Shared with group %2$s" : "Partilhado com o grupo %2$s",
"Shared with %3$s by %2$s" : "Partilhado com %3$s por %2$s",
+ "Removed share for %2$s" : "Partilha removida para %2$s",
+ "%2$s removed share for %3$s" : "%2$s removeu a partilha para %3$s",
+ "Shared with group %2$s" : "Partilhado com o grupo %2$s",
"Shared with group %3$s by %2$s" : "Partilhado com o grupo %3$s por %2$s",
+ "Removed share of group %2$s" : "Partilha removida do grupo %2$s",
+ "%2$s removed share of group %3$s" : "%2$s removeu a partilha do grupo %3$s",
"Shared via link by %2$s" : "Partilhado via hiperligação por %2$s",
- "Shared by %2$s" : "Partilhado por %2$s",
"Shared via public link" : "Partilhado via hiperligação pública",
+ "Removed public link" : "Removeu link público",
+ "%2$s removed public link" : "%2$s removeu link público",
+ "Public link expired" : "Link público expirou",
+ "Public link of %2$s expired" : "Link público de %2$s expirou",
+ "Shared by %2$s" : "Partilhado por %2$s",
"Shares" : "Partilhas",
- "You received %2$s as a remote share from %1$s" : "Recebeu %2$s como uma partilha remota de %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Recebeu \"/%2$s\" como uma partilha remota de %1$s",
"Accept" : "Aceitar",
"Decline" : "Recusar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Partilhe comigo através da minha Id. da Nuvem Federada #ownCloud, veja %s",
diff --git a/apps/files_sharing/l10n/pt_PT.json b/apps/files_sharing/l10n/pt_PT.json
index 190187b1500..f311ef6bb33 100644
--- a/apps/files_sharing/l10n/pt_PT.json
+++ b/apps/files_sharing/l10n/pt_PT.json
@@ -9,6 +9,7 @@
"Shared with you" : "Partilhado consigo ",
"Shared with others" : "Partilhado com outros",
"Shared by link" : "Partilhado pela hiperligação",
+ "Federated sharing" : "Partilha federada",
"Nothing shared with you yet" : "Ainda não foi partilhado nada consigo",
"Files and folders others share with you will show up here" : "Os ficheiros e pastas que os outros partilham consigo, serão mostradaos aqui",
"Nothing shared yet" : "Ainda não foi partilhado nada",
@@ -36,22 +37,39 @@
"Public shared folder %1$s was downloaded" : "A pasta partilhada publicamente %1$s foi transferida",
"Public shared file %1$s was downloaded" : "Foi transferido o ficheiro %1$s partilhado publicamente",
"You shared %1$s with %2$s" : "Partilhou %1$s com %2$s",
- "You shared %1$s with group %2$s" : "Partilhou %1$s com o grupo %2$s",
"%2$s shared %1$s with %3$s" : "%2$s partilhou %1$s com %3$s",
+ "You removed the share of %2$s for %1$s" : "Removeu a partilha de %2$s para %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s removeu a partilha de %3$s para %1$s",
+ "You shared %1$s with group %2$s" : "Partilhou %1$s com o grupo %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s partilhou %1$s com o grupo %3$s",
+ "You removed the share of group %2$s for %1$s" : "Removeu a partilha do grupo %2$s para %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s removeu a partilha do grupo %3$s para %1$s",
"%2$s shared %1$s via link" : "%2$s partilhou %1$s via hiperligação",
- "%2$s shared %1$s with you" : "%2$s partilhou %1$s consigo",
"You shared %1$s via link" : "Partilhou %1$s através de uma hiperligação",
+ "You removed the public link for %1$s" : "Removeu o link público de %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s removeu o link público de %1$s",
+ "Your public link for %1$s expired" : "O seu link público de %1$s expirou",
+ "The public link of %2$s for %1$s expired" : "O link público de %2$s para %1$s expirou",
+ "%2$s shared %1$s with you" : "%2$s partilhou %1$s consigo",
+ "%2$s removed the share for %1$s" : "%2$s removeu a partilha para %1$s",
"Downloaded via public link" : "Transferido via hiperligação pública",
"Shared with %2$s" : "Partilhado com %2$s",
- "Shared with group %2$s" : "Partilhado com o grupo %2$s",
"Shared with %3$s by %2$s" : "Partilhado com %3$s por %2$s",
+ "Removed share for %2$s" : "Partilha removida para %2$s",
+ "%2$s removed share for %3$s" : "%2$s removeu a partilha para %3$s",
+ "Shared with group %2$s" : "Partilhado com o grupo %2$s",
"Shared with group %3$s by %2$s" : "Partilhado com o grupo %3$s por %2$s",
+ "Removed share of group %2$s" : "Partilha removida do grupo %2$s",
+ "%2$s removed share of group %3$s" : "%2$s removeu a partilha do grupo %3$s",
"Shared via link by %2$s" : "Partilhado via hiperligação por %2$s",
- "Shared by %2$s" : "Partilhado por %2$s",
"Shared via public link" : "Partilhado via hiperligação pública",
+ "Removed public link" : "Removeu link público",
+ "%2$s removed public link" : "%2$s removeu link público",
+ "Public link expired" : "Link público expirou",
+ "Public link of %2$s expired" : "Link público de %2$s expirou",
+ "Shared by %2$s" : "Partilhado por %2$s",
"Shares" : "Partilhas",
- "You received %2$s as a remote share from %1$s" : "Recebeu %2$s como uma partilha remota de %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Recebeu \"/%2$s\" como uma partilha remota de %1$s",
"Accept" : "Aceitar",
"Decline" : "Recusar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Partilhe comigo através da minha Id. da Nuvem Federada #ownCloud, veja %s",
diff --git a/apps/files_sharing/l10n/ro.js b/apps/files_sharing/l10n/ro.js
index 1ec5b930d27..dbbff12cd6c 100644
--- a/apps/files_sharing/l10n/ro.js
+++ b/apps/files_sharing/l10n/ro.js
@@ -12,8 +12,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "Un fișier sau director a fost <strong>partajat</strong>",
"You shared %1$s with %2$s" : "Ai partajat %1$s cu %2$s",
"You shared %1$s with group %2$s" : "Ai partajat %1$s cu grupul %2$s",
- "%2$s shared %1$s with you" : "%2$s a partajat %1$s cu tine",
"You shared %1$s via link" : "Ai partajat %1$s prin legătură",
+ "%2$s shared %1$s with you" : "%2$s a partajat %1$s cu tine",
"Shares" : "Partajări",
"This share is password-protected" : "Această partajare este protejată cu parolă",
"The password is wrong. Try again." : "Parola este incorectă. Încercaţi din nou.",
diff --git a/apps/files_sharing/l10n/ro.json b/apps/files_sharing/l10n/ro.json
index b106c990019..19554a0c950 100644
--- a/apps/files_sharing/l10n/ro.json
+++ b/apps/files_sharing/l10n/ro.json
@@ -10,8 +10,8 @@
"A file or folder has been <strong>shared</strong>" : "Un fișier sau director a fost <strong>partajat</strong>",
"You shared %1$s with %2$s" : "Ai partajat %1$s cu %2$s",
"You shared %1$s with group %2$s" : "Ai partajat %1$s cu grupul %2$s",
- "%2$s shared %1$s with you" : "%2$s a partajat %1$s cu tine",
"You shared %1$s via link" : "Ai partajat %1$s prin legătură",
+ "%2$s shared %1$s with you" : "%2$s a partajat %1$s cu tine",
"Shares" : "Partajări",
"This share is password-protected" : "Această partajare este protejată cu parolă",
"The password is wrong. Try again." : "Parola este incorectă. Încercaţi din nou.",
diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js
index 15b26160f6e..79e47222102 100644
--- a/apps/files_sharing/l10n/ru.js
+++ b/apps/files_sharing/l10n/ru.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"Shared with you" : "Поделились с вами",
"Shared with others" : "Доступные для других",
"Shared by link" : "Доступные по ссылке",
+ "Federated sharing" : "Общий доступ из объединенного общего хранилища",
"Nothing shared with you yet" : "С вами пока ничем не поделились",
"Files and folders others share with you will show up here" : "Здесь появятся файлы и каталоги, которыми с вами поделятся",
"Nothing shared yet" : "Пока ничего не опубликовано",
@@ -38,22 +39,22 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Общий каталог %1$s был скачан",
"Public shared file %1$s was downloaded" : "Общий файл %1$s, был скачан",
"You shared %1$s with %2$s" : "Вы поделились %1$s с %2$s",
- "You shared %1$s with group %2$s" : "Вы поделились %1$s с группой %2$s",
"%2$s shared %1$s with %3$s" : "%2$s поделился %1$s с %3$s",
+ "You shared %1$s with group %2$s" : "Вы поделились %1$s с группой %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s поделился %1$s с группой %3$s",
"%2$s shared %1$s via link" : "%2$s поделился %1$s по ссылке",
- "%2$s shared %1$s with you" : "%2$s поделился с вами %1$s",
"You shared %1$s via link" : "Вы поделились %1$s с помощью ссылки",
+ "%2$s shared %1$s with you" : "%2$s поделился с вами %1$s",
"Downloaded via public link" : "Загружено по открытой ссылке",
"Shared with %2$s" : "Поделился с %2$s",
- "Shared with group %2$s" : "Поделился с группой %2$s",
"Shared with %3$s by %2$s" : "Поделился %2$s с %3$s",
+ "Shared with group %2$s" : "Поделился с группой %2$s",
"Shared with group %3$s by %2$s" : "Поделился %2$s с группой %3$s",
"Shared via link by %2$s" : "Поделился ссылкой %2$s",
- "Shared by %2$s" : "Поделился %2$s",
"Shared via public link" : "Поделился открытой ссылкой",
+ "Shared by %2$s" : "Поделился %2$s",
"Shares" : "События обмена файлами",
- "You received %2$s as a remote share from %1$s" : "Вы получили %2$s через удаленный общий ресурс %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Вы получили доступ к \"/%2$s\" от пользователя %1$s",
"Accept" : "Принять",
"Decline" : "Отклонить",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Поделитесь со мной через мой #ownCloud ID в объединении облачных хранилищ, смотрите %s",
diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json
index 3b92d4cc4c3..26019ba1a01 100644
--- a/apps/files_sharing/l10n/ru.json
+++ b/apps/files_sharing/l10n/ru.json
@@ -9,6 +9,7 @@
"Shared with you" : "Поделились с вами",
"Shared with others" : "Доступные для других",
"Shared by link" : "Доступные по ссылке",
+ "Federated sharing" : "Общий доступ из объединенного общего хранилища",
"Nothing shared with you yet" : "С вами пока ничем не поделились",
"Files and folders others share with you will show up here" : "Здесь появятся файлы и каталоги, которыми с вами поделятся",
"Nothing shared yet" : "Пока ничего не опубликовано",
@@ -36,22 +37,22 @@
"Public shared folder %1$s was downloaded" : "Общий каталог %1$s был скачан",
"Public shared file %1$s was downloaded" : "Общий файл %1$s, был скачан",
"You shared %1$s with %2$s" : "Вы поделились %1$s с %2$s",
- "You shared %1$s with group %2$s" : "Вы поделились %1$s с группой %2$s",
"%2$s shared %1$s with %3$s" : "%2$s поделился %1$s с %3$s",
+ "You shared %1$s with group %2$s" : "Вы поделились %1$s с группой %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s поделился %1$s с группой %3$s",
"%2$s shared %1$s via link" : "%2$s поделился %1$s по ссылке",
- "%2$s shared %1$s with you" : "%2$s поделился с вами %1$s",
"You shared %1$s via link" : "Вы поделились %1$s с помощью ссылки",
+ "%2$s shared %1$s with you" : "%2$s поделился с вами %1$s",
"Downloaded via public link" : "Загружено по открытой ссылке",
"Shared with %2$s" : "Поделился с %2$s",
- "Shared with group %2$s" : "Поделился с группой %2$s",
"Shared with %3$s by %2$s" : "Поделился %2$s с %3$s",
+ "Shared with group %2$s" : "Поделился с группой %2$s",
"Shared with group %3$s by %2$s" : "Поделился %2$s с группой %3$s",
"Shared via link by %2$s" : "Поделился ссылкой %2$s",
- "Shared by %2$s" : "Поделился %2$s",
"Shared via public link" : "Поделился открытой ссылкой",
+ "Shared by %2$s" : "Поделился %2$s",
"Shares" : "События обмена файлами",
- "You received %2$s as a remote share from %1$s" : "Вы получили %2$s через удаленный общий ресурс %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Вы получили доступ к \"/%2$s\" от пользователя %1$s",
"Accept" : "Принять",
"Decline" : "Отклонить",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Поделитесь со мной через мой #ownCloud ID в объединении облачных хранилищ, смотрите %s",
diff --git a/apps/files_sharing/l10n/sk_SK.js b/apps/files_sharing/l10n/sk_SK.js
index 465d50d4163..dfd287e067d 100644
--- a/apps/files_sharing/l10n/sk_SK.js
+++ b/apps/files_sharing/l10n/sk_SK.js
@@ -37,22 +37,21 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Verejne zdieľaný priečinok %1$s bol stiahnutý",
"Public shared file %1$s was downloaded" : "Verejne zdieľaný súbor %1$s bol stiahnutý",
"You shared %1$s with %2$s" : "Bol zdieľaný %1$s s %2$s",
- "You shared %1$s with group %2$s" : "Bol zdieľaný %1$s so skupinou %2$s",
"%2$s shared %1$s with %3$s" : "%2$s zdieľané %1$s s %3$s",
+ "You shared %1$s with group %2$s" : "Bol zdieľaný %1$s so skupinou %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s zdieľané %1$s so skupinou %3$s",
"%2$s shared %1$s via link" : "%2$s zdieľané %1$s pomocou linky",
- "%2$s shared %1$s with you" : "%2$s vám zdieľal %1$s",
"You shared %1$s via link" : "Zdieľate %1$s prostredníctvom odkazu",
+ "%2$s shared %1$s with you" : "%2$s vám zdieľal %1$s",
"Downloaded via public link" : "Stiahnuté prostredníctvom verejného odkazu",
"Shared with %2$s" : "Zdieľané s %2$s",
- "Shared with group %2$s" : "Zdieľané so skupinou %2$s",
"Shared with %3$s by %2$s" : "Zdieľané s %3$s prostredníctvom %2$s",
+ "Shared with group %2$s" : "Zdieľané so skupinou %2$s",
"Shared with group %3$s by %2$s" : "Zdieľané so skupinou %3$s prostredníctvom %2$s",
"Shared via link by %2$s" : "Zdieľané prostredníctvom odkazu s %2$s",
- "Shared by %2$s" : "Zdieľané s %2$s",
"Shared via public link" : "Zdieľané prostredníctvom verejného odkazu",
+ "Shared by %2$s" : "Zdieľané s %2$s",
"Shares" : "Zdieľanie",
- "You received %2$s as a remote share from %1$s" : "Dostali ste %2$s, ako vzdialené zdieľanie od %1$s",
"Accept" : "Schváliť",
"Decline" : "Odmietnuť",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Zdieľajte so mnou pomocou môjho #ownCloud Federated Cloud ID, viac n %s",
diff --git a/apps/files_sharing/l10n/sk_SK.json b/apps/files_sharing/l10n/sk_SK.json
index 80af61adb2b..5d23d16c976 100644
--- a/apps/files_sharing/l10n/sk_SK.json
+++ b/apps/files_sharing/l10n/sk_SK.json
@@ -35,22 +35,21 @@
"Public shared folder %1$s was downloaded" : "Verejne zdieľaný priečinok %1$s bol stiahnutý",
"Public shared file %1$s was downloaded" : "Verejne zdieľaný súbor %1$s bol stiahnutý",
"You shared %1$s with %2$s" : "Bol zdieľaný %1$s s %2$s",
- "You shared %1$s with group %2$s" : "Bol zdieľaný %1$s so skupinou %2$s",
"%2$s shared %1$s with %3$s" : "%2$s zdieľané %1$s s %3$s",
+ "You shared %1$s with group %2$s" : "Bol zdieľaný %1$s so skupinou %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s zdieľané %1$s so skupinou %3$s",
"%2$s shared %1$s via link" : "%2$s zdieľané %1$s pomocou linky",
- "%2$s shared %1$s with you" : "%2$s vám zdieľal %1$s",
"You shared %1$s via link" : "Zdieľate %1$s prostredníctvom odkazu",
+ "%2$s shared %1$s with you" : "%2$s vám zdieľal %1$s",
"Downloaded via public link" : "Stiahnuté prostredníctvom verejného odkazu",
"Shared with %2$s" : "Zdieľané s %2$s",
- "Shared with group %2$s" : "Zdieľané so skupinou %2$s",
"Shared with %3$s by %2$s" : "Zdieľané s %3$s prostredníctvom %2$s",
+ "Shared with group %2$s" : "Zdieľané so skupinou %2$s",
"Shared with group %3$s by %2$s" : "Zdieľané so skupinou %3$s prostredníctvom %2$s",
"Shared via link by %2$s" : "Zdieľané prostredníctvom odkazu s %2$s",
- "Shared by %2$s" : "Zdieľané s %2$s",
"Shared via public link" : "Zdieľané prostredníctvom verejného odkazu",
+ "Shared by %2$s" : "Zdieľané s %2$s",
"Shares" : "Zdieľanie",
- "You received %2$s as a remote share from %1$s" : "Dostali ste %2$s, ako vzdialené zdieľanie od %1$s",
"Accept" : "Schváliť",
"Decline" : "Odmietnuť",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Zdieľajte so mnou pomocou môjho #ownCloud Federated Cloud ID, viac n %s",
diff --git a/apps/files_sharing/l10n/sl.js b/apps/files_sharing/l10n/sl.js
index 3624766ecee..b7459f5824b 100644
--- a/apps/files_sharing/l10n/sl.js
+++ b/apps/files_sharing/l10n/sl.js
@@ -37,8 +37,8 @@ OC.L10N.register(
"Public shared file %1$s was downloaded" : "Datoteka v souporabi %1$s je bila prejeta",
"You shared %1$s with %2$s" : "Omogočili ste souporabo %1$s z uporabnikom %2$s",
"You shared %1$s with group %2$s" : "Omogočili ste souporabo %1$s s skupino %2$s",
- "%2$s shared %1$s with you" : "Uporabnik %2$s je omogočil souporabo %1$s",
"You shared %1$s via link" : "Omogočili ste souporabo %1$s preko povezave",
+ "%2$s shared %1$s with you" : "Uporabnik %2$s je omogočil souporabo %1$s",
"Shares" : "Souporaba",
"Accept" : "Sprejmi",
"Decline" : "Zavrni",
diff --git a/apps/files_sharing/l10n/sl.json b/apps/files_sharing/l10n/sl.json
index 758097746bc..4e17fee37db 100644
--- a/apps/files_sharing/l10n/sl.json
+++ b/apps/files_sharing/l10n/sl.json
@@ -35,8 +35,8 @@
"Public shared file %1$s was downloaded" : "Datoteka v souporabi %1$s je bila prejeta",
"You shared %1$s with %2$s" : "Omogočili ste souporabo %1$s z uporabnikom %2$s",
"You shared %1$s with group %2$s" : "Omogočili ste souporabo %1$s s skupino %2$s",
- "%2$s shared %1$s with you" : "Uporabnik %2$s je omogočil souporabo %1$s",
"You shared %1$s via link" : "Omogočili ste souporabo %1$s preko povezave",
+ "%2$s shared %1$s with you" : "Uporabnik %2$s je omogočil souporabo %1$s",
"Shares" : "Souporaba",
"Accept" : "Sprejmi",
"Decline" : "Zavrni",
diff --git a/apps/files_sharing/l10n/sq.js b/apps/files_sharing/l10n/sq.js
index 699578fb0fc..8ffc9dba389 100644
--- a/apps/files_sharing/l10n/sq.js
+++ b/apps/files_sharing/l10n/sq.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"Shared with you" : "Të ndara me ju",
"Shared with others" : "Të ndara me të tjerët",
"Shared by link" : "Të ndara me lidhje",
+ "Federated sharing" : "Ndarje e federuar",
"Nothing shared with you yet" : "Ende pa ndarë gjë me ju",
"Files and folders others share with you will show up here" : "Këtu do të shfaqen kartelat dhe dosjet që të jerët ndajnë me ju",
"Nothing shared yet" : "Ende pa ndarë gjë",
@@ -38,22 +39,39 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "U shkarkua dosja e ndarë publikisht %1$s",
"Public shared file %1$s was downloaded" : "U shkarkua kartela e ndarë publikisht %1$s",
"You shared %1$s with %2$s" : "Ndatë %1$s me %2$s",
- "You shared %1$s with group %2$s" : "Ndatë %1$s me grupin %2$s",
"%2$s shared %1$s with %3$s" : "%2$s ndau %1$s me %3$s",
+ "You removed the share of %2$s for %1$s" : "Hoqët ndarjen e %2$s për %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s hoqi ndarjen e %3$s për %1$s",
+ "You shared %1$s with group %2$s" : "Ndatë %1$s me grupin %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s ndau %1$s me grupin %3$s",
+ "You removed the share of group %2$s for %1$s" : "Hoqët ndarjen e grupit %2$s për %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s hoqi ndarjen e grupit %3$s për %1$s",
"%2$s shared %1$s via link" : "%2$s ndau %1$s përmes një lidhjeje",
- "%2$s shared %1$s with you" : "%2$s ndau %1$s me ju",
"You shared %1$s via link" : "Ndatë %1$s përmes një lidhjeje",
+ "You removed the public link for %1$s" : "Hoqët lidhjen publike për %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s hoqi lidhjen publike për %1$s",
+ "Your public link for %1$s expired" : "Lidhja juaj publike për %1$s skadoi",
+ "The public link of %2$s for %1$s expired" : "Lidhja publike e %2$s për %1$s skadoi",
+ "%2$s shared %1$s with you" : "%2$s ndau %1$s me ju",
+ "%2$s removed the share for %1$s" : "%2$s hoqi ndarjen për %1$s",
"Downloaded via public link" : "Shkarkuar përmes një lidhjeje publike",
"Shared with %2$s" : "U nda me %2$s",
- "Shared with group %2$s" : "U nda me grupin %2$s",
"Shared with %3$s by %2$s" : "U nda me %3$s nga %2$s",
+ "Removed share for %2$s" : "Hoqi ndarjen për %2$s",
+ "%2$s removed share for %3$s" : "%2$s hoqi ndarjen për %3$s",
+ "Shared with group %2$s" : "U nda me grupin %2$s",
"Shared with group %3$s by %2$s" : "U nda me grupin %3$s nga %2$s",
+ "Removed share of group %2$s" : "Hoqi ndarjen e grupit %2$s",
+ "%2$s removed share of group %3$s" : "%2$s hoqi ndarjen e grupit %3$s",
"Shared via link by %2$s" : "U nda përmes një lidhje nga %2$s",
- "Shared by %2$s" : "U nda nga %2$s",
"Shared via public link" : "U nda përmes një lidhje publike",
+ "Removed public link" : "Hoqi lidhje publike",
+ "%2$s removed public link" : "%2$s hoqi lidhje publike",
+ "Public link expired" : "Lidhja publike skadoi",
+ "Public link of %2$s expired" : "Lidhja publike e %2$s skadoi",
+ "Shared by %2$s" : "U nda nga %2$s",
"Shares" : "Ndarje",
- "You received %2$s as a remote share from %1$s" : "%2$s e morët si një ndarje të largët prej %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Ju erdhi \"/%2$s\" si ndarje e largët prej %1$s",
"Accept" : "Pranoje",
"Decline" : "Hidhe poshtë",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Ndani me mua përmes ID-së time për #ownCloud Federated Cloud, shihni %s",
diff --git a/apps/files_sharing/l10n/sq.json b/apps/files_sharing/l10n/sq.json
index 92c76b4c509..70b2a3ff20d 100644
--- a/apps/files_sharing/l10n/sq.json
+++ b/apps/files_sharing/l10n/sq.json
@@ -9,6 +9,7 @@
"Shared with you" : "Të ndara me ju",
"Shared with others" : "Të ndara me të tjerët",
"Shared by link" : "Të ndara me lidhje",
+ "Federated sharing" : "Ndarje e federuar",
"Nothing shared with you yet" : "Ende pa ndarë gjë me ju",
"Files and folders others share with you will show up here" : "Këtu do të shfaqen kartelat dhe dosjet që të jerët ndajnë me ju",
"Nothing shared yet" : "Ende pa ndarë gjë",
@@ -36,22 +37,39 @@
"Public shared folder %1$s was downloaded" : "U shkarkua dosja e ndarë publikisht %1$s",
"Public shared file %1$s was downloaded" : "U shkarkua kartela e ndarë publikisht %1$s",
"You shared %1$s with %2$s" : "Ndatë %1$s me %2$s",
- "You shared %1$s with group %2$s" : "Ndatë %1$s me grupin %2$s",
"%2$s shared %1$s with %3$s" : "%2$s ndau %1$s me %3$s",
+ "You removed the share of %2$s for %1$s" : "Hoqët ndarjen e %2$s për %1$s",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s hoqi ndarjen e %3$s për %1$s",
+ "You shared %1$s with group %2$s" : "Ndatë %1$s me grupin %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s ndau %1$s me grupin %3$s",
+ "You removed the share of group %2$s for %1$s" : "Hoqët ndarjen e grupit %2$s për %1$s",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s hoqi ndarjen e grupit %3$s për %1$s",
"%2$s shared %1$s via link" : "%2$s ndau %1$s përmes një lidhjeje",
- "%2$s shared %1$s with you" : "%2$s ndau %1$s me ju",
"You shared %1$s via link" : "Ndatë %1$s përmes një lidhjeje",
+ "You removed the public link for %1$s" : "Hoqët lidhjen publike për %1$s",
+ "%2$s removed the public link for %1$s" : "%2$s hoqi lidhjen publike për %1$s",
+ "Your public link for %1$s expired" : "Lidhja juaj publike për %1$s skadoi",
+ "The public link of %2$s for %1$s expired" : "Lidhja publike e %2$s për %1$s skadoi",
+ "%2$s shared %1$s with you" : "%2$s ndau %1$s me ju",
+ "%2$s removed the share for %1$s" : "%2$s hoqi ndarjen për %1$s",
"Downloaded via public link" : "Shkarkuar përmes një lidhjeje publike",
"Shared with %2$s" : "U nda me %2$s",
- "Shared with group %2$s" : "U nda me grupin %2$s",
"Shared with %3$s by %2$s" : "U nda me %3$s nga %2$s",
+ "Removed share for %2$s" : "Hoqi ndarjen për %2$s",
+ "%2$s removed share for %3$s" : "%2$s hoqi ndarjen për %3$s",
+ "Shared with group %2$s" : "U nda me grupin %2$s",
"Shared with group %3$s by %2$s" : "U nda me grupin %3$s nga %2$s",
+ "Removed share of group %2$s" : "Hoqi ndarjen e grupit %2$s",
+ "%2$s removed share of group %3$s" : "%2$s hoqi ndarjen e grupit %3$s",
"Shared via link by %2$s" : "U nda përmes një lidhje nga %2$s",
- "Shared by %2$s" : "U nda nga %2$s",
"Shared via public link" : "U nda përmes një lidhje publike",
+ "Removed public link" : "Hoqi lidhje publike",
+ "%2$s removed public link" : "%2$s hoqi lidhje publike",
+ "Public link expired" : "Lidhja publike skadoi",
+ "Public link of %2$s expired" : "Lidhja publike e %2$s skadoi",
+ "Shared by %2$s" : "U nda nga %2$s",
"Shares" : "Ndarje",
- "You received %2$s as a remote share from %1$s" : "%2$s e morët si një ndarje të largët prej %1$s",
+ "You received \"/%2$s\" as a remote share from %1$s" : "Ju erdhi \"/%2$s\" si ndarje e largët prej %1$s",
"Accept" : "Pranoje",
"Decline" : "Hidhe poshtë",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Ndani me mua përmes ID-së time për #ownCloud Federated Cloud, shihni %s",
diff --git a/apps/files_sharing/l10n/sr.js b/apps/files_sharing/l10n/sr.js
index ddb15bd2183..a9452e14890 100644
--- a/apps/files_sharing/l10n/sr.js
+++ b/apps/files_sharing/l10n/sr.js
@@ -37,8 +37,8 @@ OC.L10N.register(
"Public shared file %1$s was downloaded" : "Јавно дељени фајл %1$s је преузет",
"You shared %1$s with %2$s" : "Поделили сте %1$s са %2$s",
"You shared %1$s with group %2$s" : "Поделили сте %1$s са групом %2$s",
- "%2$s shared %1$s with you" : "%2$s подели %1$s са вама",
"You shared %1$s via link" : "Поделили сте %1$s путем везе",
+ "%2$s shared %1$s with you" : "%2$s подели %1$s са вама",
"Shares" : "Дељења",
"Accept" : "Прихвати",
"This share is password-protected" : "Дељење је заштићено лозинком",
diff --git a/apps/files_sharing/l10n/sr.json b/apps/files_sharing/l10n/sr.json
index dc44b1fbb60..96d0e37bea5 100644
--- a/apps/files_sharing/l10n/sr.json
+++ b/apps/files_sharing/l10n/sr.json
@@ -35,8 +35,8 @@
"Public shared file %1$s was downloaded" : "Јавно дељени фајл %1$s је преузет",
"You shared %1$s with %2$s" : "Поделили сте %1$s са %2$s",
"You shared %1$s with group %2$s" : "Поделили сте %1$s са групом %2$s",
- "%2$s shared %1$s with you" : "%2$s подели %1$s са вама",
"You shared %1$s via link" : "Поделили сте %1$s путем везе",
+ "%2$s shared %1$s with you" : "%2$s подели %1$s са вама",
"Shares" : "Дељења",
"Accept" : "Прихвати",
"This share is password-protected" : "Дељење је заштићено лозинком",
diff --git a/apps/files_sharing/l10n/sr@latin.js b/apps/files_sharing/l10n/sr@latin.js
index 32f2b298855..d9ea5a22416 100644
--- a/apps/files_sharing/l10n/sr@latin.js
+++ b/apps/files_sharing/l10n/sr@latin.js
@@ -33,8 +33,8 @@ OC.L10N.register(
"Public shared file %1$s was downloaded" : "Javni deljeni fajl %1$s je preuzet",
"You shared %1$s with %2$s" : "Delili ste %1$s sa %2$s",
"You shared %1$s with group %2$s" : "Delili ste %1$s sa grupom %2$s",
- "%2$s shared %1$s with you" : "%2$s je delio %1$s sa Vama",
"You shared %1$s via link" : "Delili ste %1$s pomoću prečice",
+ "%2$s shared %1$s with you" : "%2$s je delio %1$s sa Vama",
"Shares" : "Deljenja",
"This share is password-protected" : "Ovaj deljeni resurs je zaštićen lozinkom",
"The password is wrong. Try again." : "Lozinka je netačna. Pokušajte ponovo.",
diff --git a/apps/files_sharing/l10n/sr@latin.json b/apps/files_sharing/l10n/sr@latin.json
index aae286962f2..8cba518384e 100644
--- a/apps/files_sharing/l10n/sr@latin.json
+++ b/apps/files_sharing/l10n/sr@latin.json
@@ -31,8 +31,8 @@
"Public shared file %1$s was downloaded" : "Javni deljeni fajl %1$s je preuzet",
"You shared %1$s with %2$s" : "Delili ste %1$s sa %2$s",
"You shared %1$s with group %2$s" : "Delili ste %1$s sa grupom %2$s",
- "%2$s shared %1$s with you" : "%2$s je delio %1$s sa Vama",
"You shared %1$s via link" : "Delili ste %1$s pomoću prečice",
+ "%2$s shared %1$s with you" : "%2$s je delio %1$s sa Vama",
"Shares" : "Deljenja",
"This share is password-protected" : "Ovaj deljeni resurs je zaštićen lozinkom",
"The password is wrong. Try again." : "Lozinka je netačna. Pokušajte ponovo.",
diff --git a/apps/files_sharing/l10n/sv.js b/apps/files_sharing/l10n/sv.js
index 47f5f6b368c..d2357c0de33 100644
--- a/apps/files_sharing/l10n/sv.js
+++ b/apps/files_sharing/l10n/sv.js
@@ -33,8 +33,8 @@ OC.L10N.register(
"Public shared file %1$s was downloaded" : "Publikt delad fil %1$s blev nerladdad",
"You shared %1$s with %2$s" : "Du delade %1$s med %2$s",
"You shared %1$s with group %2$s" : "Du delade %1$s med grupp %2$s",
- "%2$s shared %1$s with you" : "%2$s delade %1$s med dig",
"You shared %1$s via link" : "Du delade %1$s via länk",
+ "%2$s shared %1$s with you" : "%2$s delade %1$s med dig",
"Shares" : "Delningar",
"Accept" : "Acceptera",
"This share is password-protected" : "Den här delningen är lösenordsskyddad",
diff --git a/apps/files_sharing/l10n/sv.json b/apps/files_sharing/l10n/sv.json
index b20343b3594..9331d95aafb 100644
--- a/apps/files_sharing/l10n/sv.json
+++ b/apps/files_sharing/l10n/sv.json
@@ -31,8 +31,8 @@
"Public shared file %1$s was downloaded" : "Publikt delad fil %1$s blev nerladdad",
"You shared %1$s with %2$s" : "Du delade %1$s med %2$s",
"You shared %1$s with group %2$s" : "Du delade %1$s med grupp %2$s",
- "%2$s shared %1$s with you" : "%2$s delade %1$s med dig",
"You shared %1$s via link" : "Du delade %1$s via länk",
+ "%2$s shared %1$s with you" : "%2$s delade %1$s med dig",
"Shares" : "Delningar",
"Accept" : "Acceptera",
"This share is password-protected" : "Den här delningen är lösenordsskyddad",
diff --git a/apps/files_sharing/l10n/ta_IN.js b/apps/files_sharing/l10n/ta_IN.js
index 6a7e3897cc8..265649f9174 100644
--- a/apps/files_sharing/l10n/ta_IN.js
+++ b/apps/files_sharing/l10n/ta_IN.js
@@ -4,8 +4,8 @@ OC.L10N.register(
"A file or folder has been <strong>shared</strong>" : "ஒரு கோப்புறை அல்லது ஆவணம் <strong> பகிர்வு செய்யப்பட்டுள்ளது.</strong>",
"You shared %1$s with %2$s" : "நீங்கள் %1$s 'ஐ %2$s உடன் பகிர்ந்துள்ளிர்கள். ",
"You shared %1$s with group %2$s" : "நீங்கள் %1$s 'ஐ %2$s குழுவுடன் உடன் பகிர்ந்துள்ளிர்கள்.",
- "%2$s shared %1$s with you" : "%2$s %1$s 'ஐ உங்களுடன் பகிர்ந்துள்ளார்.",
"You shared %1$s via link" : "நீங்கள் %1$s 'ஐ இணைப்பு மூலம் பகிர்ந்துள்ளிர்கள்.",
+ "%2$s shared %1$s with you" : "%2$s %1$s 'ஐ உங்களுடன் பகிர்ந்துள்ளார்.",
"Shares" : "பகிர்வுகள் "
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/ta_IN.json b/apps/files_sharing/l10n/ta_IN.json
index 5b7f88827a4..a79218f2374 100644
--- a/apps/files_sharing/l10n/ta_IN.json
+++ b/apps/files_sharing/l10n/ta_IN.json
@@ -2,8 +2,8 @@
"A file or folder has been <strong>shared</strong>" : "ஒரு கோப்புறை அல்லது ஆவணம் <strong> பகிர்வு செய்யப்பட்டுள்ளது.</strong>",
"You shared %1$s with %2$s" : "நீங்கள் %1$s 'ஐ %2$s உடன் பகிர்ந்துள்ளிர்கள். ",
"You shared %1$s with group %2$s" : "நீங்கள் %1$s 'ஐ %2$s குழுவுடன் உடன் பகிர்ந்துள்ளிர்கள்.",
- "%2$s shared %1$s with you" : "%2$s %1$s 'ஐ உங்களுடன் பகிர்ந்துள்ளார்.",
"You shared %1$s via link" : "நீங்கள் %1$s 'ஐ இணைப்பு மூலம் பகிர்ந்துள்ளிர்கள்.",
+ "%2$s shared %1$s with you" : "%2$s %1$s 'ஐ உங்களுடன் பகிர்ந்துள்ளார்.",
"Shares" : "பகிர்வுகள் "
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/th_TH.js b/apps/files_sharing/l10n/th_TH.js
index b0022e9d959..ccb2835faf4 100644
--- a/apps/files_sharing/l10n/th_TH.js
+++ b/apps/files_sharing/l10n/th_TH.js
@@ -38,22 +38,21 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "โฟลเดอร์สาธารณะ %1$s ที่แชร์ถูกดาวน์โหลด",
"Public shared file %1$s was downloaded" : "ไฟล์สาธารณะ %1$s ที่แชร์ถูกดาวน์โหลด",
"You shared %1$s with %2$s" : "คุณแชร์ %1$s กับ %2$s",
- "You shared %1$s with group %2$s" : "คุณแชร์ %1$s กับกลุ่ม %2$s",
"%2$s shared %1$s with %3$s" : "%2$s ได้แชร์ %1$s กับ %3$s",
+ "You shared %1$s with group %2$s" : "คุณแชร์ %1$s กับกลุ่ม %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s ได้แชร์ %1$s กับกลุ่ม %3$s",
"%2$s shared %1$s via link" : "%2$s ได้แชร์ %1$s ผ่านลิงค์",
- "%2$s shared %1$s with you" : "%2$s ถูกแชร์ %1$s กับคุณ",
"You shared %1$s via link" : "คุณแชร์ %1$s ผ่านลิงค์",
+ "%2$s shared %1$s with you" : "%2$s ถูกแชร์ %1$s กับคุณ",
"Downloaded via public link" : "ดาวน์โหลดผ่านลิงค์สาธารณะ",
"Shared with %2$s" : "แชร์กับ %2$s",
- "Shared with group %2$s" : "แชร์กับกลุ่ม %2$s",
"Shared with %3$s by %2$s" : "แชร์กับ %3$s โดย %2$s",
+ "Shared with group %2$s" : "แชร์กับกลุ่ม %2$s",
"Shared with group %3$s by %2$s" : "แชร์กับกลุ่ม %3$s โดย %2$s",
"Shared via link by %2$s" : "แชร์ผ่านลิงค์โดย %2$s",
- "Shared by %2$s" : "แชร์โดย %2$s",
"Shared via public link" : "แชร์ผ่านลิงค์สาธารณะ",
+ "Shared by %2$s" : "แชร์โดย %2$s",
"Shares" : "แชร์",
- "You received %2$s as a remote share from %1$s" : "คุณได้รับรีโมทแชร์ %2$s จาก %1$s",
"Accept" : "ยอมรับ",
"Decline" : "ลดลง",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "แชร์ร่วมกับฉันผ่าน #ownCloud ด้วยไอดีคลาวด์ในเครือ สามารถดูได้ที่ %s",
diff --git a/apps/files_sharing/l10n/th_TH.json b/apps/files_sharing/l10n/th_TH.json
index d973ad6ba19..cfba5c6b1b0 100644
--- a/apps/files_sharing/l10n/th_TH.json
+++ b/apps/files_sharing/l10n/th_TH.json
@@ -36,22 +36,21 @@
"Public shared folder %1$s was downloaded" : "โฟลเดอร์สาธารณะ %1$s ที่แชร์ถูกดาวน์โหลด",
"Public shared file %1$s was downloaded" : "ไฟล์สาธารณะ %1$s ที่แชร์ถูกดาวน์โหลด",
"You shared %1$s with %2$s" : "คุณแชร์ %1$s กับ %2$s",
- "You shared %1$s with group %2$s" : "คุณแชร์ %1$s กับกลุ่ม %2$s",
"%2$s shared %1$s with %3$s" : "%2$s ได้แชร์ %1$s กับ %3$s",
+ "You shared %1$s with group %2$s" : "คุณแชร์ %1$s กับกลุ่ม %2$s",
"%2$s shared %1$s with group %3$s" : "%2$s ได้แชร์ %1$s กับกลุ่ม %3$s",
"%2$s shared %1$s via link" : "%2$s ได้แชร์ %1$s ผ่านลิงค์",
- "%2$s shared %1$s with you" : "%2$s ถูกแชร์ %1$s กับคุณ",
"You shared %1$s via link" : "คุณแชร์ %1$s ผ่านลิงค์",
+ "%2$s shared %1$s with you" : "%2$s ถูกแชร์ %1$s กับคุณ",
"Downloaded via public link" : "ดาวน์โหลดผ่านลิงค์สาธารณะ",
"Shared with %2$s" : "แชร์กับ %2$s",
- "Shared with group %2$s" : "แชร์กับกลุ่ม %2$s",
"Shared with %3$s by %2$s" : "แชร์กับ %3$s โดย %2$s",
+ "Shared with group %2$s" : "แชร์กับกลุ่ม %2$s",
"Shared with group %3$s by %2$s" : "แชร์กับกลุ่ม %3$s โดย %2$s",
"Shared via link by %2$s" : "แชร์ผ่านลิงค์โดย %2$s",
- "Shared by %2$s" : "แชร์โดย %2$s",
"Shared via public link" : "แชร์ผ่านลิงค์สาธารณะ",
+ "Shared by %2$s" : "แชร์โดย %2$s",
"Shares" : "แชร์",
- "You received %2$s as a remote share from %1$s" : "คุณได้รับรีโมทแชร์ %2$s จาก %1$s",
"Accept" : "ยอมรับ",
"Decline" : "ลดลง",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "แชร์ร่วมกับฉันผ่าน #ownCloud ด้วยไอดีคลาวด์ในเครือ สามารถดูได้ที่ %s",
diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js
index 5e99aaf3993..df267d35b1f 100644
--- a/apps/files_sharing/l10n/tr.js
+++ b/apps/files_sharing/l10n/tr.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Server to server sharing is not enabled on this server" : "Sunucudan sunucuya paylaşım bu sunucuda etkin değil",
"The mountpoint name contains invalid characters." : "Bağlama noktası adı geçersiz karakterler içeriyor.",
+ "Not allowed to create a federated share with the same user server" : "Aynı sunucuda kullanıcılarla birleşmiş bir paylaşım oluşturmaya izin verilmez",
"Invalid or untrusted SSL certificate" : "Geçersiz veya güvenilmeyen SSL sertifikası",
"Could not authenticate to remote share, password might be wrong" : "Uzak paylaşım kimliği doğrulanamadı, parola hatalı olabilir",
"Storage not valid" : "Depolama geçerli değil",
@@ -10,6 +11,7 @@ OC.L10N.register(
"Shared with you" : "Sizinle paylaşılmış",
"Shared with others" : "Diğerleri ile paylaşılmış",
"Shared by link" : "Bağlantı ile paylaşılmış",
+ "Federated sharing" : "Birleşmiş paylaşım",
"Nothing shared with you yet" : "Sizinle henüz hiçbir şey paylaşılmamış",
"Files and folders others share with you will show up here" : "Sizinle paylaşılan dosya ve klasörler burada gösterilecek",
"Nothing shared yet" : "Henüz hiçbir şey paylaşılmamış",
@@ -37,22 +39,39 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "Herkese açık paylaşılan klasör %1$s indirildi",
"Public shared file %1$s was downloaded" : "Herkese açık paylaşılan dosya %1$s indirildi",
"You shared %1$s with %2$s" : "%1$s dosyasını %2$s ile paylaştınız",
- "You shared %1$s with group %2$s" : "%1$s dosyasını %2$s grubu ile paylaştınız",
"%2$s shared %1$s with %3$s" : "%2$s %3$s ile %1$s dosyasını paylaştı",
+ "You removed the share of %2$s for %1$s" : "%1$s için %2$s paylaşımını kaldırdınız",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s, %1$s için %3$s paylaşımını kaldırdı",
+ "You shared %1$s with group %2$s" : "%1$s dosyasını %2$s grubu ile paylaştınız",
"%2$s shared %1$s with group %3$s" : "%2$s %3$s grubu ile %1$s dosyasını paylaştı",
+ "You removed the share of group %2$s for %1$s" : "%1$s için %2$s grup paylaşımını kaldırdınız",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s, %1$s için %3$s grup paylaşımını kaldırdı",
"%2$s shared %1$s via link" : "%2$s bağlantı ile %1$s dosyasını paylaştı",
- "%2$s shared %1$s with you" : "%2$s sizinle %1$s dosyasını paylaştı",
"You shared %1$s via link" : "Bağlantı ile %1$s paylaşımını yaptınız",
+ "You removed the public link for %1$s" : "%1$s için paylaşım bağlantısını kaldırdınız",
+ "%2$s removed the public link for %1$s" : "%2$s, %1$s için paylaşım bağlantısını kaldırdı",
+ "Your public link for %1$s expired" : "%1$s için paylaşım bağlantınızın süresi doldu",
+ "The public link of %2$s for %1$s expired" : "%1$s için %2$s paylaşım bağlantısının süresi doldu",
+ "%2$s shared %1$s with you" : "%2$s sizinle %1$s dosyasını paylaştı",
+ "%2$s removed the share for %1$s" : "%2$s, %1$s için paylaşımı kaldırdı",
"Downloaded via public link" : "Herkese açık bağlantı ile indirildi",
"Shared with %2$s" : "%2$s ile paylaşıldı",
- "Shared with group %2$s" : "%2$s grubu ile paylaşıldı",
"Shared with %3$s by %2$s" : "%3$s ile %2$s tarafından paylaşıldı",
+ "Removed share for %2$s" : "%2$s için paylaşım kaldırıldı",
+ "%2$s removed share for %3$s" : "%2$s, %3$s için paylaşımı kaldırdı",
+ "Shared with group %2$s" : "%2$s grubu ile paylaşıldı",
"Shared with group %3$s by %2$s" : "%2$s tarafından %3$s grubu ile paylaşıldı",
+ "Removed share of group %2$s" : "%2$s, grup paylaşımını kaldırdı",
+ "%2$s removed share of group %3$s" : "%2$s, %3$s grup paylaşımını kaldırdı",
"Shared via link by %2$s" : "%2$s tarafından bağlantı ile paylaşıldı",
- "Shared by %2$s" : "%2$s tarafından paylaşıldı",
"Shared via public link" : "Herkese açık bağlantı ile paylaşıldı",
+ "Removed public link" : "Paylaşım bağlantısı kaldırıldı",
+ "%2$s removed public link" : "%2$s paylaşım bağlantısını kaldırdı",
+ "Public link expired" : "Paylaşım bağlantısı süresi doldu",
+ "Public link of %2$s expired" : "%2$s için paylaşım bağlantısı süresi doldu",
+ "Shared by %2$s" : "%2$s tarafından paylaşıldı",
"Shares" : "Paylaşımlar",
- "You received %2$s as a remote share from %1$s" : "%1$s kişisinden %2$s paylaşımını uzak paylaşım olarak aldınız",
+ "You received \"/%2$s\" as a remote share from %1$s" : "%1$s kişisinden \"/%2$s\" uzak paylaşımını aldınız",
"Accept" : "Kabul et",
"Decline" : "Reddet",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "#ownCloud Birleşik Bulut kimliğim ile paylaşıldı, bkz %s",
diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json
index 581ef2e0ffc..1b921920dd7 100644
--- a/apps/files_sharing/l10n/tr.json
+++ b/apps/files_sharing/l10n/tr.json
@@ -1,6 +1,7 @@
{ "translations": {
"Server to server sharing is not enabled on this server" : "Sunucudan sunucuya paylaşım bu sunucuda etkin değil",
"The mountpoint name contains invalid characters." : "Bağlama noktası adı geçersiz karakterler içeriyor.",
+ "Not allowed to create a federated share with the same user server" : "Aynı sunucuda kullanıcılarla birleşmiş bir paylaşım oluşturmaya izin verilmez",
"Invalid or untrusted SSL certificate" : "Geçersiz veya güvenilmeyen SSL sertifikası",
"Could not authenticate to remote share, password might be wrong" : "Uzak paylaşım kimliği doğrulanamadı, parola hatalı olabilir",
"Storage not valid" : "Depolama geçerli değil",
@@ -8,6 +9,7 @@
"Shared with you" : "Sizinle paylaşılmış",
"Shared with others" : "Diğerleri ile paylaşılmış",
"Shared by link" : "Bağlantı ile paylaşılmış",
+ "Federated sharing" : "Birleşmiş paylaşım",
"Nothing shared with you yet" : "Sizinle henüz hiçbir şey paylaşılmamış",
"Files and folders others share with you will show up here" : "Sizinle paylaşılan dosya ve klasörler burada gösterilecek",
"Nothing shared yet" : "Henüz hiçbir şey paylaşılmamış",
@@ -35,22 +37,39 @@
"Public shared folder %1$s was downloaded" : "Herkese açık paylaşılan klasör %1$s indirildi",
"Public shared file %1$s was downloaded" : "Herkese açık paylaşılan dosya %1$s indirildi",
"You shared %1$s with %2$s" : "%1$s dosyasını %2$s ile paylaştınız",
- "You shared %1$s with group %2$s" : "%1$s dosyasını %2$s grubu ile paylaştınız",
"%2$s shared %1$s with %3$s" : "%2$s %3$s ile %1$s dosyasını paylaştı",
+ "You removed the share of %2$s for %1$s" : "%1$s için %2$s paylaşımını kaldırdınız",
+ "%2$s removed the share of %3$s for %1$s" : "%2$s, %1$s için %3$s paylaşımını kaldırdı",
+ "You shared %1$s with group %2$s" : "%1$s dosyasını %2$s grubu ile paylaştınız",
"%2$s shared %1$s with group %3$s" : "%2$s %3$s grubu ile %1$s dosyasını paylaştı",
+ "You removed the share of group %2$s for %1$s" : "%1$s için %2$s grup paylaşımını kaldırdınız",
+ "%2$s removed the share of group %3$s for %1$s" : "%2$s, %1$s için %3$s grup paylaşımını kaldırdı",
"%2$s shared %1$s via link" : "%2$s bağlantı ile %1$s dosyasını paylaştı",
- "%2$s shared %1$s with you" : "%2$s sizinle %1$s dosyasını paylaştı",
"You shared %1$s via link" : "Bağlantı ile %1$s paylaşımını yaptınız",
+ "You removed the public link for %1$s" : "%1$s için paylaşım bağlantısını kaldırdınız",
+ "%2$s removed the public link for %1$s" : "%2$s, %1$s için paylaşım bağlantısını kaldırdı",
+ "Your public link for %1$s expired" : "%1$s için paylaşım bağlantınızın süresi doldu",
+ "The public link of %2$s for %1$s expired" : "%1$s için %2$s paylaşım bağlantısının süresi doldu",
+ "%2$s shared %1$s with you" : "%2$s sizinle %1$s dosyasını paylaştı",
+ "%2$s removed the share for %1$s" : "%2$s, %1$s için paylaşımı kaldırdı",
"Downloaded via public link" : "Herkese açık bağlantı ile indirildi",
"Shared with %2$s" : "%2$s ile paylaşıldı",
- "Shared with group %2$s" : "%2$s grubu ile paylaşıldı",
"Shared with %3$s by %2$s" : "%3$s ile %2$s tarafından paylaşıldı",
+ "Removed share for %2$s" : "%2$s için paylaşım kaldırıldı",
+ "%2$s removed share for %3$s" : "%2$s, %3$s için paylaşımı kaldırdı",
+ "Shared with group %2$s" : "%2$s grubu ile paylaşıldı",
"Shared with group %3$s by %2$s" : "%2$s tarafından %3$s grubu ile paylaşıldı",
+ "Removed share of group %2$s" : "%2$s, grup paylaşımını kaldırdı",
+ "%2$s removed share of group %3$s" : "%2$s, %3$s grup paylaşımını kaldırdı",
"Shared via link by %2$s" : "%2$s tarafından bağlantı ile paylaşıldı",
- "Shared by %2$s" : "%2$s tarafından paylaşıldı",
"Shared via public link" : "Herkese açık bağlantı ile paylaşıldı",
+ "Removed public link" : "Paylaşım bağlantısı kaldırıldı",
+ "%2$s removed public link" : "%2$s paylaşım bağlantısını kaldırdı",
+ "Public link expired" : "Paylaşım bağlantısı süresi doldu",
+ "Public link of %2$s expired" : "%2$s için paylaşım bağlantısı süresi doldu",
+ "Shared by %2$s" : "%2$s tarafından paylaşıldı",
"Shares" : "Paylaşımlar",
- "You received %2$s as a remote share from %1$s" : "%1$s kişisinden %2$s paylaşımını uzak paylaşım olarak aldınız",
+ "You received \"/%2$s\" as a remote share from %1$s" : "%1$s kişisinden \"/%2$s\" uzak paylaşımını aldınız",
"Accept" : "Kabul et",
"Decline" : "Reddet",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "#ownCloud Birleşik Bulut kimliğim ile paylaşıldı, bkz %s",
diff --git a/apps/files_sharing/l10n/uk.js b/apps/files_sharing/l10n/uk.js
index 80c28c8a936..b122664beca 100644
--- a/apps/files_sharing/l10n/uk.js
+++ b/apps/files_sharing/l10n/uk.js
@@ -37,8 +37,8 @@ OC.L10N.register(
"Public shared file %1$s was downloaded" : "Опублікований файл %1$s був завантажений",
"You shared %1$s with %2$s" : "Ви поділилися %1$s з %2$s",
"You shared %1$s with group %2$s" : "Ви поділилися %1$s з групою %2$s",
- "%2$s shared %1$s with you" : "%2$s поділився %1$s з вами",
"You shared %1$s via link" : "Ви поділилися %1$s використовуючи лінк",
+ "%2$s shared %1$s with you" : "%2$s поділився %1$s з вами",
"Shares" : "Розподільні",
"This share is password-protected" : "Цей ресурс обміну захищений паролем",
"The password is wrong. Try again." : "Невірний пароль. Спробуйте ще раз.",
diff --git a/apps/files_sharing/l10n/uk.json b/apps/files_sharing/l10n/uk.json
index 0b5de75ac5a..363a02ed7ed 100644
--- a/apps/files_sharing/l10n/uk.json
+++ b/apps/files_sharing/l10n/uk.json
@@ -35,8 +35,8 @@
"Public shared file %1$s was downloaded" : "Опублікований файл %1$s був завантажений",
"You shared %1$s with %2$s" : "Ви поділилися %1$s з %2$s",
"You shared %1$s with group %2$s" : "Ви поділилися %1$s з групою %2$s",
- "%2$s shared %1$s with you" : "%2$s поділився %1$s з вами",
"You shared %1$s via link" : "Ви поділилися %1$s використовуючи лінк",
+ "%2$s shared %1$s with you" : "%2$s поділився %1$s з вами",
"Shares" : "Розподільні",
"This share is password-protected" : "Цей ресурс обміну захищений паролем",
"The password is wrong. Try again." : "Невірний пароль. Спробуйте ще раз.",
diff --git a/apps/files_sharing/l10n/zh_CN.js b/apps/files_sharing/l10n/zh_CN.js
index c62e6a47621..edcc9714799 100644
--- a/apps/files_sharing/l10n/zh_CN.js
+++ b/apps/files_sharing/l10n/zh_CN.js
@@ -21,8 +21,8 @@ OC.L10N.register(
"You received a new remote share from %s" : "您从%s收到了新的远程分享",
"You shared %1$s with %2$s" : "您把 %1$s分享给了 %2$s",
"You shared %1$s with group %2$s" : "你把 %1$s 分享给了 %2$s 组",
- "%2$s shared %1$s with you" : "%2$s 把 %1$s 分享给了您",
"You shared %1$s via link" : "您通过链接共享了 %1$s",
+ "%2$s shared %1$s with you" : "%2$s 把 %1$s 分享给了您",
"Shares" : "共享",
"This share is password-protected" : "这是一个密码保护的共享",
"The password is wrong. Try again." : "用户名或密码错误!请重试",
diff --git a/apps/files_sharing/l10n/zh_CN.json b/apps/files_sharing/l10n/zh_CN.json
index 5496d90bea1..eef54c49e15 100644
--- a/apps/files_sharing/l10n/zh_CN.json
+++ b/apps/files_sharing/l10n/zh_CN.json
@@ -19,8 +19,8 @@
"You received a new remote share from %s" : "您从%s收到了新的远程分享",
"You shared %1$s with %2$s" : "您把 %1$s分享给了 %2$s",
"You shared %1$s with group %2$s" : "你把 %1$s 分享给了 %2$s 组",
- "%2$s shared %1$s with you" : "%2$s 把 %1$s 分享给了您",
"You shared %1$s via link" : "您通过链接共享了 %1$s",
+ "%2$s shared %1$s with you" : "%2$s 把 %1$s 分享给了您",
"Shares" : "共享",
"This share is password-protected" : "这是一个密码保护的共享",
"The password is wrong. Try again." : "用户名或密码错误!请重试",
diff --git a/apps/files_sharing/l10n/zh_TW.js b/apps/files_sharing/l10n/zh_TW.js
index 7416545bc4c..a3de7a5ef4a 100644
--- a/apps/files_sharing/l10n/zh_TW.js
+++ b/apps/files_sharing/l10n/zh_TW.js
@@ -38,22 +38,21 @@ OC.L10N.register(
"Public shared folder %1$s was downloaded" : "共享資料夾 %1$s 已被下載",
"Public shared file %1$s was downloaded" : "共享檔案 %1$s 已被下載",
"You shared %1$s with %2$s" : "您與 %2$s 分享了 %1$s",
- "You shared %1$s with group %2$s" : "您與 %2$s 群組分享了 %1$s",
"%2$s shared %1$s with %3$s" : "%2$s 與 %3$s 分享了 %1$s",
+ "You shared %1$s with group %2$s" : "您與 %2$s 群組分享了 %1$s",
"%2$s shared %1$s with group %3$s" : "%2$s 與群組 %3$s 分享了 %1$s",
"%2$s shared %1$s via link" : "%2$s 透過連結分享了 %1$s ",
- "%2$s shared %1$s with you" : "%2$s 與您分享了 %1$s",
"You shared %1$s via link" : "您以連結分享了 %1$s",
+ "%2$s shared %1$s with you" : "%2$s 與您分享了 %1$s",
"Downloaded via public link" : "透過公用連結下載",
"Shared with %2$s" : "與 %2$s 分享",
- "Shared with group %2$s" : "與群組 %2$s 分享",
"Shared with %3$s by %2$s" : "透過 %2$s 與 %3$s 分享",
+ "Shared with group %2$s" : "與群組 %2$s 分享",
"Shared with group %3$s by %2$s" : "透過 %2$s 與群組 %3$s 分享",
"Shared via link by %2$s" : "%2$s 透過連結分享",
- "Shared by %2$s" : "由 %2$s 分享",
"Shared via public link" : "透過公用連結分享",
+ "Shared by %2$s" : "由 %2$s 分享",
"Shares" : "分享",
- "You received %2$s as a remote share from %1$s" : "您收到了來自 %1$s 的一個遠端分享 %2$s ",
"Accept" : "接受",
"Decline" : "拒絕",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "可透過我的 #ownCloud 聯盟雲端 ID,與我分享,請看 %s",
diff --git a/apps/files_sharing/l10n/zh_TW.json b/apps/files_sharing/l10n/zh_TW.json
index 0a2a18bc5f8..7a237c1c58a 100644
--- a/apps/files_sharing/l10n/zh_TW.json
+++ b/apps/files_sharing/l10n/zh_TW.json
@@ -36,22 +36,21 @@
"Public shared folder %1$s was downloaded" : "共享資料夾 %1$s 已被下載",
"Public shared file %1$s was downloaded" : "共享檔案 %1$s 已被下載",
"You shared %1$s with %2$s" : "您與 %2$s 分享了 %1$s",
- "You shared %1$s with group %2$s" : "您與 %2$s 群組分享了 %1$s",
"%2$s shared %1$s with %3$s" : "%2$s 與 %3$s 分享了 %1$s",
+ "You shared %1$s with group %2$s" : "您與 %2$s 群組分享了 %1$s",
"%2$s shared %1$s with group %3$s" : "%2$s 與群組 %3$s 分享了 %1$s",
"%2$s shared %1$s via link" : "%2$s 透過連結分享了 %1$s ",
- "%2$s shared %1$s with you" : "%2$s 與您分享了 %1$s",
"You shared %1$s via link" : "您以連結分享了 %1$s",
+ "%2$s shared %1$s with you" : "%2$s 與您分享了 %1$s",
"Downloaded via public link" : "透過公用連結下載",
"Shared with %2$s" : "與 %2$s 分享",
- "Shared with group %2$s" : "與群組 %2$s 分享",
"Shared with %3$s by %2$s" : "透過 %2$s 與 %3$s 分享",
+ "Shared with group %2$s" : "與群組 %2$s 分享",
"Shared with group %3$s by %2$s" : "透過 %2$s 與群組 %3$s 分享",
"Shared via link by %2$s" : "%2$s 透過連結分享",
- "Shared by %2$s" : "由 %2$s 分享",
"Shared via public link" : "透過公用連結分享",
+ "Shared by %2$s" : "由 %2$s 分享",
"Shares" : "分享",
- "You received %2$s as a remote share from %1$s" : "您收到了來自 %1$s 的一個遠端分享 %2$s ",
"Accept" : "接受",
"Decline" : "拒絕",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "可透過我的 #ownCloud 聯盟雲端 ID,與我分享,請看 %s",
diff --git a/apps/files_sharing/lib/activity.php b/apps/files_sharing/lib/activity.php
index 37a8113b916..721379eb78f 100644
--- a/apps/files_sharing/lib/activity.php
+++ b/apps/files_sharing/lib/activity.php
@@ -54,14 +54,26 @@ class Activity implements IExtension {
const SUBJECT_REMOTE_SHARE_RECEIVED = 'remote_share_received';
const SUBJECT_REMOTE_SHARE_UNSHARED = 'remote_share_unshared';
- 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_RESHARED_USER_BY = 'reshared_user_by';
+ const SUBJECT_UNSHARED_USER_SELF = 'unshared_user_self';
+ const SUBJECT_UNSHARED_USER_BY = 'unshared_user_by';
+
+ const SUBJECT_SHARED_GROUP_SELF = 'shared_group_self';
const SUBJECT_RESHARED_GROUP_BY = 'reshared_group_by';
+ const SUBJECT_UNSHARED_GROUP_SELF = 'unshared_group_self';
+ const SUBJECT_UNSHARED_GROUP_BY = 'unshared_group_by';
+
+ const SUBJECT_SHARED_LINK_SELF = 'shared_link_self';
const SUBJECT_RESHARED_LINK_BY = 'reshared_link_by';
- const SUBJECT_RESHARED_USER_BY = 'reshared_user_by';
+ const SUBJECT_UNSHARED_LINK_SELF = 'unshared_link_self';
+ const SUBJECT_UNSHARED_LINK_BY = 'unshared_link_by';
+ const SUBJECT_LINK_EXPIRED = 'link_expired';
+ const SUBJECT_LINK_BY_EXPIRED = 'link_by_expired';
+
const SUBJECT_SHARED_EMAIL = 'shared_with_email';
const SUBJECT_SHARED_WITH_BY = 'shared_with_by';
+ const SUBJECT_UNSHARED_BY = 'unshared_by';
/** @var IFactory */
protected $languageFactory;
@@ -197,20 +209,42 @@ class Activity implements IExtension {
return (string) $l->t('Public shared folder %1$s was downloaded', $params);
case self::SUBJECT_PUBLIC_SHARED_FILE_DOWNLOADED:
return (string) $l->t('Public shared file %1$s was downloaded', $params);
+
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_RESHARED_USER_BY:
return (string) $l->t('%2$s shared %1$s with %3$s', $params);
+ case self::SUBJECT_UNSHARED_USER_SELF:
+ return (string) $l->t('You removed the share of %2$s for %1$s', $params);
+ case self::SUBJECT_UNSHARED_USER_BY:
+ return (string) $l->t('%2$s removed the share of %3$s for %1$s', $params);
+
+ case self::SUBJECT_SHARED_GROUP_SELF:
+ return (string) $l->t('You shared %1$s with group %2$s', $params);
case self::SUBJECT_RESHARED_GROUP_BY:
return (string) $l->t('%2$s shared %1$s with group %3$s', $params);
+ case self::SUBJECT_UNSHARED_GROUP_SELF:
+ return (string) $l->t('You removed the share of group %2$s for %1$s', $params);
+ case self::SUBJECT_UNSHARED_GROUP_BY:
+ return (string) $l->t('%2$s removed the share of group %3$s for %1$s', $params);
+
case self::SUBJECT_RESHARED_LINK_BY:
return (string) $l->t('%2$s shared %1$s via link', $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);
+ case self::SUBJECT_UNSHARED_LINK_SELF:
+ return (string) $l->t('You removed the public link for %1$s', $params);
+ case self::SUBJECT_UNSHARED_LINK_BY:
+ return (string) $l->t('%2$s removed the public link for %1$s', $params);
+ case self::SUBJECT_LINK_EXPIRED:
+ return (string) $l->t('Your public link for %1$s expired', $params);
+ case self::SUBJECT_LINK_BY_EXPIRED:
+ return (string) $l->t('The public link of %2$s for %1$s expired', $params);
+
+ case self::SUBJECT_SHARED_WITH_BY:
+ return (string) $l->t('%2$s shared %1$s with you', $params);
+ case self::SUBJECT_UNSHARED_BY:
+ return (string) $l->t('%2$s removed the share for %1$s', $params);
case self::SUBJECT_SHARED_EMAIL:
return (string) $l->t('You shared %1$s with %2$s', $params);
}
@@ -229,20 +263,40 @@ class Activity implements IExtension {
case self::SUBJECT_PUBLIC_SHARED_FOLDER_DOWNLOADED:
case self::SUBJECT_PUBLIC_SHARED_FILE_DOWNLOADED:
return (string) $l->t('Downloaded via public link');
+
case self::SUBJECT_SHARED_USER_SELF:
return (string) $l->t('Shared with %2$s', $params);
- case self::SUBJECT_SHARED_GROUP_SELF:
- return (string) $l->t('Shared with group %2$s', $params);
case self::SUBJECT_RESHARED_USER_BY:
return (string) $l->t('Shared with %3$s by %2$s', $params);
+ case self::SUBJECT_UNSHARED_USER_SELF:
+ return (string) $l->t('Removed share for %2$s', $params);
+ case self::SUBJECT_UNSHARED_USER_BY:
+ return (string) $l->t('%2$s removed share for %3$s', $params);
+
+ case self::SUBJECT_SHARED_GROUP_SELF:
+ return (string) $l->t('Shared with group %2$s', $params);
case self::SUBJECT_RESHARED_GROUP_BY:
return (string) $l->t('Shared with group %3$s by %2$s', $params);
+ case self::SUBJECT_UNSHARED_GROUP_SELF:
+ return (string) $l->t('Removed share of group %2$s', $params);
+ case self::SUBJECT_UNSHARED_GROUP_BY:
+ return (string) $l->t('%2$s removed share of group %3$s', $params);
+
case self::SUBJECT_RESHARED_LINK_BY:
return (string) $l->t('Shared via link by %2$s', $params);
- case self::SUBJECT_SHARED_WITH_BY:
- return (string) $l->t('Shared by %2$s', $params);
case self::SUBJECT_SHARED_LINK_SELF:
return (string) $l->t('Shared via public link');
+ case self::SUBJECT_UNSHARED_LINK_SELF:
+ return (string) $l->t('Removed public link');
+ case self::SUBJECT_UNSHARED_LINK_BY:
+ return (string) $l->t('%2$s removed public link');
+ case self::SUBJECT_LINK_EXPIRED:
+ return (string) $l->t('Public link expired', $params);
+ case self::SUBJECT_LINK_BY_EXPIRED:
+ return (string) $l->t('Public link of %2$s expired', $params);
+
+ case self::SUBJECT_SHARED_WITH_BY:
+ return (string) $l->t('Shared by %2$s', $params);
case self::SUBJECT_SHARED_EMAIL:
return (string) $l->t('Shared with %2$s', $params);
@@ -283,6 +337,8 @@ class Activity implements IExtension {
0 => 'file',
);
case self::SUBJECT_SHARED_LINK_SELF:
+ case self::SUBJECT_UNSHARED_LINK_SELF:
+ case self::SUBJECT_LINK_EXPIRED:
return [0 => 'file'];
case self::SUBJECT_RESHARED_LINK_BY:
return [
@@ -298,8 +354,13 @@ class Activity implements IExtension {
case self::SUBJECT_SHARED_USER_SELF:
case self::SUBJECT_SHARED_WITH_BY:
+ case self::SUBJECT_UNSHARED_BY:
+ case self::SUBJECT_UNSHARED_LINK_BY:
+ case self::SUBJECT_LINK_BY_EXPIRED:
+ case self::SUBJECT_UNSHARED_USER_SELF:
return [0 => 'file', 1 => 'username'];
case self::SUBJECT_RESHARED_USER_BY:
+ case self::SUBJECT_UNSHARED_USER_BY:
return [
0 => 'file',
1 => 'username',
@@ -307,12 +368,14 @@ class Activity implements IExtension {
];
case self::SUBJECT_SHARED_GROUP_SELF:
+ case self::SUBJECT_UNSHARED_GROUP_SELF:
return [
0 => 'file',
1 => 'group',
];
case self::SUBJECT_RESHARED_GROUP_BY:
+ case self::SUBJECT_UNSHARED_GROUP_BY:
return [
0 => 'file',
1 => 'username',
@@ -335,18 +398,16 @@ class Activity implements IExtension {
if ($activity['app'] === self::FILES_SHARING_APP) {
switch ($activity['subject']) {
case self::SUBJECT_SHARED_LINK_SELF:
+ case self::SUBJECT_UNSHARED_LINK_SELF:
+ case self::SUBJECT_LINK_EXPIRED:
case self::SUBJECT_SHARED_WITH_BY:
+ case self::SUBJECT_UNSHARED_BY:
// Group by file name
return 0;
case self::SUBJECT_SHARED_USER_SELF:
case self::SUBJECT_SHARED_GROUP_SELF:
// Group by user/group
return 1;
- case self::SUBJECT_RESHARED_USER_BY:
- case self::SUBJECT_RESHARED_GROUP_BY:
- // Group by user/group
- // FIXME: Grouping does currently not work with more then 2 parameters
- // return 2;
}
}
diff --git a/apps/files_sharing/lib/external/manager.php b/apps/files_sharing/lib/external/manager.php
index 21729d326e5..84de1da69f6 100644
--- a/apps/files_sharing/lib/external/manager.php
+++ b/apps/files_sharing/lib/external/manager.php
@@ -194,7 +194,7 @@ class Manager {
\OC_Hook::emit('OCP\Share', 'federated_share_added', ['server' => $share['remote']]);
- $this->scrapNotification($id);
+ $this->processNotification($id);
return true;
}
@@ -217,7 +217,7 @@ class Manager {
$removeShare->execute(array($id, $this->uid));
$this->sendFeedbackToRemote($share['remote'], $share['share_token'], $share['remote_id'], 'decline');
- $this->scrapNotification($id);
+ $this->processNotification($id);
return true;
}
@@ -227,7 +227,7 @@ class Manager {
/**
* @param int $remoteShare
*/
- protected function scrapNotification($remoteShare) {
+ public function processNotification($remoteShare) {
$filter = $this->notificationManager->createNotification();
$filter->setApp('files_sharing')
->setUser($this->uid)
diff --git a/apps/files_sharing/lib/migration.php b/apps/files_sharing/lib/migration.php
index e7346385510..31a76687d40 100644
--- a/apps/files_sharing/lib/migration.php
+++ b/apps/files_sharing/lib/migration.php
@@ -55,32 +55,30 @@ class Migration {
*/
public function removeReShares() {
- while(true) {
- $reShares = $this->getReShares(1000);
+ $stmt = $this->getReShares();
- if (empty($reShares)) {
- break;
- }
+ $owners = [];
+ while($share = $stmt->fetch()) {
- // Update the cache
- foreach($reShares as $reShare) {
- $this->shareCache[$reShare['id']] = $reShare;
- }
+ $this->shareCache[$share['id']] = $share;
- $owners = [];
- foreach ($reShares as $share) {
- $owners[$share['id']] = [
+ $owners[$share['id']] = [
'owner' => $this->findOwner($share),
- 'initiator' => $share['uid_owner']
- ];
- }
- $this->updateOwners($owners);
+ 'initiator' => $share['uid_owner'],
+ 'type' => $share['share_type'],
+ ];
- //Clear the cache of the shares we just updated so we have more room
- foreach($owners as $id => $owner) {
- unset($this->shareCache[$id]);
+ if (count($owners) === 1000) {
+ $this->updateOwners($owners);
+ $owners = [];
}
}
+
+ $stmt->closeCursor();
+
+ if (count($owners)) {
+ $this->updateOwners($owners);
+ }
}
/**
@@ -99,7 +97,8 @@ class Migration {
foreach ($shares as $share) {
$owners[$share['id']] = [
'owner' => $share['uid_owner'],
- 'initiator' => $share['uid_owner']
+ 'initiator' => $share['uid_owner'],
+ 'type' => $share['share_type'],
];
}
$this->updateOwners($owners);
@@ -130,11 +129,11 @@ class Migration {
* Get $n re-shares from the database
*
* @param int $n The max number of shares to fetch
- * @return array
+ * @return \Doctrine\DBAL\Driver\Statement
*/
- private function getReShares($n = 1000) {
+ private function getReShares() {
$query = $this->connection->getQueryBuilder();
- $query->select(['id', 'parent', 'uid_owner'])
+ $query->select(['id', 'parent', 'uid_owner', 'share_type'])
->from($this->table)
->where($query->expr()->in(
'share_type',
@@ -156,9 +155,10 @@ class Migration {
)
))
->andWhere($query->expr()->isNotNull('parent'))
- ->orderBy('id', 'asc')
- ->setMaxResults($n);
- $result = $query->execute();
+ ->orderBy('id', 'asc');
+ return $query->execute();
+
+
$shares = $result->fetchAll();
$result->closeCursor();
@@ -178,7 +178,7 @@ class Migration {
*/
private function getMissingInitiator($n = 1000) {
$query = $this->connection->getQueryBuilder();
- $query->select(['id', 'uid_owner'])
+ $query->select(['id', 'uid_owner', 'share_type'])
->from($this->table)
->where($query->expr()->in(
'share_type',
@@ -247,11 +247,17 @@ class Migration {
foreach ($owners as $id => $owner) {
$query = $this->connection->getQueryBuilder();
$query->update($this->table)
- ->set('parent', $query->createNamedParameter(null))
->set('uid_owner', $query->createNamedParameter($owner['owner']))
- ->set('uid_initiator', $query->createNamedParameter($owner['initiator']))
- ->where($query->expr()->eq('id', $query->createNamedParameter($id)))
- ->execute();
+ ->set('uid_initiator', $query->createNamedParameter($owner['initiator']));
+
+
+ if ((int)$owner['type'] !== \OCP\Share::SHARE_TYPE_LINK) {
+ $query->set('parent', $query->createNamedParameter(null));
+ }
+
+ $query->where($query->expr()->eq('id', $query->createNamedParameter($id)));
+
+ $query->execute();
}
$this->connection->commit();
diff --git a/apps/files_sharing/tests/api.php b/apps/files_sharing/tests/api.php
index 49a08d3d0ce..3a2ae1eef37 100644
--- a/apps/files_sharing/tests/api.php
+++ b/apps/files_sharing/tests/api.php
@@ -40,6 +40,9 @@ class Test_Files_Sharing_Api extends TestCase {
private static $tempStorage;
+ /** @var \OCP\Share\IManager */
+ private $shareManager;
+
protected function setUp() {
parent::setUp();
@@ -59,6 +62,8 @@ class Test_Files_Sharing_Api extends TestCase {
$this->view->mkdir($this->folder . $this->subfolder . $this->subsubfolder);
$this->view->file_put_contents($this->folder.$this->filename, $this->data);
$this->view->file_put_contents($this->folder . $this->subfolder . $this->filename, $this->data);
+
+ $this->shareManager = \OC::$server->getShareManager();
}
protected function tearDown() {
@@ -73,6 +78,40 @@ class Test_Files_Sharing_Api extends TestCase {
}
/**
+ * @param array $data
+ * @return \OCP\IRequest
+ */
+ private function createRequest(array $data) {
+ $request = $this->getMock('\OCP\IRequest');
+ $request->method('getParam')
+ ->will($this->returnCallback(function($param, $default = null) use ($data) {
+ if (isset($data[$param])) {
+ return $data[$param];
+ }
+ return $default;
+ }));
+ return $request;
+ }
+
+ /**
+ * @param \OCP\IRequest $request
+ * @param string $userId The userId of the caller
+ * @return \OCA\Files_Sharing\API\Share20OCS
+ */
+ private function createOCS($request, $userId) {
+ $currentUser = \OC::$server->getUserManager()->get($userId);
+ return new \OCA\Files_Sharing\API\Share20OCS(
+ $this->shareManager,
+ \OC::$server->getGroupManager(),
+ \OC::$server->getUserManager(),
+ $request,
+ \OC::$server->getRootFolder(),
+ \OC::$server->getURLGenerator(),
+ $currentUser
+ );
+ }
+
+ /**
* @medium
*/
function testCreateShareUserFile() {
@@ -1725,4 +1764,85 @@ class Test_Files_Sharing_Api extends TestCase {
$config->setAppValue('core', 'shareapi_enforce_expire_date', 'no');
}
+ /**
+ * test for no invisible shares
+ * See: https://github.com/owncloud/core/issues/22295
+ */
+ public function testInvisibleSharesUser() {
+ // simulate a post request
+ $request = $this->createRequest([
+ 'path' => $this->folder,
+ 'shareWith' => self::TEST_FILES_SHARING_API_USER2,
+ 'shareType' => \OCP\Share::SHARE_TYPE_USER
+ ]);
+ $ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER1);
+ $result = $ocs->createShare();
+ $this->assertTrue($result->succeeded());
+ $data = $result->getData();
+
+ $topId = $data['id'];
+
+ $request = $this->createRequest([
+ 'path' => $this->folder . $this->subfolder,
+ 'shareType' => \OCP\Share::SHARE_TYPE_LINK,
+ ]);
+ $ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER2);
+ $result = $ocs->createShare();
+ $this->assertTrue($result->succeeded());
+
+ $request = $this->createRequest([]);
+ $ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER1);
+ $result = $ocs->deleteShare($topId);
+ $this->assertTrue($result->succeeded());
+
+ $request = $this->createRequest([
+ 'reshares' => 'true',
+ ]);
+ $ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER1);
+ $result = $ocs->getShares();
+ $this->assertTrue($result->succeeded());
+
+ $this->assertEmpty($result->getData());
+ }
+
+ /**
+ * test for no invisible shares
+ * See: https://github.com/owncloud/core/issues/22295
+ */
+ public function testInvisibleSharesGroup() {
+ // simulate a post request
+ $request = $this->createRequest([
+ 'path' => $this->folder,
+ 'shareWith' => self::TEST_FILES_SHARING_API_GROUP1,
+ 'shareType' => \OCP\Share::SHARE_TYPE_GROUP
+ ]);
+ $ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER1);
+ $result = $ocs->createShare();
+ $this->assertTrue($result->succeeded());
+ $data = $result->getData();
+
+ $topId = $data['id'];
+
+ $request = $this->createRequest([
+ 'path' => $this->folder . $this->subfolder,
+ 'shareType' => \OCP\Share::SHARE_TYPE_LINK,
+ ]);
+ $ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER2);
+ $result = $ocs->createShare();
+ $this->assertTrue($result->succeeded());
+
+ $request = $this->createRequest([]);
+ $ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER1);
+ $result = $ocs->deleteShare($topId);
+ $this->assertTrue($result->succeeded());
+
+ $request = $this->createRequest([
+ 'reshares' => 'true',
+ ]);
+ $ocs = $this->createOCS($request, self::TEST_FILES_SHARING_API_USER1);
+ $result = $ocs->getShares();
+ $this->assertTrue($result->succeeded());
+
+ $this->assertEmpty($result->getData());
+ }
}
diff --git a/apps/files_sharing/tests/api/shareestest.php b/apps/files_sharing/tests/api/shareestest.php
index 4b8034a48b7..5a18f6f2f44 100644
--- a/apps/files_sharing/tests/api/shareestest.php
+++ b/apps/files_sharing/tests/api/shareestest.php
@@ -805,7 +805,7 @@ class ShareesTest extends TestCase {
true,
[],
[
- ['label' => 'User @ Localhost', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost']],
+ ['label' => 'User @ Localhost', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost', 'server' => 'localhost']],
],
true,
],
@@ -855,7 +855,7 @@ class ShareesTest extends TestCase {
['label' => 'test@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'test@remote']],
],
[
- ['label' => 'User @ Localhost', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost']],
+ ['label' => 'User @ Localhost', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost', 'server' => 'localhost']],
],
true,
],
@@ -904,7 +904,7 @@ class ShareesTest extends TestCase {
],
true,
[
- ['label' => 'User @ Localhost', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost']],
+ ['label' => 'User @ Localhost', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost', 'server' => 'localhost']],
],
[],
true,
@@ -929,7 +929,7 @@ class ShareesTest extends TestCase {
],
false,
[
- ['label' => 'User @ Localhost', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost']],
+ ['label' => 'User @ Localhost', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost', 'server' => 'localhost']],
],
[],
true,
@@ -1435,4 +1435,97 @@ class ShareesTest extends TestCase {
$this->assertArrayHasKey('message', $meta);
$this->assertSame($message, $meta['message']);
}
+
+ /**
+ * @dataProvider dataTestSplitUserRemote
+ *
+ * @param string $remote
+ * @param string $expectedUser
+ * @param string $expectedUrl
+ */
+ public function testSplitUserRemote($remote, $expectedUser, $expectedUrl) {
+ list($remoteUser, $remoteUrl) = $this->sharees->splitUserRemote($remote);
+ $this->assertSame($expectedUser, $remoteUser);
+ $this->assertSame($expectedUrl, $remoteUrl);
+ }
+
+ public function dataTestSplitUserRemote() {
+ $userPrefix = ['user@name', 'username'];
+ $protocols = ['', 'http://', 'https://'];
+ $remotes = [
+ 'localhost',
+ 'local.host',
+ 'dev.local.host',
+ 'dev.local.host/path',
+ 'dev.local.host/at@inpath',
+ '127.0.0.1',
+ '::1',
+ '::192.0.2.128',
+ '::192.0.2.128/at@inpath',
+ ];
+
+ $testCases = [];
+ foreach ($userPrefix as $user) {
+ foreach ($remotes as $remote) {
+ foreach ($protocols as $protocol) {
+ $baseUrl = $user . '@' . $protocol . $remote;
+
+ $testCases[] = [$baseUrl, $user, $protocol . $remote];
+ $testCases[] = [$baseUrl . '/', $user, $protocol . $remote];
+ $testCases[] = [$baseUrl . '/index.php', $user, $protocol . $remote];
+ $testCases[] = [$baseUrl . '/index.php/s/token', $user, $protocol . $remote];
+ }
+ }
+ }
+ return $testCases;
+ }
+
+ public function dataTestSplitUserRemoteError() {
+ return array(
+ // Invalid path
+ array('user@'),
+
+ // Invalid user
+ array('@server'),
+ array('us/er@server'),
+ array('us:er@server'),
+
+ // Invalid splitting
+ array('user'),
+ array(''),
+ array('us/erserver'),
+ array('us:erserver'),
+ );
+ }
+
+ /**
+ * @dataProvider dataTestSplitUserRemoteError
+ *
+ * @param string $id
+ * @expectedException \Exception
+ */
+ public function testSplitUserRemoteError($id) {
+ $this->sharees->splitUserRemote($id);
+ }
+
+ /**
+ * @dataProvider dataTestFixRemoteUrl
+ *
+ * @param string $url
+ * @param string $expected
+ */
+ public function testFixRemoteUrl($url, $expected) {
+ $this->assertSame($expected,
+ $this->invokePrivate($this->sharees, 'fixRemoteURL', [$url])
+ );
+ }
+
+ public function dataTestFixRemoteUrl() {
+ return [
+ ['http://localhost', 'http://localhost'],
+ ['http://localhost/', 'http://localhost'],
+ ['http://localhost/index.php', 'http://localhost'],
+ ['http://localhost/index.php/s/AShareToken', 'http://localhost'],
+ ];
+ }
}
diff --git a/apps/files_sharing/tests/migrationtest.php b/apps/files_sharing/tests/migrationtest.php
index 8a40b76a642..1bca4a419f3 100644
--- a/apps/files_sharing/tests/migrationtest.php
+++ b/apps/files_sharing/tests/migrationtest.php
@@ -226,6 +226,23 @@ class MigrationTest extends TestCase {
$this->assertSame(1,
$query->execute()
);
+
+ // Link reshare should keep its parent
+ $query->setParameter('share_type', \OCP\Share::SHARE_TYPE_LINK)
+ ->setParameter('share_with', null)
+ ->setParameter('uid_owner', 'user3')
+ ->setParameter('uid_initiator', '')
+ ->setParameter('parent', $parent)
+ ->setParameter('item_type', 'file')
+ ->setParameter('item_source', '2')
+ ->setParameter('item_target', '/2')
+ ->setParameter('file_source', 2)
+ ->setParameter('file_target', '/foobar')
+ ->setParameter('permissions', 31)
+ ->setParameter('stime', time());
+ $this->assertSame(1,
+ $query->execute()
+ );
}
public function testRemoveReShares() {
@@ -238,7 +255,7 @@ class MigrationTest extends TestCase {
$query = $this->connection->getQueryBuilder();
$query->select('*')->from($this->table)->orderBy('id');
$result = $query->execute()->fetchAll();
- $this->assertSame(9, count($result));
+ $this->assertSame(10, count($result));
// shares which shouldn't be modified
for ($i = 0; $i < 4; $i++) {
@@ -261,6 +278,14 @@ class MigrationTest extends TestCase {
$this->assertSame($user, $result[$i]['uid_initiator']);
$this->assertNull($result[$i]['parent']);
}
+
+ /*
+ * The link share is flattend but has an owner to avoid invisible shares
+ * see: https://github.com/owncloud/core/pull/22317
+ */
+ $this->assertSame('owner2', $result[9]['uid_owner']);
+ $this->assertSame('user3', $result[9]['uid_initiator']);
+ $this->assertSame($result[7]['id'], $result[9]['parent']);
}
public function test1001DeepReshares() {
diff --git a/apps/systemtags/l10n/.gitkeep b/apps/systemtags/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/systemtags/l10n/.gitkeep
diff --git a/apps/systemtags/l10n/ar.js b/apps/systemtags/l10n/ar.js
new file mode 100644
index 00000000000..e6b482d3362
--- /dev/null
+++ b/apps/systemtags/l10n/ar.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "فئاة",
+ "No files in here" : "لا يوجد ملفات هنا ",
+ "No entries found in this folder" : "لا يوجد مدخلات في هذا المجلد ",
+ "Name" : "اسم",
+ "Size" : "حجم",
+ "Modified" : "معدل"
+},
+"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
diff --git a/apps/systemtags/l10n/ar.json b/apps/systemtags/l10n/ar.json
new file mode 100644
index 00000000000..5527f0303e8
--- /dev/null
+++ b/apps/systemtags/l10n/ar.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "فئاة",
+ "No files in here" : "لا يوجد ملفات هنا ",
+ "No entries found in this folder" : "لا يوجد مدخلات في هذا المجلد ",
+ "Name" : "اسم",
+ "Size" : "حجم",
+ "Modified" : "معدل"
+},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/ast.js b/apps/systemtags/l10n/ast.js
new file mode 100644
index 00000000000..702a76b0707
--- /dev/null
+++ b/apps/systemtags/l10n/ast.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Etiquetes",
+ "No files in here" : "Nun hai nengún ficheru equí",
+ "No entries found in this folder" : "Nenguna entrada en esta carpeta",
+ "Name" : "Nome",
+ "Size" : "Tamañu",
+ "Modified" : "Modificáu"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/ast.json b/apps/systemtags/l10n/ast.json
new file mode 100644
index 00000000000..c69d5f1df78
--- /dev/null
+++ b/apps/systemtags/l10n/ast.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Etiquetes",
+ "No files in here" : "Nun hai nengún ficheru equí",
+ "No entries found in this folder" : "Nenguna entrada en esta carpeta",
+ "Name" : "Nome",
+ "Size" : "Tamañu",
+ "Modified" : "Modificáu"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/az.js b/apps/systemtags/l10n/az.js
new file mode 100644
index 00000000000..8f0ba9e28c6
--- /dev/null
+++ b/apps/systemtags/l10n/az.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Işarələr",
+ "No files in here" : "Burda fayl yoxdur",
+ "No entries found in this folder" : "Bu qovluqda heç bir verilən tapılmadı",
+ "Name" : "Ad",
+ "Size" : "Həcm",
+ "Modified" : "Dəyişdirildi"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/az.json b/apps/systemtags/l10n/az.json
new file mode 100644
index 00000000000..a5ab7f9e5bd
--- /dev/null
+++ b/apps/systemtags/l10n/az.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Işarələr",
+ "No files in here" : "Burda fayl yoxdur",
+ "No entries found in this folder" : "Bu qovluqda heç bir verilən tapılmadı",
+ "Name" : "Ad",
+ "Size" : "Həcm",
+ "Modified" : "Dəyişdirildi"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/bg_BG.js b/apps/systemtags/l10n/bg_BG.js
new file mode 100644
index 00000000000..6971d20a8c0
--- /dev/null
+++ b/apps/systemtags/l10n/bg_BG.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Етикети",
+ "No files in here" : "Тук няма файлове",
+ "No entries found in this folder" : "Няма намерени записи в тази папка",
+ "Name" : "Име",
+ "Size" : "Размер",
+ "Modified" : "Променен на"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/bg_BG.json b/apps/systemtags/l10n/bg_BG.json
new file mode 100644
index 00000000000..4e9f849ce9a
--- /dev/null
+++ b/apps/systemtags/l10n/bg_BG.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Етикети",
+ "No files in here" : "Тук няма файлове",
+ "No entries found in this folder" : "Няма намерени записи в тази папка",
+ "Name" : "Име",
+ "Size" : "Размер",
+ "Modified" : "Променен на"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/bn_BD.js b/apps/systemtags/l10n/bn_BD.js
new file mode 100644
index 00000000000..f96d6f01737
--- /dev/null
+++ b/apps/systemtags/l10n/bn_BD.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "ট্যাগ",
+ "Name" : "নাম",
+ "Size" : "আকার",
+ "Modified" : "পরিবর্তিত"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/bn_BD.json b/apps/systemtags/l10n/bn_BD.json
new file mode 100644
index 00000000000..addec02b139
--- /dev/null
+++ b/apps/systemtags/l10n/bn_BD.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Tags" : "ট্যাগ",
+ "Name" : "নাম",
+ "Size" : "আকার",
+ "Modified" : "পরিবর্তিত"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/bn_IN.js b/apps/systemtags/l10n/bn_IN.js
new file mode 100644
index 00000000000..fa63ae2f4d1
--- /dev/null
+++ b/apps/systemtags/l10n/bn_IN.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "ট্যাগ্স",
+ "Name" : "নাম",
+ "Size" : "আকার"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/bn_IN.json b/apps/systemtags/l10n/bn_IN.json
new file mode 100644
index 00000000000..2e77bae1a0f
--- /dev/null
+++ b/apps/systemtags/l10n/bn_IN.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Tags" : "ট্যাগ্স",
+ "Name" : "নাম",
+ "Size" : "আকার"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/bs.js b/apps/systemtags/l10n/bs.js
new file mode 100644
index 00000000000..2a5a7390721
--- /dev/null
+++ b/apps/systemtags/l10n/bs.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Name" : "Ime",
+ "Size" : "Veličina",
+ "Modified" : "Izmijenjeno"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/systemtags/l10n/bs.json b/apps/systemtags/l10n/bs.json
new file mode 100644
index 00000000000..b9c36e5a8d3
--- /dev/null
+++ b/apps/systemtags/l10n/bs.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Name" : "Ime",
+ "Size" : "Veličina",
+ "Modified" : "Izmijenjeno"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/ca.js b/apps/systemtags/l10n/ca.js
new file mode 100644
index 00000000000..20ec2d4edb1
--- /dev/null
+++ b/apps/systemtags/l10n/ca.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Etiquetes",
+ "No files in here" : "No hi ha arxius",
+ "No entries found in this folder" : "No hi ha entrades en aquesta carpeta",
+ "Name" : "Nom",
+ "Size" : "Mida",
+ "Modified" : "Modificat"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/ca.json b/apps/systemtags/l10n/ca.json
new file mode 100644
index 00000000000..87c8c678761
--- /dev/null
+++ b/apps/systemtags/l10n/ca.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Etiquetes",
+ "No files in here" : "No hi ha arxius",
+ "No entries found in this folder" : "No hi ha entrades en aquesta carpeta",
+ "Name" : "Nom",
+ "Size" : "Mida",
+ "Modified" : "Modificat"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/cs_CZ.js b/apps/systemtags/l10n/cs_CZ.js
new file mode 100644
index 00000000000..01daba1bf25
--- /dev/null
+++ b/apps/systemtags/l10n/cs_CZ.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Značky",
+ "No files in here" : "Žádné soubory",
+ "No entries found in this folder" : "V této složce nebylo nic nalezeno",
+ "Name" : "Název",
+ "Size" : "Velikost",
+ "Modified" : "Upraveno"
+},
+"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/systemtags/l10n/cs_CZ.json b/apps/systemtags/l10n/cs_CZ.json
new file mode 100644
index 00000000000..c3cb03c25aa
--- /dev/null
+++ b/apps/systemtags/l10n/cs_CZ.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Značky",
+ "No files in here" : "Žádné soubory",
+ "No entries found in this folder" : "V této složce nebylo nic nalezeno",
+ "Name" : "Název",
+ "Size" : "Velikost",
+ "Modified" : "Upraveno"
+},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/cy_GB.js b/apps/systemtags/l10n/cy_GB.js
new file mode 100644
index 00000000000..37e0926605c
--- /dev/null
+++ b/apps/systemtags/l10n/cy_GB.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Tagiau",
+ "Name" : "Enw",
+ "Size" : "Maint",
+ "Modified" : "Addaswyd"
+},
+"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;");
diff --git a/apps/systemtags/l10n/cy_GB.json b/apps/systemtags/l10n/cy_GB.json
new file mode 100644
index 00000000000..d076240de44
--- /dev/null
+++ b/apps/systemtags/l10n/cy_GB.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Tags" : "Tagiau",
+ "Name" : "Enw",
+ "Size" : "Maint",
+ "Modified" : "Addaswyd"
+},"pluralForm" :"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/da.js b/apps/systemtags/l10n/da.js
new file mode 100644
index 00000000000..5b381b76f48
--- /dev/null
+++ b/apps/systemtags/l10n/da.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Mærker",
+ "No files in here" : "Her er ingen filer",
+ "No entries found in this folder" : "Der blev ikke fundet poster i denne mappe",
+ "Name" : "Navn",
+ "Size" : "Størrelse",
+ "Modified" : "Ændret"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/da.json b/apps/systemtags/l10n/da.json
new file mode 100644
index 00000000000..9b5049facc7
--- /dev/null
+++ b/apps/systemtags/l10n/da.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Mærker",
+ "No files in here" : "Her er ingen filer",
+ "No entries found in this folder" : "Der blev ikke fundet poster i denne mappe",
+ "Name" : "Navn",
+ "Size" : "Størrelse",
+ "Modified" : "Ændret"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/de.js b/apps/systemtags/l10n/de.js
new file mode 100644
index 00000000000..6793c996683
--- /dev/null
+++ b/apps/systemtags/l10n/de.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Schlagworte",
+ "No files in here" : "Keine Dateien vorhanden",
+ "No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
+ "Name" : "Name",
+ "Size" : "Größe",
+ "Modified" : "Geändert"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/de.json b/apps/systemtags/l10n/de.json
new file mode 100644
index 00000000000..3a55340c760
--- /dev/null
+++ b/apps/systemtags/l10n/de.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Schlagworte",
+ "No files in here" : "Keine Dateien vorhanden",
+ "No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
+ "Name" : "Name",
+ "Size" : "Größe",
+ "Modified" : "Geändert"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/de_DE.js b/apps/systemtags/l10n/de_DE.js
new file mode 100644
index 00000000000..6793c996683
--- /dev/null
+++ b/apps/systemtags/l10n/de_DE.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Schlagworte",
+ "No files in here" : "Keine Dateien vorhanden",
+ "No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
+ "Name" : "Name",
+ "Size" : "Größe",
+ "Modified" : "Geändert"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/de_DE.json b/apps/systemtags/l10n/de_DE.json
new file mode 100644
index 00000000000..3a55340c760
--- /dev/null
+++ b/apps/systemtags/l10n/de_DE.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Schlagworte",
+ "No files in here" : "Keine Dateien vorhanden",
+ "No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
+ "Name" : "Name",
+ "Size" : "Größe",
+ "Modified" : "Geändert"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/el.js b/apps/systemtags/l10n/el.js
new file mode 100644
index 00000000000..fc28aae1554
--- /dev/null
+++ b/apps/systemtags/l10n/el.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Ετικέτες",
+ "No files in here" : "Δεν υπάρχουν αρχεία",
+ "No entries found in this folder" : "Δεν βρέθηκαν καταχωρήσεις σε αυτόν το φάκελο",
+ "Name" : "Όνομα",
+ "Size" : "Μέγεθος",
+ "Modified" : "Τροποποιήθηκε"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/el.json b/apps/systemtags/l10n/el.json
new file mode 100644
index 00000000000..ff5a775d737
--- /dev/null
+++ b/apps/systemtags/l10n/el.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Ετικέτες",
+ "No files in here" : "Δεν υπάρχουν αρχεία",
+ "No entries found in this folder" : "Δεν βρέθηκαν καταχωρήσεις σε αυτόν το φάκελο",
+ "Name" : "Όνομα",
+ "Size" : "Μέγεθος",
+ "Modified" : "Τροποποιήθηκε"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/en_GB.js b/apps/systemtags/l10n/en_GB.js
new file mode 100644
index 00000000000..c6710aaecbf
--- /dev/null
+++ b/apps/systemtags/l10n/en_GB.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Tags",
+ "No files in here" : "No files in here",
+ "No entries found in this folder" : "No entries found in this folder",
+ "Name" : "Name",
+ "Size" : "Size",
+ "Modified" : "Modified"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/en_GB.json b/apps/systemtags/l10n/en_GB.json
new file mode 100644
index 00000000000..620a3c92484
--- /dev/null
+++ b/apps/systemtags/l10n/en_GB.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Tags",
+ "No files in here" : "No files in here",
+ "No entries found in this folder" : "No entries found in this folder",
+ "Name" : "Name",
+ "Size" : "Size",
+ "Modified" : "Modified"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/eo.js b/apps/systemtags/l10n/eo.js
new file mode 100644
index 00000000000..ede61aba3e6
--- /dev/null
+++ b/apps/systemtags/l10n/eo.js
@@ -0,0 +1,10 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Etikedoj",
+ "No files in here" : "Neniu dosiero estas ĉi tie",
+ "Name" : "Nomo",
+ "Size" : "Grando",
+ "Modified" : "Modifita"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/eo.json b/apps/systemtags/l10n/eo.json
new file mode 100644
index 00000000000..8b7389e7112
--- /dev/null
+++ b/apps/systemtags/l10n/eo.json
@@ -0,0 +1,8 @@
+{ "translations": {
+ "Tags" : "Etikedoj",
+ "No files in here" : "Neniu dosiero estas ĉi tie",
+ "Name" : "Nomo",
+ "Size" : "Grando",
+ "Modified" : "Modifita"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es.js b/apps/systemtags/l10n/es.js
new file mode 100644
index 00000000000..7ed27b6c085
--- /dev/null
+++ b/apps/systemtags/l10n/es.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Etiquetas",
+ "No files in here" : "Aquí no hay archivos",
+ "No entries found in this folder" : "No hay entradas en esta carpeta",
+ "Name" : "Nombre",
+ "Size" : "Tamaño",
+ "Modified" : "Modificado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/es.json b/apps/systemtags/l10n/es.json
new file mode 100644
index 00000000000..038cf956fb3
--- /dev/null
+++ b/apps/systemtags/l10n/es.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Etiquetas",
+ "No files in here" : "Aquí no hay archivos",
+ "No entries found in this folder" : "No hay entradas en esta carpeta",
+ "Name" : "Nombre",
+ "Size" : "Tamaño",
+ "Modified" : "Modificado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_AR.js b/apps/systemtags/l10n/es_AR.js
new file mode 100644
index 00000000000..e5c543ce18b
--- /dev/null
+++ b/apps/systemtags/l10n/es_AR.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Etiquetas",
+ "Name" : "Nombre",
+ "Size" : "Tamaño",
+ "Modified" : "Modificado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/es_AR.json b/apps/systemtags/l10n/es_AR.json
new file mode 100644
index 00000000000..5bae74d482d
--- /dev/null
+++ b/apps/systemtags/l10n/es_AR.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Tags" : "Etiquetas",
+ "Name" : "Nombre",
+ "Size" : "Tamaño",
+ "Modified" : "Modificado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/es_MX.js b/apps/systemtags/l10n/es_MX.js
new file mode 100644
index 00000000000..e5c543ce18b
--- /dev/null
+++ b/apps/systemtags/l10n/es_MX.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Etiquetas",
+ "Name" : "Nombre",
+ "Size" : "Tamaño",
+ "Modified" : "Modificado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/es_MX.json b/apps/systemtags/l10n/es_MX.json
new file mode 100644
index 00000000000..5bae74d482d
--- /dev/null
+++ b/apps/systemtags/l10n/es_MX.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Tags" : "Etiquetas",
+ "Name" : "Nombre",
+ "Size" : "Tamaño",
+ "Modified" : "Modificado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/et_EE.js b/apps/systemtags/l10n/et_EE.js
new file mode 100644
index 00000000000..73e32f8cb6d
--- /dev/null
+++ b/apps/systemtags/l10n/et_EE.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Sildid",
+ "No files in here" : "Siin ei ole faile",
+ "No entries found in this folder" : "Selles kaustast ei leitud kirjeid",
+ "Name" : "Nimi",
+ "Size" : "Suurus",
+ "Modified" : "Muudetud"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/et_EE.json b/apps/systemtags/l10n/et_EE.json
new file mode 100644
index 00000000000..39073efcbf9
--- /dev/null
+++ b/apps/systemtags/l10n/et_EE.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Sildid",
+ "No files in here" : "Siin ei ole faile",
+ "No entries found in this folder" : "Selles kaustast ei leitud kirjeid",
+ "Name" : "Nimi",
+ "Size" : "Suurus",
+ "Modified" : "Muudetud"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/eu.js b/apps/systemtags/l10n/eu.js
new file mode 100644
index 00000000000..d63ba97fd42
--- /dev/null
+++ b/apps/systemtags/l10n/eu.js
@@ -0,0 +1,10 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Etiketak",
+ "No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan",
+ "Name" : "Izena",
+ "Size" : "Tamaina",
+ "Modified" : "Aldatuta"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/eu.json b/apps/systemtags/l10n/eu.json
new file mode 100644
index 00000000000..2e445cf8fc5
--- /dev/null
+++ b/apps/systemtags/l10n/eu.json
@@ -0,0 +1,8 @@
+{ "translations": {
+ "Tags" : "Etiketak",
+ "No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan",
+ "Name" : "Izena",
+ "Size" : "Tamaina",
+ "Modified" : "Aldatuta"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/fa.js b/apps/systemtags/l10n/fa.js
new file mode 100644
index 00000000000..a20ad641799
--- /dev/null
+++ b/apps/systemtags/l10n/fa.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "برچسب‌ها",
+ "No files in here" : "هیچ فایلی اینجا وجود ندارد",
+ "No entries found in this folder" : "هیچ ورودی‌ای در این پوشه وجود ندارد",
+ "Name" : "نام",
+ "Size" : "اندازه",
+ "Modified" : "تاریخ"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/fa.json b/apps/systemtags/l10n/fa.json
new file mode 100644
index 00000000000..6ae2f7b2d8e
--- /dev/null
+++ b/apps/systemtags/l10n/fa.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "برچسب‌ها",
+ "No files in here" : "هیچ فایلی اینجا وجود ندارد",
+ "No entries found in this folder" : "هیچ ورودی‌ای در این پوشه وجود ندارد",
+ "Name" : "نام",
+ "Size" : "اندازه",
+ "Modified" : "تاریخ"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/fi_FI.js b/apps/systemtags/l10n/fi_FI.js
new file mode 100644
index 00000000000..bd9b003554c
--- /dev/null
+++ b/apps/systemtags/l10n/fi_FI.js
@@ -0,0 +1,17 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "<strong>System tags</strong> for a file have been modified" : "Tiedoston <strong>järjestelmätunnisteita</strong> on muokattu",
+ "%s (invisible)" : "%s (näkymätön)",
+ "Tags" : "Tunnisteet",
+ "Tagged files" : "Tunnisteella merkityt tiedostot",
+ "Select tags to filter by" : "Valitse suodatettavat tunnisteet",
+ "Please select tags to filter by" : "Valitse suodatettavat tunnisteet",
+ "No files found for the selected tags" : "Tiedostoja ei löytynyt valituilla tunnisteilla",
+ "No files in here" : "Täällä ei ole tiedostoja",
+ "No entries found in this folder" : "Ei kohteita tässä kansiossa",
+ "Name" : "Nimi",
+ "Size" : "Koko",
+ "Modified" : "Muokattu"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/fi_FI.json b/apps/systemtags/l10n/fi_FI.json
new file mode 100644
index 00000000000..e624959c100
--- /dev/null
+++ b/apps/systemtags/l10n/fi_FI.json
@@ -0,0 +1,15 @@
+{ "translations": {
+ "<strong>System tags</strong> for a file have been modified" : "Tiedoston <strong>järjestelmätunnisteita</strong> on muokattu",
+ "%s (invisible)" : "%s (näkymätön)",
+ "Tags" : "Tunnisteet",
+ "Tagged files" : "Tunnisteella merkityt tiedostot",
+ "Select tags to filter by" : "Valitse suodatettavat tunnisteet",
+ "Please select tags to filter by" : "Valitse suodatettavat tunnisteet",
+ "No files found for the selected tags" : "Tiedostoja ei löytynyt valituilla tunnisteilla",
+ "No files in here" : "Täällä ei ole tiedostoja",
+ "No entries found in this folder" : "Ei kohteita tässä kansiossa",
+ "Name" : "Nimi",
+ "Size" : "Koko",
+ "Modified" : "Muokattu"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/fr.js b/apps/systemtags/l10n/fr.js
new file mode 100644
index 00000000000..fc3ac3e6917
--- /dev/null
+++ b/apps/systemtags/l10n/fr.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Étiquettes",
+ "No files in here" : "Aucun fichier",
+ "No entries found in this folder" : "Aucune entrée trouvée dans ce dossier",
+ "Name" : "Nom",
+ "Size" : "Taille",
+ "Modified" : "Modifié"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/systemtags/l10n/fr.json b/apps/systemtags/l10n/fr.json
new file mode 100644
index 00000000000..07ac7d66e13
--- /dev/null
+++ b/apps/systemtags/l10n/fr.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Étiquettes",
+ "No files in here" : "Aucun fichier",
+ "No entries found in this folder" : "Aucune entrée trouvée dans ce dossier",
+ "Name" : "Nom",
+ "Size" : "Taille",
+ "Modified" : "Modifié"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/gl.js b/apps/systemtags/l10n/gl.js
new file mode 100644
index 00000000000..c9a8797f5d9
--- /dev/null
+++ b/apps/systemtags/l10n/gl.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Etiquetas",
+ "No files in here" : "Aquí non hai ficheiros",
+ "No entries found in this folder" : "Non se atoparon entradas neste cartafol",
+ "Name" : "Nome",
+ "Size" : "Tamaño",
+ "Modified" : "Modificado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/gl.json b/apps/systemtags/l10n/gl.json
new file mode 100644
index 00000000000..72875c4ee7b
--- /dev/null
+++ b/apps/systemtags/l10n/gl.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Etiquetas",
+ "No files in here" : "Aquí non hai ficheiros",
+ "No entries found in this folder" : "Non se atoparon entradas neste cartafol",
+ "Name" : "Nome",
+ "Size" : "Tamaño",
+ "Modified" : "Modificado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/he.js b/apps/systemtags/l10n/he.js
new file mode 100644
index 00000000000..c67035ccf12
--- /dev/null
+++ b/apps/systemtags/l10n/he.js
@@ -0,0 +1,25 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "<strong>System tags</strong> for a file have been modified" : "<strong>תגיות מערכת</strong> שהשתנו עבור קובץ",
+ "%1$s assigned system tag %3$s" : "%1$s שייך/שייכה תגית מערכת %3$s",
+ "%1$s unassigned system tag %3$s" : "%1$s הסיר/ה שיוך תגית מערכת %3$s",
+ "%1$s created system tag %2$s" : "%1$s יצר/יצרה תגית מערכת %2$s",
+ "%1$s deleted system tag %2$s" : "%1$s מחק/ה תגית מערכת %2$s",
+ "%1$s updated system tag %3$s to %2$s" : "%1$s עדכן/עדכנה תגית מערכת %3$s ל- %2$s",
+ "%1$s assigned system tag %3$s to %2$s" : "%1$s שייך/שייכה תגית מערכת %3$s ל- %2$s",
+ "%1$s unassigned system tag %3$s from %2$s" : "%1$s הסיר/ה שיוך תגית מערכת %3$s מ- %2$s",
+ "%s (not-assignable)" : "%s (לא ניתן לשיוך)",
+ "%s (invisible)" : "%s (נסתר)",
+ "Tags" : "תגיות",
+ "Tagged files" : "קבצים שתויגו",
+ "Select tags to filter by" : "תגיות נבחרות מסוננות על ידי",
+ "Please select tags to filter by" : "יש לבחור תגיות שיסוננו על ידי",
+ "No files found for the selected tags" : "לא אותרו קבצים לתגיות הנבחרות",
+ "No files in here" : "אין כאן קבצים",
+ "No entries found in this folder" : "לא נמצאו כניסות לתיקייה זו",
+ "Name" : "שם",
+ "Size" : "גודל",
+ "Modified" : "זמן שינוי"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/he.json b/apps/systemtags/l10n/he.json
new file mode 100644
index 00000000000..73a7c7997c2
--- /dev/null
+++ b/apps/systemtags/l10n/he.json
@@ -0,0 +1,23 @@
+{ "translations": {
+ "<strong>System tags</strong> for a file have been modified" : "<strong>תגיות מערכת</strong> שהשתנו עבור קובץ",
+ "%1$s assigned system tag %3$s" : "%1$s שייך/שייכה תגית מערכת %3$s",
+ "%1$s unassigned system tag %3$s" : "%1$s הסיר/ה שיוך תגית מערכת %3$s",
+ "%1$s created system tag %2$s" : "%1$s יצר/יצרה תגית מערכת %2$s",
+ "%1$s deleted system tag %2$s" : "%1$s מחק/ה תגית מערכת %2$s",
+ "%1$s updated system tag %3$s to %2$s" : "%1$s עדכן/עדכנה תגית מערכת %3$s ל- %2$s",
+ "%1$s assigned system tag %3$s to %2$s" : "%1$s שייך/שייכה תגית מערכת %3$s ל- %2$s",
+ "%1$s unassigned system tag %3$s from %2$s" : "%1$s הסיר/ה שיוך תגית מערכת %3$s מ- %2$s",
+ "%s (not-assignable)" : "%s (לא ניתן לשיוך)",
+ "%s (invisible)" : "%s (נסתר)",
+ "Tags" : "תגיות",
+ "Tagged files" : "קבצים שתויגו",
+ "Select tags to filter by" : "תגיות נבחרות מסוננות על ידי",
+ "Please select tags to filter by" : "יש לבחור תגיות שיסוננו על ידי",
+ "No files found for the selected tags" : "לא אותרו קבצים לתגיות הנבחרות",
+ "No files in here" : "אין כאן קבצים",
+ "No entries found in this folder" : "לא נמצאו כניסות לתיקייה זו",
+ "Name" : "שם",
+ "Size" : "גודל",
+ "Modified" : "זמן שינוי"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/hr.js b/apps/systemtags/l10n/hr.js
new file mode 100644
index 00000000000..d4ccc01753d
--- /dev/null
+++ b/apps/systemtags/l10n/hr.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "No entries found in this folder" : "Zapis nije pronadjen u ovom direktorijumu ",
+ "Name" : "Naziv",
+ "Size" : "Veličina",
+ "Modified" : "Promijenjeno"
+},
+"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/systemtags/l10n/hr.json b/apps/systemtags/l10n/hr.json
new file mode 100644
index 00000000000..ca78210d813
--- /dev/null
+++ b/apps/systemtags/l10n/hr.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "No entries found in this folder" : "Zapis nije pronadjen u ovom direktorijumu ",
+ "Name" : "Naziv",
+ "Size" : "Veličina",
+ "Modified" : "Promijenjeno"
+},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/hu_HU.js b/apps/systemtags/l10n/hu_HU.js
new file mode 100644
index 00000000000..ed90b2b07dc
--- /dev/null
+++ b/apps/systemtags/l10n/hu_HU.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Címkék",
+ "No files in here" : "Itt nincsenek fájlok",
+ "No entries found in this folder" : "Nincsenek bejegyzések ebben a könyvtárban",
+ "Name" : "Név",
+ "Size" : "Méret",
+ "Modified" : "Módosítva"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/hu_HU.json b/apps/systemtags/l10n/hu_HU.json
new file mode 100644
index 00000000000..8122c6f93ca
--- /dev/null
+++ b/apps/systemtags/l10n/hu_HU.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Címkék",
+ "No files in here" : "Itt nincsenek fájlok",
+ "No entries found in this folder" : "Nincsenek bejegyzések ebben a könyvtárban",
+ "Name" : "Név",
+ "Size" : "Méret",
+ "Modified" : "Módosítva"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/hy.js b/apps/systemtags/l10n/hy.js
new file mode 100644
index 00000000000..901854a96b6
--- /dev/null
+++ b/apps/systemtags/l10n/hy.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Name" : "Անուն",
+ "Size" : "Չափս",
+ "Modified" : "Փոփոխված"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/hy.json b/apps/systemtags/l10n/hy.json
new file mode 100644
index 00000000000..9e937f42cf0
--- /dev/null
+++ b/apps/systemtags/l10n/hy.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Name" : "Անուն",
+ "Size" : "Չափս",
+ "Modified" : "Փոփոխված"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/ia.js b/apps/systemtags/l10n/ia.js
new file mode 100644
index 00000000000..46a0d7464b0
--- /dev/null
+++ b/apps/systemtags/l10n/ia.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Etiquettas",
+ "Name" : "Nomine",
+ "Size" : "Dimension",
+ "Modified" : "Modificate"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/ia.json b/apps/systemtags/l10n/ia.json
new file mode 100644
index 00000000000..aacb98d037a
--- /dev/null
+++ b/apps/systemtags/l10n/ia.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Tags" : "Etiquettas",
+ "Name" : "Nomine",
+ "Size" : "Dimension",
+ "Modified" : "Modificate"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/id.js b/apps/systemtags/l10n/id.js
new file mode 100644
index 00000000000..5ce41462833
--- /dev/null
+++ b/apps/systemtags/l10n/id.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Tag",
+ "No files in here" : "Tidak ada berkas disini",
+ "No entries found in this folder" : "Tidak ada entri yang ditemukan dalam folder ini",
+ "Name" : "Nama",
+ "Size" : "Ukuran",
+ "Modified" : "Dimodifikasi"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/id.json b/apps/systemtags/l10n/id.json
new file mode 100644
index 00000000000..631da4fbe66
--- /dev/null
+++ b/apps/systemtags/l10n/id.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Tag",
+ "No files in here" : "Tidak ada berkas disini",
+ "No entries found in this folder" : "Tidak ada entri yang ditemukan dalam folder ini",
+ "Name" : "Nama",
+ "Size" : "Ukuran",
+ "Modified" : "Dimodifikasi"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/is.js b/apps/systemtags/l10n/is.js
new file mode 100644
index 00000000000..4338aaa6645
--- /dev/null
+++ b/apps/systemtags/l10n/is.js
@@ -0,0 +1,10 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Tagg",
+ "No entries found in this folder" : "Engar skrár fundust í þessari möppu",
+ "Name" : "Nafn",
+ "Size" : "Stærð",
+ "Modified" : "Breytt"
+},
+"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/systemtags/l10n/is.json b/apps/systemtags/l10n/is.json
new file mode 100644
index 00000000000..d5a9f2ca7b1
--- /dev/null
+++ b/apps/systemtags/l10n/is.json
@@ -0,0 +1,8 @@
+{ "translations": {
+ "Tags" : "Tagg",
+ "No entries found in this folder" : "Engar skrár fundust í þessari möppu",
+ "Name" : "Nafn",
+ "Size" : "Stærð",
+ "Modified" : "Breytt"
+},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/it.js b/apps/systemtags/l10n/it.js
new file mode 100644
index 00000000000..08df09c9f62
--- /dev/null
+++ b/apps/systemtags/l10n/it.js
@@ -0,0 +1,13 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "%s (not-assignable)" : "%s (non assegnabile)",
+ "%s (invisible)" : "%s (invisibile)",
+ "Tags" : "Tag",
+ "No files in here" : "Qui non c'è alcun file",
+ "No entries found in this folder" : "Nessuna voce trovata in questa cartella",
+ "Name" : "Nome",
+ "Size" : "Dimensione",
+ "Modified" : "Modificato"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/it.json b/apps/systemtags/l10n/it.json
new file mode 100644
index 00000000000..74970a0c2a3
--- /dev/null
+++ b/apps/systemtags/l10n/it.json
@@ -0,0 +1,11 @@
+{ "translations": {
+ "%s (not-assignable)" : "%s (non assegnabile)",
+ "%s (invisible)" : "%s (invisibile)",
+ "Tags" : "Tag",
+ "No files in here" : "Qui non c'è alcun file",
+ "No entries found in this folder" : "Nessuna voce trovata in questa cartella",
+ "Name" : "Nome",
+ "Size" : "Dimensione",
+ "Modified" : "Modificato"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/ja.js b/apps/systemtags/l10n/ja.js
new file mode 100644
index 00000000000..0398a48613a
--- /dev/null
+++ b/apps/systemtags/l10n/ja.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "タグ",
+ "No files in here" : "ファイルがありません",
+ "No entries found in this folder" : "このフォルダーにはエントリーがありません",
+ "Name" : "名前",
+ "Size" : "サイズ",
+ "Modified" : "更新日時"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/ja.json b/apps/systemtags/l10n/ja.json
new file mode 100644
index 00000000000..3886767f87c
--- /dev/null
+++ b/apps/systemtags/l10n/ja.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "タグ",
+ "No files in here" : "ファイルがありません",
+ "No entries found in this folder" : "このフォルダーにはエントリーがありません",
+ "Name" : "名前",
+ "Size" : "サイズ",
+ "Modified" : "更新日時"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/ka_GE.js b/apps/systemtags/l10n/ka_GE.js
new file mode 100644
index 00000000000..395e2739d8d
--- /dev/null
+++ b/apps/systemtags/l10n/ka_GE.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "ტაგები",
+ "Name" : "სახელი",
+ "Size" : "ზომა",
+ "Modified" : "შეცვლილია"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/ka_GE.json b/apps/systemtags/l10n/ka_GE.json
new file mode 100644
index 00000000000..af2736fc8e0
--- /dev/null
+++ b/apps/systemtags/l10n/ka_GE.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Tags" : "ტაგები",
+ "Name" : "სახელი",
+ "Size" : "ზომა",
+ "Modified" : "შეცვლილია"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/km.js b/apps/systemtags/l10n/km.js
new file mode 100644
index 00000000000..509d2ed766c
--- /dev/null
+++ b/apps/systemtags/l10n/km.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "ស្លាក",
+ "Name" : "ឈ្មោះ",
+ "Size" : "ទំហំ",
+ "Modified" : "បាន​កែ​ប្រែ"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/km.json b/apps/systemtags/l10n/km.json
new file mode 100644
index 00000000000..0664f9a9e48
--- /dev/null
+++ b/apps/systemtags/l10n/km.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Tags" : "ស្លាក",
+ "Name" : "ឈ្មោះ",
+ "Size" : "ទំហំ",
+ "Modified" : "បាន​កែ​ប្រែ"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/kn.js b/apps/systemtags/l10n/kn.js
new file mode 100644
index 00000000000..cded0333e54
--- /dev/null
+++ b/apps/systemtags/l10n/kn.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Name" : "ಹೆಸರು",
+ "Size" : " ಗಾತ್ರ",
+ "Modified" : "ಬದಲಾಯಿಸಿದ"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/kn.json b/apps/systemtags/l10n/kn.json
new file mode 100644
index 00000000000..48561659786
--- /dev/null
+++ b/apps/systemtags/l10n/kn.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Name" : "ಹೆಸರು",
+ "Size" : " ಗಾತ್ರ",
+ "Modified" : "ಬದಲಾಯಿಸಿದ"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/ko.js b/apps/systemtags/l10n/ko.js
new file mode 100644
index 00000000000..25a7f2eccb5
--- /dev/null
+++ b/apps/systemtags/l10n/ko.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "태그",
+ "No files in here" : "여기에 파일 없음",
+ "No entries found in this folder" : "이 폴더에 항목 없음",
+ "Name" : "이름",
+ "Size" : "크기",
+ "Modified" : "수정됨"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/ko.json b/apps/systemtags/l10n/ko.json
new file mode 100644
index 00000000000..af4d378f844
--- /dev/null
+++ b/apps/systemtags/l10n/ko.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "태그",
+ "No files in here" : "여기에 파일 없음",
+ "No entries found in this folder" : "이 폴더에 항목 없음",
+ "Name" : "이름",
+ "Size" : "크기",
+ "Modified" : "수정됨"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/ku_IQ.js b/apps/systemtags/l10n/ku_IQ.js
new file mode 100644
index 00000000000..b2210de9dd6
--- /dev/null
+++ b/apps/systemtags/l10n/ku_IQ.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "تاگه‌کان",
+ "Name" : "ناو"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/ku_IQ.json b/apps/systemtags/l10n/ku_IQ.json
new file mode 100644
index 00000000000..7d552ae3695
--- /dev/null
+++ b/apps/systemtags/l10n/ku_IQ.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Tags" : "تاگه‌کان",
+ "Name" : "ناو"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/lb.js b/apps/systemtags/l10n/lb.js
new file mode 100644
index 00000000000..aa83421b4f1
--- /dev/null
+++ b/apps/systemtags/l10n/lb.js
@@ -0,0 +1,10 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Etiketten",
+ "No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt",
+ "Name" : "Numm",
+ "Size" : "Gréisst",
+ "Modified" : "Geännert"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/lb.json b/apps/systemtags/l10n/lb.json
new file mode 100644
index 00000000000..e905615bcd7
--- /dev/null
+++ b/apps/systemtags/l10n/lb.json
@@ -0,0 +1,8 @@
+{ "translations": {
+ "Tags" : "Etiketten",
+ "No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt",
+ "Name" : "Numm",
+ "Size" : "Gréisst",
+ "Modified" : "Geännert"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/lt_LT.js b/apps/systemtags/l10n/lt_LT.js
new file mode 100644
index 00000000000..754ff7017ee
--- /dev/null
+++ b/apps/systemtags/l10n/lt_LT.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Žymės",
+ "No files in here" : "Čia nėra failų",
+ "No entries found in this folder" : "Nerasta įrašų šiame aplanke",
+ "Name" : "Pavadinimas",
+ "Size" : "Dydis",
+ "Modified" : "Pakeista"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/systemtags/l10n/lt_LT.json b/apps/systemtags/l10n/lt_LT.json
new file mode 100644
index 00000000000..6140989fe00
--- /dev/null
+++ b/apps/systemtags/l10n/lt_LT.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Žymės",
+ "No files in here" : "Čia nėra failų",
+ "No entries found in this folder" : "Nerasta įrašų šiame aplanke",
+ "Name" : "Pavadinimas",
+ "Size" : "Dydis",
+ "Modified" : "Pakeista"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/lv.js b/apps/systemtags/l10n/lv.js
new file mode 100644
index 00000000000..3afcc791bbc
--- /dev/null
+++ b/apps/systemtags/l10n/lv.js
@@ -0,0 +1,10 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Birkas",
+ "No entries found in this folder" : "Šajā mapē nekas nav atrasts",
+ "Name" : "Nosaukums",
+ "Size" : "Izmērs",
+ "Modified" : "Mainīts"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/systemtags/l10n/lv.json b/apps/systemtags/l10n/lv.json
new file mode 100644
index 00000000000..dbbb9142261
--- /dev/null
+++ b/apps/systemtags/l10n/lv.json
@@ -0,0 +1,8 @@
+{ "translations": {
+ "Tags" : "Birkas",
+ "No entries found in this folder" : "Šajā mapē nekas nav atrasts",
+ "Name" : "Nosaukums",
+ "Size" : "Izmērs",
+ "Modified" : "Mainīts"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/mk.js b/apps/systemtags/l10n/mk.js
new file mode 100644
index 00000000000..21a0295f789
--- /dev/null
+++ b/apps/systemtags/l10n/mk.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Ознаки",
+ "No files in here" : "Тука нема датотеки",
+ "No entries found in this folder" : "Нема ништо во оваа папка",
+ "Name" : "Име",
+ "Size" : "Големина",
+ "Modified" : "Променето"
+},
+"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/apps/systemtags/l10n/mk.json b/apps/systemtags/l10n/mk.json
new file mode 100644
index 00000000000..e09b95d7440
--- /dev/null
+++ b/apps/systemtags/l10n/mk.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Ознаки",
+ "No files in here" : "Тука нема датотеки",
+ "No entries found in this folder" : "Нема ништо во оваа папка",
+ "Name" : "Име",
+ "Size" : "Големина",
+ "Modified" : "Променето"
+},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/ms_MY.js b/apps/systemtags/l10n/ms_MY.js
new file mode 100644
index 00000000000..2958617429c
--- /dev/null
+++ b/apps/systemtags/l10n/ms_MY.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Name" : "Nama",
+ "Size" : "Saiz",
+ "Modified" : "Dimodifikasi"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/ms_MY.json b/apps/systemtags/l10n/ms_MY.json
new file mode 100644
index 00000000000..646640c0134
--- /dev/null
+++ b/apps/systemtags/l10n/ms_MY.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "Name" : "Nama",
+ "Size" : "Saiz",
+ "Modified" : "Dimodifikasi"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/nb_NO.js b/apps/systemtags/l10n/nb_NO.js
new file mode 100644
index 00000000000..0dd43755afe
--- /dev/null
+++ b/apps/systemtags/l10n/nb_NO.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Tagger",
+ "No files in here" : "Ingen filer her",
+ "No entries found in this folder" : "Ingen oppføringer funnet i denne mappen",
+ "Name" : "Navn",
+ "Size" : "Størrelse",
+ "Modified" : "Endret"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/nb_NO.json b/apps/systemtags/l10n/nb_NO.json
new file mode 100644
index 00000000000..270a56bd8e0
--- /dev/null
+++ b/apps/systemtags/l10n/nb_NO.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Tagger",
+ "No files in here" : "Ingen filer her",
+ "No entries found in this folder" : "Ingen oppføringer funnet i denne mappen",
+ "Name" : "Navn",
+ "Size" : "Størrelse",
+ "Modified" : "Endret"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/nds.js b/apps/systemtags/l10n/nds.js
new file mode 100644
index 00000000000..25ab44ecb4f
--- /dev/null
+++ b/apps/systemtags/l10n/nds.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Name" : "Name"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/nds.json b/apps/systemtags/l10n/nds.json
new file mode 100644
index 00000000000..d00289bba5c
--- /dev/null
+++ b/apps/systemtags/l10n/nds.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Name" : "Name"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/nl.js b/apps/systemtags/l10n/nl.js
new file mode 100644
index 00000000000..81eb5beddc5
--- /dev/null
+++ b/apps/systemtags/l10n/nl.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Tags",
+ "No files in here" : "Hier geen bestanden",
+ "No entries found in this folder" : "Niets gevonden in deze map",
+ "Name" : "Naam",
+ "Size" : "Grootte",
+ "Modified" : "Aangepast"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/nl.json b/apps/systemtags/l10n/nl.json
new file mode 100644
index 00000000000..0f7e0b6aa98
--- /dev/null
+++ b/apps/systemtags/l10n/nl.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Tags",
+ "No files in here" : "Hier geen bestanden",
+ "No entries found in this folder" : "Niets gevonden in deze map",
+ "Name" : "Naam",
+ "Size" : "Grootte",
+ "Modified" : "Aangepast"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/nn_NO.js b/apps/systemtags/l10n/nn_NO.js
new file mode 100644
index 00000000000..02260061f6c
--- /dev/null
+++ b/apps/systemtags/l10n/nn_NO.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Emneord",
+ "Name" : "Namn",
+ "Size" : "Storleik",
+ "Modified" : "Endra"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/nn_NO.json b/apps/systemtags/l10n/nn_NO.json
new file mode 100644
index 00000000000..8e504bf6b2a
--- /dev/null
+++ b/apps/systemtags/l10n/nn_NO.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Tags" : "Emneord",
+ "Name" : "Namn",
+ "Size" : "Storleik",
+ "Modified" : "Endra"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/oc.js b/apps/systemtags/l10n/oc.js
new file mode 100644
index 00000000000..f6263a28b51
--- /dev/null
+++ b/apps/systemtags/l10n/oc.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Etiquetas",
+ "No files in here" : "Pas cap de fichièr aicí",
+ "No entries found in this folder" : "Cap d'entrada pas trobada dins aqueste dorsièr",
+ "Name" : "Nom",
+ "Size" : "Talha",
+ "Modified" : "Modificat"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/systemtags/l10n/oc.json b/apps/systemtags/l10n/oc.json
new file mode 100644
index 00000000000..557e56fb541
--- /dev/null
+++ b/apps/systemtags/l10n/oc.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Etiquetas",
+ "No files in here" : "Pas cap de fichièr aicí",
+ "No entries found in this folder" : "Cap d'entrada pas trobada dins aqueste dorsièr",
+ "Name" : "Nom",
+ "Size" : "Talha",
+ "Modified" : "Modificat"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/pl.js b/apps/systemtags/l10n/pl.js
new file mode 100644
index 00000000000..5e426a1e96e
--- /dev/null
+++ b/apps/systemtags/l10n/pl.js
@@ -0,0 +1,10 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Tagi",
+ "No entries found in this folder" : "Brak wpisów w tym folderze",
+ "Name" : "Nazwa",
+ "Size" : "Rozmiar",
+ "Modified" : "Modyfikacja"
+},
+"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/systemtags/l10n/pl.json b/apps/systemtags/l10n/pl.json
new file mode 100644
index 00000000000..ca3158eaf4b
--- /dev/null
+++ b/apps/systemtags/l10n/pl.json
@@ -0,0 +1,8 @@
+{ "translations": {
+ "Tags" : "Tagi",
+ "No entries found in this folder" : "Brak wpisów w tym folderze",
+ "Name" : "Nazwa",
+ "Size" : "Rozmiar",
+ "Modified" : "Modyfikacja"
+},"pluralForm" :"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/pt_BR.js b/apps/systemtags/l10n/pt_BR.js
new file mode 100644
index 00000000000..ac755204c0a
--- /dev/null
+++ b/apps/systemtags/l10n/pt_BR.js
@@ -0,0 +1,25 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "<strong>System tags</strong> for a file have been modified" : "<strong>As etiquetas do sistema</strong> para um arquivo foram modificadas",
+ "%1$s assigned system tag %3$s" : "%1$s etiqueta de sistema atribuída %3$s",
+ "%1$s unassigned system tag %3$s" : "%1$s etiqueta de sistema não atribuída %3$s",
+ "%1$s created system tag %2$s" : "%1$s etiqueta de sistema criada %2$s",
+ "%1$s deleted system tag %2$s" : "%1$s etiqueta de sistema excluída %2$s",
+ "%1$s updated system tag %3$s to %2$s" : "%1$s etiqueta de sistema atualizada %3$s para %2$s",
+ "%1$s assigned system tag %3$s to %2$s" : "%1$s etiqueta de sistema atribuída %3$s para %2$s",
+ "%1$s unassigned system tag %3$s from %2$s" : "%1$s etiqueta de sistema não atribuída %3$s de %2$s",
+ "%s (not-assignable)" : "%s (intransferível)",
+ "%s (invisible)" : "%s (invisivel)",
+ "Tags" : "Etiquetas",
+ "Tagged files" : "Arquivos etiquetados",
+ "Select tags to filter by" : "Selecionar etiquetas para filtrar por",
+ "Please select tags to filter by" : "Por favor selecione etiquetas para filtrar por",
+ "No files found for the selected tags" : "Não há arquivos encontrados para as etiquetas selecionadas",
+ "No files in here" : "Nenhum arquivo aqui",
+ "No entries found in this folder" : "Nenhuma entrada foi encontrada nesta pasta",
+ "Name" : "Nome",
+ "Size" : "Tamanho",
+ "Modified" : "Modificado"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/systemtags/l10n/pt_BR.json b/apps/systemtags/l10n/pt_BR.json
new file mode 100644
index 00000000000..baa6a12064f
--- /dev/null
+++ b/apps/systemtags/l10n/pt_BR.json
@@ -0,0 +1,23 @@
+{ "translations": {
+ "<strong>System tags</strong> for a file have been modified" : "<strong>As etiquetas do sistema</strong> para um arquivo foram modificadas",
+ "%1$s assigned system tag %3$s" : "%1$s etiqueta de sistema atribuída %3$s",
+ "%1$s unassigned system tag %3$s" : "%1$s etiqueta de sistema não atribuída %3$s",
+ "%1$s created system tag %2$s" : "%1$s etiqueta de sistema criada %2$s",
+ "%1$s deleted system tag %2$s" : "%1$s etiqueta de sistema excluída %2$s",
+ "%1$s updated system tag %3$s to %2$s" : "%1$s etiqueta de sistema atualizada %3$s para %2$s",
+ "%1$s assigned system tag %3$s to %2$s" : "%1$s etiqueta de sistema atribuída %3$s para %2$s",
+ "%1$s unassigned system tag %3$s from %2$s" : "%1$s etiqueta de sistema não atribuída %3$s de %2$s",
+ "%s (not-assignable)" : "%s (intransferível)",
+ "%s (invisible)" : "%s (invisivel)",
+ "Tags" : "Etiquetas",
+ "Tagged files" : "Arquivos etiquetados",
+ "Select tags to filter by" : "Selecionar etiquetas para filtrar por",
+ "Please select tags to filter by" : "Por favor selecione etiquetas para filtrar por",
+ "No files found for the selected tags" : "Não há arquivos encontrados para as etiquetas selecionadas",
+ "No files in here" : "Nenhum arquivo aqui",
+ "No entries found in this folder" : "Nenhuma entrada foi encontrada nesta pasta",
+ "Name" : "Nome",
+ "Size" : "Tamanho",
+ "Modified" : "Modificado"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/pt_PT.js b/apps/systemtags/l10n/pt_PT.js
new file mode 100644
index 00000000000..505a3ed46aa
--- /dev/null
+++ b/apps/systemtags/l10n/pt_PT.js
@@ -0,0 +1,25 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "<strong>System tags</strong> for a file have been modified" : "<strong>Etiquetas do sistema</strong> para um ficheiro foram alteradas",
+ "%1$s assigned system tag %3$s" : "%1$s recebeu a etiqueta %3$s",
+ "%1$s unassigned system tag %3$s" : "%1$s perdeu a etiqueta %3$s",
+ "%1$s created system tag %2$s" : "%1$s criou a etiqueta %2$s",
+ "%1$s deleted system tag %2$s" : "%1$s apagou a etiqueta %2$s",
+ "%1$s updated system tag %3$s to %2$s" : "%1$s atualizou a etiqueta %3$s para %2$s",
+ "%1$s assigned system tag %3$s to %2$s" : "%1$s atribuiu a etiqueta %3$s a %2$s",
+ "%1$s unassigned system tag %3$s from %2$s" : "%1$s retirou a etiqueta %3$s a %2$s",
+ "%s (not-assignable)" : "%s (não atribuível)",
+ "%s (invisible)" : "%s (invisível)",
+ "Tags" : "Etiquetas",
+ "Tagged files" : "Ficheiros etiquetados",
+ "Select tags to filter by" : "Selecionar etiquetas para filtrar",
+ "Please select tags to filter by" : "Selecione etiquetas para filtrar",
+ "No files found for the selected tags" : "Nenhum ficheiro encontrado com as etiquetas selecionadas",
+ "No files in here" : "Nenhuns ficheiros aqui",
+ "No entries found in this folder" : "Não foram encontradas entradas nesta pasta",
+ "Name" : "Nome",
+ "Size" : "Tamanho",
+ "Modified" : "Modificado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/pt_PT.json b/apps/systemtags/l10n/pt_PT.json
new file mode 100644
index 00000000000..8ce8f10f2d7
--- /dev/null
+++ b/apps/systemtags/l10n/pt_PT.json
@@ -0,0 +1,23 @@
+{ "translations": {
+ "<strong>System tags</strong> for a file have been modified" : "<strong>Etiquetas do sistema</strong> para um ficheiro foram alteradas",
+ "%1$s assigned system tag %3$s" : "%1$s recebeu a etiqueta %3$s",
+ "%1$s unassigned system tag %3$s" : "%1$s perdeu a etiqueta %3$s",
+ "%1$s created system tag %2$s" : "%1$s criou a etiqueta %2$s",
+ "%1$s deleted system tag %2$s" : "%1$s apagou a etiqueta %2$s",
+ "%1$s updated system tag %3$s to %2$s" : "%1$s atualizou a etiqueta %3$s para %2$s",
+ "%1$s assigned system tag %3$s to %2$s" : "%1$s atribuiu a etiqueta %3$s a %2$s",
+ "%1$s unassigned system tag %3$s from %2$s" : "%1$s retirou a etiqueta %3$s a %2$s",
+ "%s (not-assignable)" : "%s (não atribuível)",
+ "%s (invisible)" : "%s (invisível)",
+ "Tags" : "Etiquetas",
+ "Tagged files" : "Ficheiros etiquetados",
+ "Select tags to filter by" : "Selecionar etiquetas para filtrar",
+ "Please select tags to filter by" : "Selecione etiquetas para filtrar",
+ "No files found for the selected tags" : "Nenhum ficheiro encontrado com as etiquetas selecionadas",
+ "No files in here" : "Nenhuns ficheiros aqui",
+ "No entries found in this folder" : "Não foram encontradas entradas nesta pasta",
+ "Name" : "Nome",
+ "Size" : "Tamanho",
+ "Modified" : "Modificado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/ro.js b/apps/systemtags/l10n/ro.js
new file mode 100644
index 00000000000..17e8642d353
--- /dev/null
+++ b/apps/systemtags/l10n/ro.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Cuvinte cheie",
+ "Name" : "Nume",
+ "Size" : "Mărime",
+ "Modified" : "Modificat"
+},
+"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/systemtags/l10n/ro.json b/apps/systemtags/l10n/ro.json
new file mode 100644
index 00000000000..2ce71c85a8e
--- /dev/null
+++ b/apps/systemtags/l10n/ro.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Tags" : "Cuvinte cheie",
+ "Name" : "Nume",
+ "Size" : "Mărime",
+ "Modified" : "Modificat"
+},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/ru.js b/apps/systemtags/l10n/ru.js
new file mode 100644
index 00000000000..048453e3671
--- /dev/null
+++ b/apps/systemtags/l10n/ru.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Метки",
+ "No files in here" : "Здесь нет файлов",
+ "No entries found in this folder" : "Нет элементов в этом каталоге",
+ "Name" : "Наименование контакта",
+ "Size" : "Размер",
+ "Modified" : "Изменён"
+},
+"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/systemtags/l10n/ru.json b/apps/systemtags/l10n/ru.json
new file mode 100644
index 00000000000..a062498b25f
--- /dev/null
+++ b/apps/systemtags/l10n/ru.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Метки",
+ "No files in here" : "Здесь нет файлов",
+ "No entries found in this folder" : "Нет элементов в этом каталоге",
+ "Name" : "Наименование контакта",
+ "Size" : "Размер",
+ "Modified" : "Изменён"
+},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/si_LK.js b/apps/systemtags/l10n/si_LK.js
new file mode 100644
index 00000000000..79b1f9f9f47
--- /dev/null
+++ b/apps/systemtags/l10n/si_LK.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "ටැග",
+ "Name" : "නම",
+ "Size" : "ප්‍රමාණය",
+ "Modified" : "වෙනස් කළ"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/si_LK.json b/apps/systemtags/l10n/si_LK.json
new file mode 100644
index 00000000000..7891839a910
--- /dev/null
+++ b/apps/systemtags/l10n/si_LK.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Tags" : "ටැග",
+ "Name" : "නම",
+ "Size" : "ප්‍රමාණය",
+ "Modified" : "වෙනස් කළ"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/sk_SK.js b/apps/systemtags/l10n/sk_SK.js
new file mode 100644
index 00000000000..f86639b2754
--- /dev/null
+++ b/apps/systemtags/l10n/sk_SK.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Značky",
+ "No files in here" : "Nie sú tu žiadne súbory",
+ "No entries found in this folder" : "V tomto priečinku nebolo nič nájdené",
+ "Name" : "Názov",
+ "Size" : "Veľkosť",
+ "Modified" : "Upravené"
+},
+"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/systemtags/l10n/sk_SK.json b/apps/systemtags/l10n/sk_SK.json
new file mode 100644
index 00000000000..c84f0b719e3
--- /dev/null
+++ b/apps/systemtags/l10n/sk_SK.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Značky",
+ "No files in here" : "Nie sú tu žiadne súbory",
+ "No entries found in this folder" : "V tomto priečinku nebolo nič nájdené",
+ "Name" : "Názov",
+ "Size" : "Veľkosť",
+ "Modified" : "Upravené"
+},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/sl.js b/apps/systemtags/l10n/sl.js
new file mode 100644
index 00000000000..5a239abc162
--- /dev/null
+++ b/apps/systemtags/l10n/sl.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Oznake",
+ "No files in here" : "V mapi ni datotek",
+ "No entries found in this folder" : "V tej mapi ni najdenih predmetov.",
+ "Name" : "Ime",
+ "Size" : "Velikost",
+ "Modified" : "Spremenjeno"
+},
+"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/systemtags/l10n/sl.json b/apps/systemtags/l10n/sl.json
new file mode 100644
index 00000000000..4707430b778
--- /dev/null
+++ b/apps/systemtags/l10n/sl.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Oznake",
+ "No files in here" : "V mapi ni datotek",
+ "No entries found in this folder" : "V tej mapi ni najdenih predmetov.",
+ "Name" : "Ime",
+ "Size" : "Velikost",
+ "Modified" : "Spremenjeno"
+},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/sq.js b/apps/systemtags/l10n/sq.js
new file mode 100644
index 00000000000..f473495be01
--- /dev/null
+++ b/apps/systemtags/l10n/sq.js
@@ -0,0 +1,25 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "<strong>System tags</strong> for a file have been modified" : "U ndryshyan <strong>etiketa sistemi</strong>për një kartelë",
+ "%1$s assigned system tag %3$s" : "%1$s caktoi etiketën e sistemit %3$s",
+ "%1$s unassigned system tag %3$s" : "%1$s e hoqi %3$s si etiketë sistemi",
+ "%1$s created system tag %2$s" : "%1$s krijoi etiketën e sistemit %2$s",
+ "%1$s deleted system tag %2$s" : "%1$s fshiu etiketën e sistemit %2$s",
+ "%1$s updated system tag %3$s to %2$s" : "%1$s përditësoi etiketën e sistemit %3$s si %2$s",
+ "%1$s assigned system tag %3$s to %2$s" : "%1$s caktoi etiketën e sistemit %3$s si %2$s",
+ "%1$s unassigned system tag %3$s from %2$s" : "%1$s hoqi prej %2$s etiketën e sistemit %3$s",
+ "%s (not-assignable)" : "%s (e pacaktushme)",
+ "%s (invisible)" : "%s (e padukshme)",
+ "Tags" : "Etiketa",
+ "Tagged files" : "Kartela të etiketuara",
+ "Select tags to filter by" : "Përzgjidhni etiketa sipas të cilat të bëhet filtrimi",
+ "Please select tags to filter by" : "Ju lutemi, përzgjidhni etiketa sipas të cilat të bëhet filtrimi",
+ "No files found for the selected tags" : "S’u gjetën kartela për etiketat e përzgjedhura",
+ "No files in here" : "S’ka kartela këtu",
+ "No entries found in this folder" : "S’u gjetën zëra në këtë dosje",
+ "Name" : "Emër",
+ "Size" : "Madhësi",
+ "Modified" : "Ndryshuar më"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/sq.json b/apps/systemtags/l10n/sq.json
new file mode 100644
index 00000000000..b3058efd995
--- /dev/null
+++ b/apps/systemtags/l10n/sq.json
@@ -0,0 +1,23 @@
+{ "translations": {
+ "<strong>System tags</strong> for a file have been modified" : "U ndryshyan <strong>etiketa sistemi</strong>për një kartelë",
+ "%1$s assigned system tag %3$s" : "%1$s caktoi etiketën e sistemit %3$s",
+ "%1$s unassigned system tag %3$s" : "%1$s e hoqi %3$s si etiketë sistemi",
+ "%1$s created system tag %2$s" : "%1$s krijoi etiketën e sistemit %2$s",
+ "%1$s deleted system tag %2$s" : "%1$s fshiu etiketën e sistemit %2$s",
+ "%1$s updated system tag %3$s to %2$s" : "%1$s përditësoi etiketën e sistemit %3$s si %2$s",
+ "%1$s assigned system tag %3$s to %2$s" : "%1$s caktoi etiketën e sistemit %3$s si %2$s",
+ "%1$s unassigned system tag %3$s from %2$s" : "%1$s hoqi prej %2$s etiketën e sistemit %3$s",
+ "%s (not-assignable)" : "%s (e pacaktushme)",
+ "%s (invisible)" : "%s (e padukshme)",
+ "Tags" : "Etiketa",
+ "Tagged files" : "Kartela të etiketuara",
+ "Select tags to filter by" : "Përzgjidhni etiketa sipas të cilat të bëhet filtrimi",
+ "Please select tags to filter by" : "Ju lutemi, përzgjidhni etiketa sipas të cilat të bëhet filtrimi",
+ "No files found for the selected tags" : "S’u gjetën kartela për etiketat e përzgjedhura",
+ "No files in here" : "S’ka kartela këtu",
+ "No entries found in this folder" : "S’u gjetën zëra në këtë dosje",
+ "Name" : "Emër",
+ "Size" : "Madhësi",
+ "Modified" : "Ndryshuar më"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/sr.js b/apps/systemtags/l10n/sr.js
new file mode 100644
index 00000000000..fdd31cdf781
--- /dev/null
+++ b/apps/systemtags/l10n/sr.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Ознаке",
+ "No files in here" : "Овде нема фајлова",
+ "No entries found in this folder" : "Нема ничега у овој фасцикли",
+ "Name" : "назив",
+ "Size" : "величина",
+ "Modified" : "Измењен"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/systemtags/l10n/sr.json b/apps/systemtags/l10n/sr.json
new file mode 100644
index 00000000000..2acc5aa4261
--- /dev/null
+++ b/apps/systemtags/l10n/sr.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Ознаке",
+ "No files in here" : "Овде нема фајлова",
+ "No entries found in this folder" : "Нема ничега у овој фасцикли",
+ "Name" : "назив",
+ "Size" : "величина",
+ "Modified" : "Измењен"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/sr@latin.js b/apps/systemtags/l10n/sr@latin.js
new file mode 100644
index 00000000000..090fa44934b
--- /dev/null
+++ b/apps/systemtags/l10n/sr@latin.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Oznake",
+ "No files in here" : "Ovde nema fajlova",
+ "No entries found in this folder" : "Nema ničega u ovoj fascikli",
+ "Name" : "naziv",
+ "Size" : "veličina",
+ "Modified" : "Izmenjen"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/systemtags/l10n/sr@latin.json b/apps/systemtags/l10n/sr@latin.json
new file mode 100644
index 00000000000..b4e0d396af8
--- /dev/null
+++ b/apps/systemtags/l10n/sr@latin.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Oznake",
+ "No files in here" : "Ovde nema fajlova",
+ "No entries found in this folder" : "Nema ničega u ovoj fascikli",
+ "Name" : "naziv",
+ "Size" : "veličina",
+ "Modified" : "Izmenjen"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/sv.js b/apps/systemtags/l10n/sv.js
new file mode 100644
index 00000000000..99eea208f9e
--- /dev/null
+++ b/apps/systemtags/l10n/sv.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Taggar",
+ "No files in here" : "Inga filer kunde hittas",
+ "No entries found in this folder" : "nga Filer hittades i denna mapp",
+ "Name" : "Namn",
+ "Size" : "Storlek",
+ "Modified" : "Ändrad"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/sv.json b/apps/systemtags/l10n/sv.json
new file mode 100644
index 00000000000..e24bf04dd75
--- /dev/null
+++ b/apps/systemtags/l10n/sv.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Taggar",
+ "No files in here" : "Inga filer kunde hittas",
+ "No entries found in this folder" : "nga Filer hittades i denna mapp",
+ "Name" : "Namn",
+ "Size" : "Storlek",
+ "Modified" : "Ändrad"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/ta_LK.js b/apps/systemtags/l10n/ta_LK.js
new file mode 100644
index 00000000000..8d72eec96bf
--- /dev/null
+++ b/apps/systemtags/l10n/ta_LK.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "சீட்டுகள்",
+ "Name" : "பெயர்",
+ "Size" : "அளவு",
+ "Modified" : "மாற்றப்பட்டது"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/ta_LK.json b/apps/systemtags/l10n/ta_LK.json
new file mode 100644
index 00000000000..a7091a2efee
--- /dev/null
+++ b/apps/systemtags/l10n/ta_LK.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Tags" : "சீட்டுகள்",
+ "Name" : "பெயர்",
+ "Size" : "அளவு",
+ "Modified" : "மாற்றப்பட்டது"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/te.js b/apps/systemtags/l10n/te.js
new file mode 100644
index 00000000000..ba9137e212a
--- /dev/null
+++ b/apps/systemtags/l10n/te.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Name" : "పేరు",
+ "Size" : "పరిమాణం"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/te.json b/apps/systemtags/l10n/te.json
new file mode 100644
index 00000000000..b2db2bebe45
--- /dev/null
+++ b/apps/systemtags/l10n/te.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Name" : "పేరు",
+ "Size" : "పరిమాణం"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/th_TH.js b/apps/systemtags/l10n/th_TH.js
new file mode 100644
index 00000000000..8e747dbe1b7
--- /dev/null
+++ b/apps/systemtags/l10n/th_TH.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "ป้ายกำกับ",
+ "No files in here" : "ไม่มีไฟล์ที่นี่",
+ "No entries found in this folder" : "ไม่พบรายการในโฟลเดอร์นี้",
+ "Name" : "ชื่อ",
+ "Size" : "ขนาด",
+ "Modified" : "แก้ไขแล้ว"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/th_TH.json b/apps/systemtags/l10n/th_TH.json
new file mode 100644
index 00000000000..62a6eb05000
--- /dev/null
+++ b/apps/systemtags/l10n/th_TH.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "ป้ายกำกับ",
+ "No files in here" : "ไม่มีไฟล์ที่นี่",
+ "No entries found in this folder" : "ไม่พบรายการในโฟลเดอร์นี้",
+ "Name" : "ชื่อ",
+ "Size" : "ขนาด",
+ "Modified" : "แก้ไขแล้ว"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/tr.js b/apps/systemtags/l10n/tr.js
new file mode 100644
index 00000000000..6ca4c299006
--- /dev/null
+++ b/apps/systemtags/l10n/tr.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Etiketler",
+ "No files in here" : "Burada hiç dosya yok",
+ "No entries found in this folder" : "Bu klasörde hiçbir girdi bulunamadı",
+ "Name" : "Ad",
+ "Size" : "Boyut",
+ "Modified" : "Değiştirilme"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/systemtags/l10n/tr.json b/apps/systemtags/l10n/tr.json
new file mode 100644
index 00000000000..4dfd5722459
--- /dev/null
+++ b/apps/systemtags/l10n/tr.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Etiketler",
+ "No files in here" : "Burada hiç dosya yok",
+ "No entries found in this folder" : "Bu klasörde hiçbir girdi bulunamadı",
+ "Name" : "Ad",
+ "Size" : "Boyut",
+ "Modified" : "Değiştirilme"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/ug.js b/apps/systemtags/l10n/ug.js
new file mode 100644
index 00000000000..73d814b1912
--- /dev/null
+++ b/apps/systemtags/l10n/ug.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "بەلگەلەر",
+ "Name" : "ئاتى",
+ "Size" : "چوڭلۇقى",
+ "Modified" : "ئۆزگەرتكەن"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/ug.json b/apps/systemtags/l10n/ug.json
new file mode 100644
index 00000000000..acdb9e5d8ee
--- /dev/null
+++ b/apps/systemtags/l10n/ug.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "Tags" : "بەلگەلەر",
+ "Name" : "ئاتى",
+ "Size" : "چوڭلۇقى",
+ "Modified" : "ئۆزگەرتكەن"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/uk.js b/apps/systemtags/l10n/uk.js
new file mode 100644
index 00000000000..41e3aa8c376
--- /dev/null
+++ b/apps/systemtags/l10n/uk.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Теги",
+ "No files in here" : "Тут немає файлів",
+ "No entries found in this folder" : "В цій теці нічого немає",
+ "Name" : "Ім’я",
+ "Size" : "Розмір",
+ "Modified" : "Змінено"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/systemtags/l10n/uk.json b/apps/systemtags/l10n/uk.json
new file mode 100644
index 00000000000..875eb0633f5
--- /dev/null
+++ b/apps/systemtags/l10n/uk.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "Теги",
+ "No files in here" : "Тут немає файлів",
+ "No entries found in this folder" : "В цій теці нічого немає",
+ "Name" : "Ім’я",
+ "Size" : "Розмір",
+ "Modified" : "Змінено"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/ur_PK.js b/apps/systemtags/l10n/ur_PK.js
new file mode 100644
index 00000000000..7635cc73899
--- /dev/null
+++ b/apps/systemtags/l10n/ur_PK.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Name" : "اسم"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/systemtags/l10n/ur_PK.json b/apps/systemtags/l10n/ur_PK.json
new file mode 100644
index 00000000000..92dc68bea5d
--- /dev/null
+++ b/apps/systemtags/l10n/ur_PK.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Name" : "اسم"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/vi.js b/apps/systemtags/l10n/vi.js
new file mode 100644
index 00000000000..9dc38f093f0
--- /dev/null
+++ b/apps/systemtags/l10n/vi.js
@@ -0,0 +1,10 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "Tags",
+ "No entries found in this folder" : "Chưa có mục nào trong thư mục",
+ "Name" : "Tên",
+ "Size" : "Kích cỡ",
+ "Modified" : "Thay đổi"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/vi.json b/apps/systemtags/l10n/vi.json
new file mode 100644
index 00000000000..3e3212ba2e4
--- /dev/null
+++ b/apps/systemtags/l10n/vi.json
@@ -0,0 +1,8 @@
+{ "translations": {
+ "Tags" : "Tags",
+ "No entries found in this folder" : "Chưa có mục nào trong thư mục",
+ "Name" : "Tên",
+ "Size" : "Kích cỡ",
+ "Modified" : "Thay đổi"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/zh_CN.js b/apps/systemtags/l10n/zh_CN.js
new file mode 100644
index 00000000000..bc8a5b0c41a
--- /dev/null
+++ b/apps/systemtags/l10n/zh_CN.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "标签",
+ "No files in here" : "无文件",
+ "No entries found in this folder" : "此文件夹中无项目",
+ "Name" : "名称",
+ "Size" : "大小",
+ "Modified" : "修改日期"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/zh_CN.json b/apps/systemtags/l10n/zh_CN.json
new file mode 100644
index 00000000000..12282f0015e
--- /dev/null
+++ b/apps/systemtags/l10n/zh_CN.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "标签",
+ "No files in here" : "无文件",
+ "No entries found in this folder" : "此文件夹中无项目",
+ "Name" : "名称",
+ "Size" : "大小",
+ "Modified" : "修改日期"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/zh_HK.js b/apps/systemtags/l10n/zh_HK.js
new file mode 100644
index 00000000000..531fb10e46e
--- /dev/null
+++ b/apps/systemtags/l10n/zh_HK.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Name" : "名稱",
+ "Size" : "大小"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/zh_HK.json b/apps/systemtags/l10n/zh_HK.json
new file mode 100644
index 00000000000..b97f92aaa77
--- /dev/null
+++ b/apps/systemtags/l10n/zh_HK.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "Name" : "名稱",
+ "Size" : "大小"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/systemtags/l10n/zh_TW.js b/apps/systemtags/l10n/zh_TW.js
new file mode 100644
index 00000000000..bfcf22f94ba
--- /dev/null
+++ b/apps/systemtags/l10n/zh_TW.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+ "systemtags",
+ {
+ "Tags" : "標籤",
+ "No files in here" : "沒有任何檔案",
+ "No entries found in this folder" : "在此資料夾中沒有任何項目",
+ "Name" : "名稱",
+ "Size" : "大小",
+ "Modified" : "修改時間"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/systemtags/l10n/zh_TW.json b/apps/systemtags/l10n/zh_TW.json
new file mode 100644
index 00000000000..abd8415c4cf
--- /dev/null
+++ b/apps/systemtags/l10n/zh_TW.json
@@ -0,0 +1,9 @@
+{ "translations": {
+ "Tags" : "標籤",
+ "No files in here" : "沒有任何檔案",
+ "No entries found in this folder" : "在此資料夾中沒有任何項目",
+ "Name" : "名稱",
+ "Size" : "大小",
+ "Modified" : "修改時間"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/updatenotification/appinfo/app.php b/apps/updatenotification/appinfo/app.php
index 99df99ac7c9..9148b6e6ef7 100644
--- a/apps/updatenotification/appinfo/app.php
+++ b/apps/updatenotification/appinfo/app.php
@@ -34,8 +34,7 @@ if(\OC::$server->getConfig()->getSystemValue('updatechecker', true) === true) {
if(\OC::$server->getGroupManager()->isAdmin($userObject->getUID()) && $updateChecker->getUpdateState() !== []) {
\OCP\Util::addScript('updatenotification', 'notification');
OC_Hook::connect('\OCP\Config', 'js', $updateChecker, 'getJavaScript');
+ \OC_App::registerAdmin('updatenotification', 'admin');
}
}
-
- \OC_App::registerAdmin('updatenotification', 'admin');
}
diff --git a/apps/updatenotification/l10n/.gitkeep b/apps/updatenotification/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/apps/updatenotification/l10n/.gitkeep
diff --git a/apps/updatenotification/l10n/ar.js b/apps/updatenotification/l10n/ar.js
new file mode 100644
index 00000000000..3052bb4a6e3
--- /dev/null
+++ b/apps/updatenotification/l10n/ar.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "Updater" : "برنامج التحديث"
+},
+"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
diff --git a/apps/updatenotification/l10n/ar.json b/apps/updatenotification/l10n/ar.json
new file mode 100644
index 00000000000..e6b0f28e879
--- /dev/null
+++ b/apps/updatenotification/l10n/ar.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Updater" : "برنامج التحديث"
+},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/ast.js b/apps/updatenotification/l10n/ast.js
new file mode 100644
index 00000000000..a9fef552d0b
--- /dev/null
+++ b/apps/updatenotification/l10n/ast.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "Updater" : "Anovador"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/ast.json b/apps/updatenotification/l10n/ast.json
new file mode 100644
index 00000000000..3edbb4c46ef
--- /dev/null
+++ b/apps/updatenotification/l10n/ast.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Updater" : "Anovador"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/az.js b/apps/updatenotification/l10n/az.js
new file mode 100644
index 00000000000..73782cba3e7
--- /dev/null
+++ b/apps/updatenotification/l10n/az.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "Updater" : "Yeniləyici"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/az.json b/apps/updatenotification/l10n/az.json
new file mode 100644
index 00000000000..7be87969a43
--- /dev/null
+++ b/apps/updatenotification/l10n/az.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Updater" : "Yeniləyici"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/bg_BG.js b/apps/updatenotification/l10n/bg_BG.js
new file mode 100644
index 00000000000..443843734e1
--- /dev/null
+++ b/apps/updatenotification/l10n/bg_BG.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "Updater" : "Обновяване"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/bg_BG.json b/apps/updatenotification/l10n/bg_BG.json
new file mode 100644
index 00000000000..3dc540f8e6f
--- /dev/null
+++ b/apps/updatenotification/l10n/bg_BG.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Updater" : "Обновяване"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/bn_BD.js b/apps/updatenotification/l10n/bn_BD.js
new file mode 100644
index 00000000000..f86c8f51d6d
--- /dev/null
+++ b/apps/updatenotification/l10n/bn_BD.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "Updater" : "পরিবর্ধনকারী"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/bn_BD.json b/apps/updatenotification/l10n/bn_BD.json
new file mode 100644
index 00000000000..09a72a17e2c
--- /dev/null
+++ b/apps/updatenotification/l10n/bn_BD.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Updater" : "পরিবর্ধনকারী"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/bs.js b/apps/updatenotification/l10n/bs.js
new file mode 100644
index 00000000000..34e6f1d1ac4
--- /dev/null
+++ b/apps/updatenotification/l10n/bs.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "Updater" : "Unapređivač"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/updatenotification/l10n/bs.json b/apps/updatenotification/l10n/bs.json
new file mode 100644
index 00000000000..da0308f62b9
--- /dev/null
+++ b/apps/updatenotification/l10n/bs.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Updater" : "Unapređivač"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/ca.js b/apps/updatenotification/l10n/ca.js
new file mode 100644
index 00000000000..5f6db3199a6
--- /dev/null
+++ b/apps/updatenotification/l10n/ca.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "Hi ha disponible la versió {version}. Obtingueu més informació sobre com actualitzar.",
+ "Updater" : "Actualitzador"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/ca.json b/apps/updatenotification/l10n/ca.json
new file mode 100644
index 00000000000..74b1a731e90
--- /dev/null
+++ b/apps/updatenotification/l10n/ca.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "Hi ha disponible la versió {version}. Obtingueu més informació sobre com actualitzar.",
+ "Updater" : "Actualitzador"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/cs_CZ.js b/apps/updatenotification/l10n/cs_CZ.js
new file mode 100644
index 00000000000..b2e957751ac
--- /dev/null
+++ b/apps/updatenotification/l10n/cs_CZ.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "Je dostupná {version}. Přečtěte si více informací jak aktualizovat.",
+ "Updater" : "Automatické aktualizace"
+},
+"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/updatenotification/l10n/cs_CZ.json b/apps/updatenotification/l10n/cs_CZ.json
new file mode 100644
index 00000000000..02b2e55da18
--- /dev/null
+++ b/apps/updatenotification/l10n/cs_CZ.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "Je dostupná {version}. Přečtěte si více informací jak aktualizovat.",
+ "Updater" : "Automatické aktualizace"
+},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/da.js b/apps/updatenotification/l10n/da.js
new file mode 100644
index 00000000000..5fb9ff0e75f
--- /dev/null
+++ b/apps/updatenotification/l10n/da.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} er tilgængelig. Få mere information om hvordan du opdaterer.",
+ "Updater" : "Updater"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/da.json b/apps/updatenotification/l10n/da.json
new file mode 100644
index 00000000000..93ec0654478
--- /dev/null
+++ b/apps/updatenotification/l10n/da.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} er tilgængelig. Få mere information om hvordan du opdaterer.",
+ "Updater" : "Updater"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/de.js b/apps/updatenotification/l10n/de.js
new file mode 100644
index 00000000000..1ee4ed80721
--- /dev/null
+++ b/apps/updatenotification/l10n/de.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} ist verfügbar. Hole weitere Informationen zu Aktualisierungen ein.",
+ "Updater" : "Updater",
+ "Open updater" : "Updater öffnen"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/de.json b/apps/updatenotification/l10n/de.json
new file mode 100644
index 00000000000..5a8249a2909
--- /dev/null
+++ b/apps/updatenotification/l10n/de.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} ist verfügbar. Hole weitere Informationen zu Aktualisierungen ein.",
+ "Updater" : "Updater",
+ "Open updater" : "Updater öffnen"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/de_DE.js b/apps/updatenotification/l10n/de_DE.js
new file mode 100644
index 00000000000..df6ec8edad0
--- /dev/null
+++ b/apps/updatenotification/l10n/de_DE.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} ist verfügbar. Holen Sie weitere Informationen zu Aktualisierungen ein.",
+ "Updater" : "Updater",
+ "Open updater" : "Updater öffnen"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/de_DE.json b/apps/updatenotification/l10n/de_DE.json
new file mode 100644
index 00000000000..bdec39d3ac9
--- /dev/null
+++ b/apps/updatenotification/l10n/de_DE.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} ist verfügbar. Holen Sie weitere Informationen zu Aktualisierungen ein.",
+ "Updater" : "Updater",
+ "Open updater" : "Updater öffnen"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/el.js b/apps/updatenotification/l10n/el.js
new file mode 100644
index 00000000000..ded65a8574e
--- /dev/null
+++ b/apps/updatenotification/l10n/el.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "Η έκδοση {version} είναι διαθέσιμη. Δείτε περισσότερες πληροφορίες για το πως να κάνετε την ενημέρωση.",
+ "Updater" : "Εφαρμογή Ενημέρωσης"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/el.json b/apps/updatenotification/l10n/el.json
new file mode 100644
index 00000000000..ed15493646b
--- /dev/null
+++ b/apps/updatenotification/l10n/el.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "Η έκδοση {version} είναι διαθέσιμη. Δείτε περισσότερες πληροφορίες για το πως να κάνετε την ενημέρωση.",
+ "Updater" : "Εφαρμογή Ενημέρωσης"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/en_GB.js b/apps/updatenotification/l10n/en_GB.js
new file mode 100644
index 00000000000..e21250bb86e
--- /dev/null
+++ b/apps/updatenotification/l10n/en_GB.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} is available. Get more information on how to update.",
+ "Updater" : "Updater"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/en_GB.json b/apps/updatenotification/l10n/en_GB.json
new file mode 100644
index 00000000000..f90f8eb8551
--- /dev/null
+++ b/apps/updatenotification/l10n/en_GB.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} is available. Get more information on how to update.",
+ "Updater" : "Updater"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es.js b/apps/updatenotification/l10n/es.js
new file mode 100644
index 00000000000..5ba8cbc0ccf
--- /dev/null
+++ b/apps/updatenotification/l10n/es.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "Una nueva {version} está disponible. Obtenga más información sobre cómo actualizar.",
+ "Updater" : "Actualizador"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/es.json b/apps/updatenotification/l10n/es.json
new file mode 100644
index 00000000000..c92b202fcb9
--- /dev/null
+++ b/apps/updatenotification/l10n/es.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "Una nueva {version} está disponible. Obtenga más información sobre cómo actualizar.",
+ "Updater" : "Actualizador"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/es_AR.js b/apps/updatenotification/l10n/es_AR.js
new file mode 100644
index 00000000000..6546f696b2f
--- /dev/null
+++ b/apps/updatenotification/l10n/es_AR.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "Updater" : "Actualizador"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/es_AR.json b/apps/updatenotification/l10n/es_AR.json
new file mode 100644
index 00000000000..828c965caaf
--- /dev/null
+++ b/apps/updatenotification/l10n/es_AR.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Updater" : "Actualizador"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/et_EE.js b/apps/updatenotification/l10n/et_EE.js
new file mode 100644
index 00000000000..d6025fd9873
--- /dev/null
+++ b/apps/updatenotification/l10n/et_EE.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} on saadaval. Vaata lisainfot uuendamise kohta.",
+ "Updater" : "Uuendaja"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/et_EE.json b/apps/updatenotification/l10n/et_EE.json
new file mode 100644
index 00000000000..a6e1de5c43b
--- /dev/null
+++ b/apps/updatenotification/l10n/et_EE.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} on saadaval. Vaata lisainfot uuendamise kohta.",
+ "Updater" : "Uuendaja"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/eu.js b/apps/updatenotification/l10n/eu.js
new file mode 100644
index 00000000000..9677dc787dd
--- /dev/null
+++ b/apps/updatenotification/l10n/eu.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "Updater" : "Eguneratzailea"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/eu.json b/apps/updatenotification/l10n/eu.json
new file mode 100644
index 00000000000..663af5e4096
--- /dev/null
+++ b/apps/updatenotification/l10n/eu.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Updater" : "Eguneratzailea"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/fa.js b/apps/updatenotification/l10n/fa.js
new file mode 100644
index 00000000000..1e87e8fb523
--- /dev/null
+++ b/apps/updatenotification/l10n/fa.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} آماده است. برای چگونگی بروزرسانی اطلاعات بیشتر را دریافت نمایید.",
+ "Updater" : "به روز رساننده"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/updatenotification/l10n/fa.json b/apps/updatenotification/l10n/fa.json
new file mode 100644
index 00000000000..256461f412b
--- /dev/null
+++ b/apps/updatenotification/l10n/fa.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} آماده است. برای چگونگی بروزرسانی اطلاعات بیشتر را دریافت نمایید.",
+ "Updater" : "به روز رساننده"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/fi_FI.js b/apps/updatenotification/l10n/fi_FI.js
new file mode 100644
index 00000000000..165bc57936a
--- /dev/null
+++ b/apps/updatenotification/l10n/fi_FI.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} on saatavilla. Tarjolla on lisätietoja päivittämisestä.",
+ "Updater" : "Päivitysohjelma",
+ "For security reasons the built-in ownCloud updater is using additional credentials. To visit the updater page please click the following button." : "Tietoturvasyistä ownCloudin sisäänrakennettu päivitysohjelma käyttää erillisiä tunnistamistietoja. Siirry päivitysohjelman sivulle napsauttamalla seuraavaa painiketta.",
+ "Open updater" : "Avaa päivitysohjelma"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/fi_FI.json b/apps/updatenotification/l10n/fi_FI.json
new file mode 100644
index 00000000000..5a96aadb044
--- /dev/null
+++ b/apps/updatenotification/l10n/fi_FI.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} on saatavilla. Tarjolla on lisätietoja päivittämisestä.",
+ "Updater" : "Päivitysohjelma",
+ "For security reasons the built-in ownCloud updater is using additional credentials. To visit the updater page please click the following button." : "Tietoturvasyistä ownCloudin sisäänrakennettu päivitysohjelma käyttää erillisiä tunnistamistietoja. Siirry päivitysohjelman sivulle napsauttamalla seuraavaa painiketta.",
+ "Open updater" : "Avaa päivitysohjelma"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/fr.js b/apps/updatenotification/l10n/fr.js
new file mode 100644
index 00000000000..dd8ac55a19e
--- /dev/null
+++ b/apps/updatenotification/l10n/fr.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "La version {version} est disponible. Cliquez ici pour plus d'informations à propos de cette mise à jour.",
+ "Updater" : "Mises à jour"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/updatenotification/l10n/fr.json b/apps/updatenotification/l10n/fr.json
new file mode 100644
index 00000000000..08ad073c0b4
--- /dev/null
+++ b/apps/updatenotification/l10n/fr.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "La version {version} est disponible. Cliquez ici pour plus d'informations à propos de cette mise à jour.",
+ "Updater" : "Mises à jour"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/gl.js b/apps/updatenotification/l10n/gl.js
new file mode 100644
index 00000000000..f87d3768aab
--- /dev/null
+++ b/apps/updatenotification/l10n/gl.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} está dispoñíbel. Obteña máis información sobre como actualizar.",
+ "Updater" : "Actualizador"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/gl.json b/apps/updatenotification/l10n/gl.json
new file mode 100644
index 00000000000..dba6de2dc17
--- /dev/null
+++ b/apps/updatenotification/l10n/gl.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} está dispoñíbel. Obteña máis información sobre como actualizar.",
+ "Updater" : "Actualizador"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/he.js b/apps/updatenotification/l10n/he.js
new file mode 100644
index 00000000000..04681096101
--- /dev/null
+++ b/apps/updatenotification/l10n/he.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} זמינה. ניתן לקבל מידע נוסף על איך לעדכן.",
+ "Updater" : "מעדכן",
+ "For security reasons the built-in ownCloud updater is using additional credentials. To visit the updater page please click the following button." : "מסיבות הבטחה מעדכן ה- ownCloud המובנה משתמש באימות נוסף. לביקור בעמוד העדכון יש ללחוץ על הכפתור הבא.",
+ "Open updater" : "פתיחת מעדכן"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/he.json b/apps/updatenotification/l10n/he.json
new file mode 100644
index 00000000000..8bdf252e4f3
--- /dev/null
+++ b/apps/updatenotification/l10n/he.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} זמינה. ניתן לקבל מידע נוסף על איך לעדכן.",
+ "Updater" : "מעדכן",
+ "For security reasons the built-in ownCloud updater is using additional credentials. To visit the updater page please click the following button." : "מסיבות הבטחה מעדכן ה- ownCloud המובנה משתמש באימות נוסף. לביקור בעמוד העדכון יש ללחוץ על הכפתור הבא.",
+ "Open updater" : "פתיחת מעדכן"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/hr.js b/apps/updatenotification/l10n/hr.js
new file mode 100644
index 00000000000..7a3d340816d
--- /dev/null
+++ b/apps/updatenotification/l10n/hr.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "Updater" : "Aplikcija za nadogradnju"
+},
+"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/updatenotification/l10n/hr.json b/apps/updatenotification/l10n/hr.json
new file mode 100644
index 00000000000..16dc7becd6a
--- /dev/null
+++ b/apps/updatenotification/l10n/hr.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Updater" : "Aplikcija za nadogradnju"
+},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/hu_HU.js b/apps/updatenotification/l10n/hu_HU.js
new file mode 100644
index 00000000000..7d26aaf26dd
--- /dev/null
+++ b/apps/updatenotification/l10n/hu_HU.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} rendelkezésre áll. További információ a frissítéshez.",
+ "Updater" : "Frissítéskezelő"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/hu_HU.json b/apps/updatenotification/l10n/hu_HU.json
new file mode 100644
index 00000000000..d7a611238c9
--- /dev/null
+++ b/apps/updatenotification/l10n/hu_HU.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} rendelkezésre áll. További információ a frissítéshez.",
+ "Updater" : "Frissítéskezelő"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/id.js b/apps/updatenotification/l10n/id.js
new file mode 100644
index 00000000000..7d90d3848f0
--- /dev/null
+++ b/apps/updatenotification/l10n/id.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} tersedia. Dapatkan informasi lebih lanjut cara memperbaruinya.",
+ "Updater" : "Pengupdate"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/updatenotification/l10n/id.json b/apps/updatenotification/l10n/id.json
new file mode 100644
index 00000000000..86dccdda80a
--- /dev/null
+++ b/apps/updatenotification/l10n/id.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} tersedia. Dapatkan informasi lebih lanjut cara memperbaruinya.",
+ "Updater" : "Pengupdate"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/is.js b/apps/updatenotification/l10n/is.js
new file mode 100644
index 00000000000..c3071905aeb
--- /dev/null
+++ b/apps/updatenotification/l10n/is.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} er í boði. Fá frekari upplýsingar um hvernig á að uppfæra."
+},
+"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/updatenotification/l10n/is.json b/apps/updatenotification/l10n/is.json
new file mode 100644
index 00000000000..9708c8179ee
--- /dev/null
+++ b/apps/updatenotification/l10n/is.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} er í boði. Fá frekari upplýsingar um hvernig á að uppfæra."
+},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/it.js b/apps/updatenotification/l10n/it.js
new file mode 100644
index 00000000000..248215ff180
--- /dev/null
+++ b/apps/updatenotification/l10n/it.js
@@ -0,0 +1,8 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} è disponibile. Ottieni ulteriori informazioni su come eseguire l'aggiornamento.",
+ "Updater" : "Strumento di aggiornamento",
+ "Open updater" : "Apri lo strumento di aggiornamento"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/it.json b/apps/updatenotification/l10n/it.json
new file mode 100644
index 00000000000..3c3648e535b
--- /dev/null
+++ b/apps/updatenotification/l10n/it.json
@@ -0,0 +1,6 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} è disponibile. Ottieni ulteriori informazioni su come eseguire l'aggiornamento.",
+ "Updater" : "Strumento di aggiornamento",
+ "Open updater" : "Apri lo strumento di aggiornamento"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/ja.js b/apps/updatenotification/l10n/ja.js
new file mode 100644
index 00000000000..aa7e58da3bb
--- /dev/null
+++ b/apps/updatenotification/l10n/ja.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} が利用可能です。アップデート方法について詳細情報を確認してください。",
+ "Updater" : "アップデート"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/updatenotification/l10n/ja.json b/apps/updatenotification/l10n/ja.json
new file mode 100644
index 00000000000..5917700fdc8
--- /dev/null
+++ b/apps/updatenotification/l10n/ja.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} が利用可能です。アップデート方法について詳細情報を確認してください。",
+ "Updater" : "アップデート"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/ko.js b/apps/updatenotification/l10n/ko.js
new file mode 100644
index 00000000000..8e1d12173f3
--- /dev/null
+++ b/apps/updatenotification/l10n/ko.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version}을(를) 사용할 수 있습니다. 업데이트하는 방법에 대해서 알아보십시오.",
+ "Updater" : "업데이터"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/updatenotification/l10n/ko.json b/apps/updatenotification/l10n/ko.json
new file mode 100644
index 00000000000..3c135df4f46
--- /dev/null
+++ b/apps/updatenotification/l10n/ko.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version}을(를) 사용할 수 있습니다. 업데이트하는 방법에 대해서 알아보십시오.",
+ "Updater" : "업데이터"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/lt_LT.js b/apps/updatenotification/l10n/lt_LT.js
new file mode 100644
index 00000000000..85a874dce67
--- /dev/null
+++ b/apps/updatenotification/l10n/lt_LT.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "Updater" : "Atnaujinimo programa"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/updatenotification/l10n/lt_LT.json b/apps/updatenotification/l10n/lt_LT.json
new file mode 100644
index 00000000000..710be954d1f
--- /dev/null
+++ b/apps/updatenotification/l10n/lt_LT.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Updater" : "Atnaujinimo programa"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/mk.js b/apps/updatenotification/l10n/mk.js
new file mode 100644
index 00000000000..1c8efbd812e
--- /dev/null
+++ b/apps/updatenotification/l10n/mk.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "Updater" : "Надградувач"
+},
+"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/apps/updatenotification/l10n/mk.json b/apps/updatenotification/l10n/mk.json
new file mode 100644
index 00000000000..cd8336db8df
--- /dev/null
+++ b/apps/updatenotification/l10n/mk.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Updater" : "Надградувач"
+},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/nb_NO.js b/apps/updatenotification/l10n/nb_NO.js
new file mode 100644
index 00000000000..b322e4a026d
--- /dev/null
+++ b/apps/updatenotification/l10n/nb_NO.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} er tilgjengelig. Få mer informasjon om å oppdatere.",
+ "Updater" : "Oppdaterer"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/nb_NO.json b/apps/updatenotification/l10n/nb_NO.json
new file mode 100644
index 00000000000..d84c255e494
--- /dev/null
+++ b/apps/updatenotification/l10n/nb_NO.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} er tilgjengelig. Få mer informasjon om å oppdatere.",
+ "Updater" : "Oppdaterer"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/nl.js b/apps/updatenotification/l10n/nl.js
new file mode 100644
index 00000000000..242ecb3d5c1
--- /dev/null
+++ b/apps/updatenotification/l10n/nl.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} is beschikbaar. Meer informatie over het bijwerken.",
+ "Updater" : "Updater"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/nl.json b/apps/updatenotification/l10n/nl.json
new file mode 100644
index 00000000000..6365d0c30fe
--- /dev/null
+++ b/apps/updatenotification/l10n/nl.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} is beschikbaar. Meer informatie over het bijwerken.",
+ "Updater" : "Updater"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/oc.js b/apps/updatenotification/l10n/oc.js
new file mode 100644
index 00000000000..e376387e70e
--- /dev/null
+++ b/apps/updatenotification/l10n/oc.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "La version {version} es disponibla. Obtenètz mai d'informacions a prepaus d'aquesta mesa a jorn."
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/updatenotification/l10n/oc.json b/apps/updatenotification/l10n/oc.json
new file mode 100644
index 00000000000..f17d444506f
--- /dev/null
+++ b/apps/updatenotification/l10n/oc.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "La version {version} es disponibla. Obtenètz mai d'informacions a prepaus d'aquesta mesa a jorn."
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/pl.js b/apps/updatenotification/l10n/pl.js
new file mode 100644
index 00000000000..56122490044
--- /dev/null
+++ b/apps/updatenotification/l10n/pl.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "Updater" : "Aktualizator"
+},
+"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/updatenotification/l10n/pl.json b/apps/updatenotification/l10n/pl.json
new file mode 100644
index 00000000000..6826c9c5dec
--- /dev/null
+++ b/apps/updatenotification/l10n/pl.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "Updater" : "Aktualizator"
+},"pluralForm" :"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/pt_BR.js b/apps/updatenotification/l10n/pt_BR.js
new file mode 100644
index 00000000000..b1207b6ad9f
--- /dev/null
+++ b/apps/updatenotification/l10n/pt_BR.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} está disponível. Obtenha mais informações sobre como atualizar.",
+ "Updater" : "Atualizador",
+ "For security reasons the built-in ownCloud updater is using additional credentials. To visit the updater page please click the following button." : "Por razões de segurança o atualizador interno do ownCloud está usando credenciais adicionais. Para visitar a página atualizador por favor clique no botão a seguir.",
+ "Open updater" : "Abrir o atualizador"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/updatenotification/l10n/pt_BR.json b/apps/updatenotification/l10n/pt_BR.json
new file mode 100644
index 00000000000..54551ca44c8
--- /dev/null
+++ b/apps/updatenotification/l10n/pt_BR.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} está disponível. Obtenha mais informações sobre como atualizar.",
+ "Updater" : "Atualizador",
+ "For security reasons the built-in ownCloud updater is using additional credentials. To visit the updater page please click the following button." : "Por razões de segurança o atualizador interno do ownCloud está usando credenciais adicionais. Para visitar a página atualizador por favor clique no botão a seguir.",
+ "Open updater" : "Abrir o atualizador"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/pt_PT.js b/apps/updatenotification/l10n/pt_PT.js
new file mode 100644
index 00000000000..348803f9b95
--- /dev/null
+++ b/apps/updatenotification/l10n/pt_PT.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} está disponível. Obtenha mais informação sobre como atualizar.",
+ "Updater" : "actualizar",
+ "For security reasons the built-in ownCloud updater is using additional credentials. To visit the updater page please click the following button." : "Por razões de segurança o atualizador ownCloud está a usar credenciais adicionais. Para visitar a página do atualizador clique no seguinte botão.",
+ "Open updater" : "Abrir atualizador"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/pt_PT.json b/apps/updatenotification/l10n/pt_PT.json
new file mode 100644
index 00000000000..bf7414d7128
--- /dev/null
+++ b/apps/updatenotification/l10n/pt_PT.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} está disponível. Obtenha mais informação sobre como atualizar.",
+ "Updater" : "actualizar",
+ "For security reasons the built-in ownCloud updater is using additional credentials. To visit the updater page please click the following button." : "Por razões de segurança o atualizador ownCloud está a usar credenciais adicionais. Para visitar a página do atualizador clique no seguinte botão.",
+ "Open updater" : "Abrir atualizador"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/ru.js b/apps/updatenotification/l10n/ru.js
new file mode 100644
index 00000000000..b20342e305f
--- /dev/null
+++ b/apps/updatenotification/l10n/ru.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "Доступна версия {version}. Получить дополнительную информацию о порядке обновления.",
+ "Updater" : "Обновление"
+},
+"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/updatenotification/l10n/ru.json b/apps/updatenotification/l10n/ru.json
new file mode 100644
index 00000000000..438796131ed
--- /dev/null
+++ b/apps/updatenotification/l10n/ru.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "Доступна версия {version}. Получить дополнительную информацию о порядке обновления.",
+ "Updater" : "Обновление"
+},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/sk_SK.js b/apps/updatenotification/l10n/sk_SK.js
new file mode 100644
index 00000000000..e684a120e57
--- /dev/null
+++ b/apps/updatenotification/l10n/sk_SK.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} je dostupná. Získajte viac informácií o postupe aktualizácie.",
+ "Updater" : "Aktualizátor"
+},
+"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/updatenotification/l10n/sk_SK.json b/apps/updatenotification/l10n/sk_SK.json
new file mode 100644
index 00000000000..1edd18e5ed2
--- /dev/null
+++ b/apps/updatenotification/l10n/sk_SK.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} je dostupná. Získajte viac informácií o postupe aktualizácie.",
+ "Updater" : "Aktualizátor"
+},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/sl.js b/apps/updatenotification/l10n/sl.js
new file mode 100644
index 00000000000..f272a1079df
--- /dev/null
+++ b/apps/updatenotification/l10n/sl.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "Na voljo je verzija {version}. Pridobite informacije, kako nadgraditi.",
+ "Updater" : "Posodabljalnik"
+},
+"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/updatenotification/l10n/sl.json b/apps/updatenotification/l10n/sl.json
new file mode 100644
index 00000000000..606d0e3cc35
--- /dev/null
+++ b/apps/updatenotification/l10n/sl.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "Na voljo je verzija {version}. Pridobite informacije, kako nadgraditi.",
+ "Updater" : "Posodabljalnik"
+},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/sq.js b/apps/updatenotification/l10n/sq.js
new file mode 100644
index 00000000000..afebd62ee2a
--- /dev/null
+++ b/apps/updatenotification/l10n/sq.js
@@ -0,0 +1,9 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "Është gati {version}. Merrni më tepër informacion se si ta përditësoni.",
+ "Updater" : "Përditësues",
+ "For security reasons the built-in ownCloud updater is using additional credentials. To visit the updater page please click the following button." : "Përditësuesi i brendshëm i ownCloud-it, për arsye sigurie po përdor kredenciale shtesë. Që të vizitoni faqen e përditësuesit, ju lutemi, klikoni butonin vijues.",
+ "Open updater" : "Hapni përditësuesin"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/sq.json b/apps/updatenotification/l10n/sq.json
new file mode 100644
index 00000000000..2f943a69347
--- /dev/null
+++ b/apps/updatenotification/l10n/sq.json
@@ -0,0 +1,7 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "Është gati {version}. Merrni më tepër informacion se si ta përditësoni.",
+ "Updater" : "Përditësues",
+ "For security reasons the built-in ownCloud updater is using additional credentials. To visit the updater page please click the following button." : "Përditësuesi i brendshëm i ownCloud-it, për arsye sigurie po përdor kredenciale shtesë. Që të vizitoni faqen e përditësuesit, ju lutemi, klikoni butonin vijues.",
+ "Open updater" : "Hapni përditësuesin"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/sr.js b/apps/updatenotification/l10n/sr.js
new file mode 100644
index 00000000000..974698fbc2c
--- /dev/null
+++ b/apps/updatenotification/l10n/sr.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "Верзија {version} је доступна. Сазнајте како да ажурирате.",
+ "Updater" : "Ажурирање"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/updatenotification/l10n/sr.json b/apps/updatenotification/l10n/sr.json
new file mode 100644
index 00000000000..41e5da4eb1a
--- /dev/null
+++ b/apps/updatenotification/l10n/sr.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "Верзија {version} је доступна. Сазнајте како да ажурирате.",
+ "Updater" : "Ажурирање"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/sv.js b/apps/updatenotification/l10n/sv.js
new file mode 100644
index 00000000000..72b862a1b27
--- /dev/null
+++ b/apps/updatenotification/l10n/sv.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} är tillgänglig. Få mer information om hur du uppdaterar.",
+ "Updater" : "Uppdaterare"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/sv.json b/apps/updatenotification/l10n/sv.json
new file mode 100644
index 00000000000..281cf58291b
--- /dev/null
+++ b/apps/updatenotification/l10n/sv.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} är tillgänglig. Få mer information om hur du uppdaterar.",
+ "Updater" : "Uppdaterare"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/th_TH.js b/apps/updatenotification/l10n/th_TH.js
new file mode 100644
index 00000000000..861a1847674
--- /dev/null
+++ b/apps/updatenotification/l10n/th_TH.js
@@ -0,0 +1,6 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} สามารถใช้ได้ รับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการอัพเดท"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/updatenotification/l10n/th_TH.json b/apps/updatenotification/l10n/th_TH.json
new file mode 100644
index 00000000000..728d2fe9181
--- /dev/null
+++ b/apps/updatenotification/l10n/th_TH.json
@@ -0,0 +1,4 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} สามารถใช้ได้ รับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการอัพเดท"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/tr.js b/apps/updatenotification/l10n/tr.js
new file mode 100644
index 00000000000..3abe821a5ea
--- /dev/null
+++ b/apps/updatenotification/l10n/tr.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "Sürüm {version} hazır. Nasıl güncelleyeceğinizle ilgili daha fazla bilgi alın.",
+ "Updater" : "Güncelleyici"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/updatenotification/l10n/tr.json b/apps/updatenotification/l10n/tr.json
new file mode 100644
index 00000000000..dba8d5533dd
--- /dev/null
+++ b/apps/updatenotification/l10n/tr.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "Sürüm {version} hazır. Nasıl güncelleyeceğinizle ilgili daha fazla bilgi alın.",
+ "Updater" : "Güncelleyici"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/uk.js b/apps/updatenotification/l10n/uk.js
new file mode 100644
index 00000000000..0a594d6d47c
--- /dev/null
+++ b/apps/updatenotification/l10n/uk.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} доступна. Отримати більш детальну інформацію про те, як оновити.",
+ "Updater" : "Оновлення"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/updatenotification/l10n/uk.json b/apps/updatenotification/l10n/uk.json
new file mode 100644
index 00000000000..c5a3f6ce9ff
--- /dev/null
+++ b/apps/updatenotification/l10n/uk.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} доступна. Отримати більш детальну інформацію про те, як оновити.",
+ "Updater" : "Оновлення"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/zh_CN.js b/apps/updatenotification/l10n/zh_CN.js
new file mode 100644
index 00000000000..ebfaf4a8e79
--- /dev/null
+++ b/apps/updatenotification/l10n/zh_CN.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} 现在可用。获取更多升级相关信息。",
+ "Updater" : "更新管理器"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/updatenotification/l10n/zh_CN.json b/apps/updatenotification/l10n/zh_CN.json
new file mode 100644
index 00000000000..b21985849d4
--- /dev/null
+++ b/apps/updatenotification/l10n/zh_CN.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} 现在可用。获取更多升级相关信息。",
+ "Updater" : "更新管理器"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/zh_TW.js b/apps/updatenotification/l10n/zh_TW.js
new file mode 100644
index 00000000000..2db4e854304
--- /dev/null
+++ b/apps/updatenotification/l10n/zh_TW.js
@@ -0,0 +1,7 @@
+OC.L10N.register(
+ "updatenotification",
+ {
+ "{version} is available. Get more information on how to update." : "{version} 釋出了,可以更新",
+ "Updater" : "更新者"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/updatenotification/l10n/zh_TW.json b/apps/updatenotification/l10n/zh_TW.json
new file mode 100644
index 00000000000..3ebac87de41
--- /dev/null
+++ b/apps/updatenotification/l10n/zh_TW.json
@@ -0,0 +1,5 @@
+{ "translations": {
+ "{version} is available. Get more information on how to update." : "{version} 釋出了,可以更新",
+ "Updater" : "更新者"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/user_ldap/js/wizard/wizardTabGeneric.js b/apps/user_ldap/js/wizard/wizardTabGeneric.js
index 8940a8468a0..21085e3a584 100644
--- a/apps/user_ldap/js/wizard/wizardTabGeneric.js
+++ b/apps/user_ldap/js/wizard/wizardTabGeneric.js
@@ -28,6 +28,12 @@ OCA = OCA || {};
*/
bjQuiButtonClass: 'ui-button',
+ /**
+ * @property {bool} - indicates whether a filter mode toggle operation
+ * is still in progress
+ */
+ isToggling: false,
+
/** @inheritdoc */
init: function(tabIndex, tabID) {
this.tabIndex = tabIndex;
@@ -408,6 +414,20 @@ OCA = OCA || {};
},
/**
+ * sets the filter mode initially and resets the "isToggling" marker.
+ * This method is called after a save operation against the mode key.
+ *
+ * @param mode
+ */
+ setFilterModeOnce: function(mode) {
+ this.isToggling = false;
+ if(!this.filterModeInitialized) {
+ this.filterModeInitialized = true;
+ this.setFilterMode(mode);
+ }
+ },
+
+ /**
* sets the filter mode according to the provided configuration value
*
* @param {string} mode
@@ -568,8 +588,15 @@ OCA = OCA || {};
this.filterModeDisableableElements = filterModeDisableableElements;
this.filterModeStateElement = filterModeStateElement;
this.filterModeKey = filterModeKey;
- $switcher.click(this._toggleRawFilterMode);
- }
+ var view = this;
+ $switcher.click(function() {
+ if(view.isToggling) {
+ return;
+ }
+ view.isToggling = true;
+ view._toggleRawFilterMode();
+ });
+ },
});
diff --git a/apps/user_ldap/js/wizard/wizardTabGroupFilter.js b/apps/user_ldap/js/wizard/wizardTabGroupFilter.js
index 528b5d83670..3fbff9de9a0 100644
--- a/apps/user_ldap/js/wizard/wizardTabGroupFilter.js
+++ b/apps/user_ldap/js/wizard/wizardTabGroupFilter.js
@@ -26,7 +26,7 @@ OCA = OCA || {};
featureName: 'GroupObjectClasses'
},
ldap_group_filter_mode: {
- setMethod: 'setFilterMode'
+ setMethod: 'setFilterModeOnce'
},
ldap_groupfilter_groups: {
$element: $('#ldap_groupfilter_groups'),
diff --git a/apps/user_ldap/js/wizard/wizardTabLoginFilter.js b/apps/user_ldap/js/wizard/wizardTabLoginFilter.js
index 691ddb5ac9a..7b9a408784a 100644
--- a/apps/user_ldap/js/wizard/wizardTabLoginFilter.js
+++ b/apps/user_ldap/js/wizard/wizardTabLoginFilter.js
@@ -32,7 +32,7 @@ OCA = OCA || {};
setMethod: 'setLoginAttributeEmail'
},
ldap_login_filter_mode: {
- setMethod: 'setFilterMode'
+ setMethod: 'setFilterModeOnce'
},
ldap_loginfilter_attributes: {
$element: $('#ldap_loginfilter_attributes'),
diff --git a/apps/user_ldap/js/wizard/wizardTabUserFilter.js b/apps/user_ldap/js/wizard/wizardTabUserFilter.js
index 4fe223ee075..da7cb77568e 100644
--- a/apps/user_ldap/js/wizard/wizardTabUserFilter.js
+++ b/apps/user_ldap/js/wizard/wizardTabUserFilter.js
@@ -26,7 +26,7 @@ OCA = OCA || {};
featureName: 'UserObjectClasses'
},
ldap_user_filter_mode: {
- setMethod: 'setFilterMode'
+ setMethod: 'setFilterModeOnce'
},
ldap_userfilter_groups: {
$element: $('#ldap_userfilter_groups'),
diff --git a/apps/user_ldap/l10n/cs_CZ.js b/apps/user_ldap/l10n/cs_CZ.js
index 687f1848d2c..0ed13594821 100644
--- a/apps/user_ldap/l10n/cs_CZ.js
+++ b/apps/user_ldap/l10n/cs_CZ.js
@@ -123,6 +123,7 @@ OC.L10N.register(
"User Display Name Field" : "Pole zobrazovaného jména uživatele",
"The LDAP attribute to use to generate the user's display name." : "LDAP atribut použitý k vytvoření zobrazovaného jména uživatele.",
"2nd User Display Name Field" : "Druhé pole zobrazovaného jména uživatele",
+ "Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«." : "Volitelné. Přidání LDAP atributu v závorkách k zobrazovanému jménu. Vypadá např. jako »John Doe (john.doe@example.org)«.",
"Base User Tree" : "Základní uživatelský strom",
"One User Base DN per line" : "Jedna uživatelská základní DN na řádku",
"User Search Attributes" : "Atributy vyhledávání uživatelů",
@@ -133,6 +134,8 @@ OC.L10N.register(
"One Group Base DN per line" : "Jedna skupinová základní DN na řádku",
"Group Search Attributes" : "Atributy vyhledávání skupin",
"Group-Member association" : "Asociace člena skupiny",
+ "Dynamic Group Member URL" : "URL člena dynamické skupiny",
+ "The LDAP attribute that on group objects contains an LDAP search URL that determines what objects belong to the group. (An empty setting disables dynamic group membership functionality.)" : "LDAP atribut, který obsahuje pro skupinu objektů vyhledávací LDAP URL, která určuje které objekty patří do skupiny. (Prázdné nastavení vypne funkci člena dynamické skupiny.)",
"Nested Groups" : "Vnořené skupiny",
"When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Pokud zapnuto, je možno používat skupiny, které obsahují jiné skupiny. (Funguje pouze pokud atribut člena skupiny obsahuje DN.)",
"Paging chunksize" : "Velikost bloku stránkování",
diff --git a/apps/user_ldap/l10n/cs_CZ.json b/apps/user_ldap/l10n/cs_CZ.json
index 6ec1f1abfed..912e7c49b0f 100644
--- a/apps/user_ldap/l10n/cs_CZ.json
+++ b/apps/user_ldap/l10n/cs_CZ.json
@@ -121,6 +121,7 @@
"User Display Name Field" : "Pole zobrazovaného jména uživatele",
"The LDAP attribute to use to generate the user's display name." : "LDAP atribut použitý k vytvoření zobrazovaného jména uživatele.",
"2nd User Display Name Field" : "Druhé pole zobrazovaného jména uživatele",
+ "Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«." : "Volitelné. Přidání LDAP atributu v závorkách k zobrazovanému jménu. Vypadá např. jako »John Doe (john.doe@example.org)«.",
"Base User Tree" : "Základní uživatelský strom",
"One User Base DN per line" : "Jedna uživatelská základní DN na řádku",
"User Search Attributes" : "Atributy vyhledávání uživatelů",
@@ -131,6 +132,8 @@
"One Group Base DN per line" : "Jedna skupinová základní DN na řádku",
"Group Search Attributes" : "Atributy vyhledávání skupin",
"Group-Member association" : "Asociace člena skupiny",
+ "Dynamic Group Member URL" : "URL člena dynamické skupiny",
+ "The LDAP attribute that on group objects contains an LDAP search URL that determines what objects belong to the group. (An empty setting disables dynamic group membership functionality.)" : "LDAP atribut, který obsahuje pro skupinu objektů vyhledávací LDAP URL, která určuje které objekty patří do skupiny. (Prázdné nastavení vypne funkci člena dynamické skupiny.)",
"Nested Groups" : "Vnořené skupiny",
"When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Pokud zapnuto, je možno používat skupiny, které obsahují jiné skupiny. (Funguje pouze pokud atribut člena skupiny obsahuje DN.)",
"Paging chunksize" : "Velikost bloku stránkování",
diff --git a/apps/user_ldap/l10n/he.js b/apps/user_ldap/l10n/he.js
index 0e4b78f0373..22eb4c5c96d 100644
--- a/apps/user_ldap/l10n/he.js
+++ b/apps/user_ldap/l10n/he.js
@@ -114,15 +114,26 @@ OC.L10N.register(
"in seconds. A change empties the cache." : "בשניות. שינוי מרוקן את המטמון.",
"Directory Settings" : "הגדרות תיקייה",
"User Display Name Field" : "שדה שם תצוגה למשתמש",
+ "2nd User Display Name Field" : "שדה שני לשם תצוגת משתמש",
"Base User Tree" : "עץ משתמש בסיסי",
+ "User Search Attributes" : "מאפייני חיפוש משתמש",
+ "Optional; one attribute per line" : "אופציונאלי; מאפיין אחד בשורה",
+ "Group Display Name Field" : "שדה שם תצוגה לקבוצה",
"Base Group Tree" : "עץ קבוצה בסיסי",
"Group Search Attributes" : "מאפייני חיפוש קבוצה",
+ "Dynamic Group Member URL" : "נתיב חבר קבוצה דינמית",
"Special Attributes" : "מאפיינים מיוחדים",
"Quota Field" : "שדה מכסה",
"Quota Default" : "ברירת מחדל מכסה",
"in bytes" : "בבתים",
"Email Field" : "שדה דואר אלקטרוני",
"Internal Username" : "שם משתמש פנימי",
- "Internal Username Attribute:" : "מאפיין שם משתמש פנימי:"
+ "Internal Username Attribute:" : "מאפיין שם משתמש פנימי:",
+ "Override UUID detection" : "דריסת זיהוי UUID",
+ "UUID Attribute for Users:" : "מאפייני UUID למשתמשים:",
+ "UUID Attribute for Groups:" : "מאפייני UUID לקבוצות:",
+ "Username-LDAP User Mapping" : "מיפוי שם משתמש LDAP:",
+ "Clear Username-LDAP User Mapping" : "ניקוי מיפוי שם משתמש LDAP:",
+ "Clear Groupname-LDAP Group Mapping" : "ניקוי מיפוי שם משתמש קבוצה LDAP:"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/he.json b/apps/user_ldap/l10n/he.json
index 21b0cbb70a4..4f4bedcc285 100644
--- a/apps/user_ldap/l10n/he.json
+++ b/apps/user_ldap/l10n/he.json
@@ -112,15 +112,26 @@
"in seconds. A change empties the cache." : "בשניות. שינוי מרוקן את המטמון.",
"Directory Settings" : "הגדרות תיקייה",
"User Display Name Field" : "שדה שם תצוגה למשתמש",
+ "2nd User Display Name Field" : "שדה שני לשם תצוגת משתמש",
"Base User Tree" : "עץ משתמש בסיסי",
+ "User Search Attributes" : "מאפייני חיפוש משתמש",
+ "Optional; one attribute per line" : "אופציונאלי; מאפיין אחד בשורה",
+ "Group Display Name Field" : "שדה שם תצוגה לקבוצה",
"Base Group Tree" : "עץ קבוצה בסיסי",
"Group Search Attributes" : "מאפייני חיפוש קבוצה",
+ "Dynamic Group Member URL" : "נתיב חבר קבוצה דינמית",
"Special Attributes" : "מאפיינים מיוחדים",
"Quota Field" : "שדה מכסה",
"Quota Default" : "ברירת מחדל מכסה",
"in bytes" : "בבתים",
"Email Field" : "שדה דואר אלקטרוני",
"Internal Username" : "שם משתמש פנימי",
- "Internal Username Attribute:" : "מאפיין שם משתמש פנימי:"
+ "Internal Username Attribute:" : "מאפיין שם משתמש פנימי:",
+ "Override UUID detection" : "דריסת זיהוי UUID",
+ "UUID Attribute for Users:" : "מאפייני UUID למשתמשים:",
+ "UUID Attribute for Groups:" : "מאפייני UUID לקבוצות:",
+ "Username-LDAP User Mapping" : "מיפוי שם משתמש LDAP:",
+ "Clear Username-LDAP User Mapping" : "ניקוי מיפוי שם משתמש LDAP:",
+ "Clear Groupname-LDAP Group Mapping" : "ניקוי מיפוי שם משתמש קבוצה LDAP:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/nb_NO.js b/apps/user_ldap/l10n/nb_NO.js
index 62fadd9365e..1c81b36de70 100644
--- a/apps/user_ldap/l10n/nb_NO.js
+++ b/apps/user_ldap/l10n/nb_NO.js
@@ -122,6 +122,8 @@ OC.L10N.register(
"Directory Settings" : "Innstillinger for katalog",
"User Display Name Field" : "Felt med brukerens visningsnavn",
"The LDAP attribute to use to generate the user's display name." : "LDAP-attributten som skal brukes til å generere brukerens visningsnavn.",
+ "2nd User Display Name Field" : "2. felt med brukerens visningsnavn",
+ "Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«." : "Valgfritt. En LDAP-attributt som skal legges til visningsnavnet i parentes. Resulterer i f.eks. »John Doe (john.doe@example.org)«.",
"Base User Tree" : "Basis for bruker-tre",
"One User Base DN per line" : "En basis-DN for brukere pr. linje",
"User Search Attributes" : "Attributter for brukersøk",
@@ -132,6 +134,8 @@ OC.L10N.register(
"One Group Base DN per line" : "En basis-DN for grupper pr. linje",
"Group Search Attributes" : "Attributter for gruppesøk",
"Group-Member association" : "gruppe-medlem assosiasjon",
+ "Dynamic Group Member URL" : "URL for dynamisk gruppemedlem",
+ "The LDAP attribute that on group objects contains an LDAP search URL that determines what objects belong to the group. (An empty setting disables dynamic group membership functionality.)" : "LDAP-attributten som, på gruppe-objekter, inneholder en LDAP søke-URL som bestemmer hvilke objekter som hører til gruppen. (En tom innstilling deaktiverer funksjonaliteten for dynamisk gruppemedlemskap.)",
"Nested Groups" : "Nestede grupper",
"When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Grupper som inneholder grupper er tillatt når denne er slått på. (Virker bare hvis gruppenes member-attributt inneholder DN-er.)",
"Paging chunksize" : "Sidestørrelse",
diff --git a/apps/user_ldap/l10n/nb_NO.json b/apps/user_ldap/l10n/nb_NO.json
index ee049b8a50f..1d5ab6fa71f 100644
--- a/apps/user_ldap/l10n/nb_NO.json
+++ b/apps/user_ldap/l10n/nb_NO.json
@@ -120,6 +120,8 @@
"Directory Settings" : "Innstillinger for katalog",
"User Display Name Field" : "Felt med brukerens visningsnavn",
"The LDAP attribute to use to generate the user's display name." : "LDAP-attributten som skal brukes til å generere brukerens visningsnavn.",
+ "2nd User Display Name Field" : "2. felt med brukerens visningsnavn",
+ "Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«." : "Valgfritt. En LDAP-attributt som skal legges til visningsnavnet i parentes. Resulterer i f.eks. »John Doe (john.doe@example.org)«.",
"Base User Tree" : "Basis for bruker-tre",
"One User Base DN per line" : "En basis-DN for brukere pr. linje",
"User Search Attributes" : "Attributter for brukersøk",
@@ -130,6 +132,8 @@
"One Group Base DN per line" : "En basis-DN for grupper pr. linje",
"Group Search Attributes" : "Attributter for gruppesøk",
"Group-Member association" : "gruppe-medlem assosiasjon",
+ "Dynamic Group Member URL" : "URL for dynamisk gruppemedlem",
+ "The LDAP attribute that on group objects contains an LDAP search URL that determines what objects belong to the group. (An empty setting disables dynamic group membership functionality.)" : "LDAP-attributten som, på gruppe-objekter, inneholder en LDAP søke-URL som bestemmer hvilke objekter som hører til gruppen. (En tom innstilling deaktiverer funksjonaliteten for dynamisk gruppemedlemskap.)",
"Nested Groups" : "Nestede grupper",
"When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Grupper som inneholder grupper er tillatt når denne er slått på. (Virker bare hvis gruppenes member-attributt inneholder DN-er.)",
"Paging chunksize" : "Sidestørrelse",
diff --git a/apps/user_ldap/l10n/ru.js b/apps/user_ldap/l10n/ru.js
index 08069e28fd9..f3928b80999 100644
--- a/apps/user_ldap/l10n/ru.js
+++ b/apps/user_ldap/l10n/ru.js
@@ -122,6 +122,8 @@ OC.L10N.register(
"Directory Settings" : "Настройки каталога",
"User Display Name Field" : "Поле отображаемого имени пользователя",
"The LDAP attribute to use to generate the user's display name." : "Атрибут LDAP, который используется для генерации отображаемого имени пользователя.",
+ "2nd User Display Name Field" : "Вторичное поле отображаемого имени пользователя",
+ "Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«." : "Не обязательно. Атрибут LDAP, который будет добавляться к отображаемому имени в скобках. Например, »John Doe (john.doe@example.org)«.",
"Base User Tree" : "База дерева пользователей",
"One User Base DN per line" : "По одной базовому DN пользователей в строке.",
"User Search Attributes" : "Атрибуты поиска пользоватетелей",
@@ -132,6 +134,8 @@ OC.L10N.register(
"One Group Base DN per line" : "По одной базовому DN групп в строке.",
"Group Search Attributes" : "Атрибуты поиска групп",
"Group-Member association" : "Ассоциация Группа-Участник",
+ "Dynamic Group Member URL" : "URL участников динамической группы",
+ "The LDAP attribute that on group objects contains an LDAP search URL that determines what objects belong to the group. (An empty setting disables dynamic group membership functionality.)" : "Атрибут LDAP для объектов группы, который определяет по какому URL ведется поиск принадлежности к группе. (Пустое значение отключает функциональность динамического участия в группах).",
"Nested Groups" : "Вложенные группы",
"When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "При включении, активируется поддержка групп, содержащих другие группы. (Работает только если атрибут член группы содержит DN.)",
"Paging chunksize" : "Страничный размер блоков",
diff --git a/apps/user_ldap/l10n/ru.json b/apps/user_ldap/l10n/ru.json
index 126e78593d1..5dbaca39353 100644
--- a/apps/user_ldap/l10n/ru.json
+++ b/apps/user_ldap/l10n/ru.json
@@ -120,6 +120,8 @@
"Directory Settings" : "Настройки каталога",
"User Display Name Field" : "Поле отображаемого имени пользователя",
"The LDAP attribute to use to generate the user's display name." : "Атрибут LDAP, который используется для генерации отображаемого имени пользователя.",
+ "2nd User Display Name Field" : "Вторичное поле отображаемого имени пользователя",
+ "Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«." : "Не обязательно. Атрибут LDAP, который будет добавляться к отображаемому имени в скобках. Например, »John Doe (john.doe@example.org)«.",
"Base User Tree" : "База дерева пользователей",
"One User Base DN per line" : "По одной базовому DN пользователей в строке.",
"User Search Attributes" : "Атрибуты поиска пользоватетелей",
@@ -130,6 +132,8 @@
"One Group Base DN per line" : "По одной базовому DN групп в строке.",
"Group Search Attributes" : "Атрибуты поиска групп",
"Group-Member association" : "Ассоциация Группа-Участник",
+ "Dynamic Group Member URL" : "URL участников динамической группы",
+ "The LDAP attribute that on group objects contains an LDAP search URL that determines what objects belong to the group. (An empty setting disables dynamic group membership functionality.)" : "Атрибут LDAP для объектов группы, который определяет по какому URL ведется поиск принадлежности к группе. (Пустое значение отключает функциональность динамического участия в группах).",
"Nested Groups" : "Вложенные группы",
"When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "При включении, активируется поддержка групп, содержащих другие группы. (Работает только если атрибут член группы содержит DN.)",
"Paging chunksize" : "Страничный размер блоков",
diff --git a/apps/user_ldap/l10n/tr.js b/apps/user_ldap/l10n/tr.js
index 48677918ed8..709a9c46ffd 100644
--- a/apps/user_ldap/l10n/tr.js
+++ b/apps/user_ldap/l10n/tr.js
@@ -122,6 +122,8 @@ OC.L10N.register(
"Directory Settings" : "Dizin Ayarları",
"User Display Name Field" : "Kullanıcı Görünen Ad Alanı",
"The LDAP attribute to use to generate the user's display name." : "Kullanıcının görünen adını oluşturmak için kullanılacak LDAP niteliği.",
+ "2nd User Display Name Field" : "2. Kullanıcı Görünen Ad Alanı",
+ "Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«." : "İsteğe bağlı. Görünen adın parantez içine eklenmesi için bir LDAP niteliği. Örnek sonuç: »John Doe (john.doe@example.org)«.",
"Base User Tree" : "Temel Kullanıcı Ağacı",
"One User Base DN per line" : "Her satırda Tek Kullanıcı Base DN'si",
"User Search Attributes" : "Kullanıcı Arama Nitelikleri",
@@ -132,6 +134,8 @@ OC.L10N.register(
"One Group Base DN per line" : "Her satırda Tek Grup Base DN'si",
"Group Search Attributes" : "Grup Arama Nitelikleri",
"Group-Member association" : "Grup-Üye işbirliği",
+ "Dynamic Group Member URL" : "Dinamik Grup Üye URL'si",
+ "The LDAP attribute that on group objects contains an LDAP search URL that determines what objects belong to the group. (An empty setting disables dynamic group membership functionality.)" : "Bu grup nesneleri üzerindeki LDAP niteliği, grupa hangi nesnelerin ait olduğunu bulan bir LDAP arama URL'si içeriyor (Boş bir seçenek dinamik grup üyeliği özelliğini devre dışı bırakır).",
"Nested Groups" : "İç İçe Gruplar",
"When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Etkinleştirildiğinde, grup içeren gruplar desteklenir (Sadece grup üyesi DN niteliği içeriyorsa çalışır).",
"Paging chunksize" : "Sayfalama yığın boyutu",
diff --git a/apps/user_ldap/l10n/tr.json b/apps/user_ldap/l10n/tr.json
index 912f4385cf3..6c34f8a5c20 100644
--- a/apps/user_ldap/l10n/tr.json
+++ b/apps/user_ldap/l10n/tr.json
@@ -120,6 +120,8 @@
"Directory Settings" : "Dizin Ayarları",
"User Display Name Field" : "Kullanıcı Görünen Ad Alanı",
"The LDAP attribute to use to generate the user's display name." : "Kullanıcının görünen adını oluşturmak için kullanılacak LDAP niteliği.",
+ "2nd User Display Name Field" : "2. Kullanıcı Görünen Ad Alanı",
+ "Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«." : "İsteğe bağlı. Görünen adın parantez içine eklenmesi için bir LDAP niteliği. Örnek sonuç: »John Doe (john.doe@example.org)«.",
"Base User Tree" : "Temel Kullanıcı Ağacı",
"One User Base DN per line" : "Her satırda Tek Kullanıcı Base DN'si",
"User Search Attributes" : "Kullanıcı Arama Nitelikleri",
@@ -130,6 +132,8 @@
"One Group Base DN per line" : "Her satırda Tek Grup Base DN'si",
"Group Search Attributes" : "Grup Arama Nitelikleri",
"Group-Member association" : "Grup-Üye işbirliği",
+ "Dynamic Group Member URL" : "Dinamik Grup Üye URL'si",
+ "The LDAP attribute that on group objects contains an LDAP search URL that determines what objects belong to the group. (An empty setting disables dynamic group membership functionality.)" : "Bu grup nesneleri üzerindeki LDAP niteliği, grupa hangi nesnelerin ait olduğunu bulan bir LDAP arama URL'si içeriyor (Boş bir seçenek dinamik grup üyeliği özelliğini devre dışı bırakır).",
"Nested Groups" : "İç İçe Gruplar",
"When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Etkinleştirildiğinde, grup içeren gruplar desteklenir (Sadece grup üyesi DN niteliği içeriyorsa çalışır).",
"Paging chunksize" : "Sayfalama yığın boyutu",
diff --git a/autotest.sh b/autotest.sh
index 5196d5c31d5..48b73283499 100755
--- a/autotest.sh
+++ b/autotest.sh
@@ -185,17 +185,19 @@ function execute_tests {
if [ ! -z "$USEDOCKER" ] ; then
echo "Fire up the mariadb docker"
DOCKER_CONTAINER_ID=$(docker run \
+ -v $BASEDIR/tests/docker/mariadb:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=owncloud \
-e MYSQL_USER="$DATABASEUSER" \
-e MYSQL_PASSWORD=owncloud \
-e MYSQL_DATABASE="$DATABASENAME" \
- -d rullzer/mariadb-owncloud)
+ -d mariadb)
DATABASEHOST=$(docker inspect --format="{{.NetworkSettings.IPAddress}}" "$DOCKER_CONTAINER_ID")
echo "Waiting for MariaDB initialisation ..."
-
- # grep exits on the first match and then the script continues
- timeout 30 docker logs -f $DOCKER_CONTAINER_ID 2>&1 | grep -q "mysqld: ready for connections."
+ if ! apps/files_external/tests/env/wait-for-connection $DATABASEHOST 3306 60; then
+ echo "[ERROR] Waited 60 seconds, no response" >&2
+ exit 1
+ fi
echo "MariaDB is up."
diff --git a/build/gen-coverage-badge.php b/build/gen-coverage-badge.php
new file mode 100644
index 00000000000..b610b2748d6
--- /dev/null
+++ b/build/gen-coverage-badge.php
@@ -0,0 +1,59 @@
+<?php
+/**
+ * @author Thomas Müller <thomas.mueller@tmit.eu>
+ *
+ * @copyright Copyright (c) 2016, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+if (!isset($argv[1])) {
+ echo "Clover file is missing" . PHP_EOL;
+ exit;
+}
+
+try {
+ $cloverFile = $argv[1];
+
+ $doc = simplexml_load_file($cloverFile);
+
+ $metrics = [];
+ foreach ($doc->project->metrics->attributes() as $k => $v) {
+ $metrics[$k] = $v->__toString();
+ }
+
+ $c0 = $metrics['coveredmethods'] / $metrics['methods'];
+ $c1 = $metrics['coveredelements'] / $metrics['elements'];
+ $c2 = $metrics['coveredstatements'] / $metrics['statements'];
+
+ echo $c0 . PHP_EOL;
+ echo $c1 . PHP_EOL;
+ echo $c2 . PHP_EOL;
+
+ $percent = (int)($c2 * 100);
+ $color = 'red';
+ if ($percent >= 50) {
+ $color = 'yellow';
+ }
+ if ($percent >= 75) {
+ $color = 'green';
+ }
+ $content = file_get_contents("https://img.shields.io/badge/coverage-$percent%-$color.svg");
+ file_put_contents('coverage.svg', $content);
+} catch(Exception $ex) {
+ echo $ex->getMessage() . PHP_EOL;
+ $content = file_get_contents("https://img.shields.io/badge/coverage-ERROR-red.svg");
+ file_put_contents('coverage.svg', $content);
+}
diff --git a/console.php b/console.php
index d08d400c051..d8c23d4ce00 100644
--- a/console.php
+++ b/console.php
@@ -72,7 +72,7 @@ try {
echo "Can't determine current working dir - the script will continue to work but be aware of the above fact." . PHP_EOL;
} else if ($oldWorkingDir !== __DIR__ && !chdir(__DIR__)) {
echo "This script can be run from the ownCloud root directory only." . PHP_EOL;
- echo "Can't change to ownCloud root diretory." . PHP_EOL;
+ echo "Can't change to ownCloud root directory." . PHP_EOL;
exit(1);
}
diff --git a/core/command/app/enable.php b/core/command/app/enable.php
index 4315972bae2..fb2097356f5 100644
--- a/core/command/app/enable.php
+++ b/core/command/app/enable.php
@@ -70,10 +70,6 @@ class Enable extends Command {
}
$groups = $input->getOption('groups');
- if ($this->manager->isInstalled($appId) && empty($groups)) {
- $output->writeln($appId . ' is already enabled');
- }
-
if (empty($groups)) {
\OC_App::enable($appId);
$output->writeln($appId . ' enabled');
diff --git a/core/command/user/lastseen.php b/core/command/user/lastseen.php
index 1d2c17e3d3f..d71a5aedcb0 100644
--- a/core/command/user/lastseen.php
+++ b/core/command/user/lastseen.php
@@ -44,7 +44,7 @@ class LastSeen extends Command {
protected function configure() {
$this
->setName('user:lastseen')
- ->setDescription('shows when the user was logged it last time')
+ ->setDescription('shows when the user was logged in last time')
->addArgument(
'uid',
InputArgument::REQUIRED,
diff --git a/core/css/icons.css b/core/css/icons.css
index 836a84fd70e..359c55e4dc5 100644
--- a/core/css/icons.css
+++ b/core/css/icons.css
@@ -57,6 +57,10 @@
background-image: url('../img/actions/close.svg');
}
+.icon-comment {
+ background-image: url('../img/actions/comment.svg');
+}
+
.icon-confirm {
background-image: url('../img/actions/confirm.svg');
}
@@ -70,6 +74,9 @@
.icon-delete:focus {
background-image: url('../img/actions/delete-hover.svg');
}
+.icon-delete-white {
+ background-image: url('../img/actions/delete-white.svg');
+}
.icon-details {
background-image: url('../img/actions/details.svg');
diff --git a/core/css/systemtags.css b/core/css/systemtags.css
index 588c76e1e3f..40f93011b6a 100644
--- a/core/css/systemtags.css
+++ b/core/css/systemtags.css
@@ -83,3 +83,8 @@
overflow:hidden;
text-overflow:ellipsis;
}
+
+.systemtags-select2-dropdown .label.hidden {
+ display: none;
+}
+
diff --git a/core/img/actions/comment.png b/core/img/actions/comment.png
index 7ca20eba363..08867cf6361 100644
--- a/core/img/actions/comment.png
+++ b/core/img/actions/comment.png
Binary files differ
diff --git a/core/img/actions/comment.svg b/core/img/actions/comment.svg
index a8ab95e615b..02fbac3e036 100644
--- a/core/img/actions/comment.svg
+++ b/core/img/actions/comment.svg
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
- <path style="color:#000000;block-progression:tb;text-transform:none;text-indent:0" d="m2.3496 1.002c-0.1975 0.0382-0.3531 0.2333-0.3496 0.4375v13.122c0 0.23 0.2061 0.438 0.4316 0.438h11.138c0.226 0 0.432-0.208 0.432-0.438v-10.142c-0.004-0.0669-0.023-0.133-0.055-0.1915l-3.312-3.1992c-0.043-0.0164-0.089-0.0255-0.135-0.0273h-8.0684c-0.0268-0.00265-0.0552-0.00265-0.082 0zm1.6504 1.998h6v1h-6v-1zm0 3h5v1h-5v-1zm0 3h8v1h-8v-1zm0 3h4v1h-4v-1z"/>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <path d="m8 1.5c-4.4183 0-8 2.4624-8 5.5s3.5817 5.5 8 5.5c0.24963 0 0.49058-0.01587 0.73438-0.03125l4.2656 3.531v-4.703c1.829-1.008 3-2.5599 3-4.297 0-3.0376-3.582-5.5-8-5.5z"/>
</svg>
diff --git a/core/img/actions/delete-white.png b/core/img/actions/delete-white.png
new file mode 100644
index 00000000000..07a5de34252
--- /dev/null
+++ b/core/img/actions/delete-white.png
Binary files differ
diff --git a/core/img/actions/delete-white.svg b/core/img/actions/delete-white.svg
new file mode 100644
index 00000000000..58e8dd3677d
--- /dev/null
+++ b/core/img/actions/delete-white.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <path d="m6.5 1-0.5 1h-3c-0.554 0-1 0.446-1 1v1h12v-1c0-0.554-0.446-1-1-1h-3l-0.5-1zm-3.5 4 0.875 9c0.061 0.549 0.5729 1 1.125 1h6c0.55232 0 1.064-0.45102 1.125-1l0.875-9z" fill-rule="evenodd" fill="#fff"/>
+</svg>
diff --git a/core/js/share.js b/core/js/share.js
index 9baa34d9bb7..9539e92e09b 100644
--- a/core/js/share.js
+++ b/core/js/share.js
@@ -50,17 +50,29 @@ OC.Share = _.extend(OC.Share || {}, {
* @param callback function to call after the shares were loaded
*/
loadIcons:function(itemType, fileList, callback) {
+ var path = fileList.dirInfo.path;
+ if (path === '/') {
+ path = '';
+ }
+ path += '/' + fileList.dirInfo.name;
+
// Load all share icons
$.get(
- OC.filePath('core', 'ajax', 'share.php'),
+ OC.linkToOCS('apps/files_sharing/api/v1', 2) + 'shares',
{
- fetch: 'getItemsSharedStatuses',
- itemType: itemType
+ subfiles: 'true',
+ path: path,
+ format: 'json'
}, function(result) {
- if (result && result.status === 'success') {
+ if (result && result.ocs.meta.statuscode === 200) {
OC.Share.statuses = {};
- $.each(result.data, function(item, data) {
- OC.Share.statuses[item] = data;
+ $.each(result.ocs.data, function(it, share) {
+ if (!(share.item_source in OC.Share.statuses)) {
+ OC.Share.statuses[share.item_source] = {link: false};
+ }
+ if (share.share_type === OC.Share.SHARE_TYPE_LINK) {
+ OC.Share.statuses[share.item_source] = {link: true};
+ }
});
if (_.isFunction(callback)) {
callback(OC.Share.statuses);
diff --git a/core/js/sharedialogview.js b/core/js/sharedialogview.js
index 4cebf7962e8..e7435877cb3 100644
--- a/core/js/sharedialogview.js
+++ b/core/js/sharedialogview.js
@@ -67,6 +67,10 @@
/** @type {object} **/
shareeListView: undefined,
+ events: {
+ 'input .shareWithField': 'onShareWithFieldChanged'
+ },
+
initialize: function(options) {
var view = this;
@@ -109,7 +113,18 @@
: options[name];
}
- _.bindAll(this, 'autocompleteHandler', '_onSelectRecipient');
+ _.bindAll(this,
+ 'autocompleteHandler',
+ '_onSelectRecipient',
+ 'onShareWithFieldChanged'
+ );
+ },
+
+ onShareWithFieldChanged: function() {
+ var $el = this.$el.find('.shareWithField');
+ if ($el.val().length < 2) {
+ $el.removeClass('error').tooltip('hide');
+ }
},
autocompleteHandler: function (search, response) {
@@ -196,9 +211,20 @@
var suggestions = users.concat(groups).concat(remotes);
if (suggestions.length > 0) {
- $('.shareWithField').autocomplete("option", "autoFocus", true);
+ $('.shareWithField').removeClass('error')
+ .tooltip('hide')
+ .autocomplete("option", "autoFocus", true);
response(suggestions);
} else {
+ $('.shareWithField').addClass('error')
+ .attr('data-original-title', t('core', 'No users or groups found for {search}', {search: $('.shareWithField').val()}))
+ .tooltip('hide')
+ .tooltip({
+ placement: 'bottom',
+ trigger: 'manual',
+ })
+ .tooltip('fixTitle')
+ .tooltip('show');
response();
}
} else {
@@ -217,9 +243,20 @@
var insert = $("<a>");
var text = item.label;
if (item.value.shareType === OC.Share.SHARE_TYPE_GROUP) {
- text = text + ' ('+t('core', 'group')+')';
+ text = t('core', '{sharee} (group)', {
+ sharee: text
+ });
} else if (item.value.shareType === OC.Share.SHARE_TYPE_REMOTE) {
- text = text + ' ('+t('core', 'remote')+')';
+ if (item.value.server) {
+ text = t('core', '{sharee} (at {server})', {
+ sharee: text,
+ server: item.value.server
+ });
+ } else {
+ text = t('core', '{sharee} (remote)', {
+ sharee: text
+ });
+ }
}
insert.text(text);
if(item.value.shareType === OC.Share.SHARE_TYPE_GROUP) {
@@ -233,8 +270,18 @@
_onSelectRecipient: function(e, s) {
e.preventDefault();
- $(e.target).val('');
- this.model.addShare(s.item.value);
+ $(e.target).attr('disabled', true)
+ .val(s.item.label);
+ var $loading = this.$el.find('.shareWithLoading');
+ $loading.removeClass('hidden')
+ .addClass('inlineblock');
+
+ this.model.addShare(s.item.value, {success: function() {
+ $(e.target).val('')
+ .attr('disabled', false);
+ $loading.addClass('hidden')
+ .removeClass('inlineblock');
+ }});
},
_toggleLoading: function(state) {
diff --git a/core/js/shareitemmodel.js b/core/js/shareitemmodel.js
index a28bcac91cb..292230d26d5 100644
--- a/core/js/shareitemmodel.js
+++ b/core/js/shareitemmodel.js
@@ -183,11 +183,9 @@
data: attributes,
dataType: 'json'
}).done(function() {
- self.fetch({
- success: function() {
- if (_.isFunction(options.success)) {
- options.success(self);
- }
+ self.fetch().done(function() {
+ if (_.isFunction(options.success)) {
+ options.success(self);
}
});
}).fail(function(xhr) {
diff --git a/core/js/systemtags/systemtagscollection.js b/core/js/systemtags/systemtagscollection.js
index 0f8a7aa980e..8a5d309bacb 100644
--- a/core/js/systemtags/systemtagscollection.js
+++ b/core/js/systemtags/systemtagscollection.js
@@ -11,7 +11,7 @@
(function(OC) {
function filterFunction(model, term) {
- return model.get('name').substr(0, term.length) === term;
+ return model.get('name').substr(0, term.length).toLowerCase() === term.toLowerCase();
}
/**
diff --git a/core/js/tests/specs/sharedialogviewSpec.js b/core/js/tests/specs/sharedialogviewSpec.js
index 6899e625c45..3a94379789a 100644
--- a/core/js/tests/specs/sharedialogviewSpec.js
+++ b/core/js/tests/specs/sharedialogviewSpec.js
@@ -956,9 +956,12 @@ describe('OC.Share.ShareDialogView', function() {
it('calls addShare after selection', function() {
dialog.render();
+
+ var shareWith = $('.shareWithField')[0];
+ var $shareWith = $(shareWith);
var addShareStub = sinon.stub(shareModel, 'addShare');
var autocompleteOptions = autocompleteStub.getCall(0).args[0];
- autocompleteOptions.select(new $.Event('select'), {
+ autocompleteOptions.select(new $.Event('select', {target: shareWith}), {
item: {
label: 'User Two',
value: {
@@ -974,6 +977,17 @@ describe('OC.Share.ShareDialogView', function() {
shareWith: 'user2'
});
+ //Input is locked
+ expect($shareWith.val()).toEqual('User Two');
+ expect($shareWith.attr('disabled')).toEqual('disabled');
+
+ //Callback is called
+ addShareStub.firstCall.args[1].success();
+
+ //Input is unlocked
+ expect($shareWith.val()).toEqual('');
+ expect($shareWith.attr('disabled')).toEqual(undefined);
+
addShareStub.restore();
});
});
diff --git a/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js b/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js
index 08470fbdd8a..d62ef672f4d 100644
--- a/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js
+++ b/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js
@@ -346,6 +346,7 @@ describe('OC.SystemTags.SystemTagsInputField tests', function() {
new OC.SystemTags.SystemTagModel({id: '1', name: 'abc'}),
new OC.SystemTags.SystemTagModel({id: '2', name: 'def'}),
new OC.SystemTags.SystemTagModel({id: '3', name: 'abd', userAssignable: false}),
+ new OC.SystemTags.SystemTagModel({id: '4', name: 'Deg'}),
]);
});
afterEach(function() {
@@ -377,6 +378,32 @@ describe('OC.SystemTags.SystemTagsInputField tests', function() {
}
]);
});
+ it('completes case insensitive', function() {
+ var callback = sinon.stub();
+ opts.query({
+ term: 'de',
+ callback: callback
+ });
+ expect(fetchStub.calledOnce).toEqual(true);
+
+ fetchStub.yieldTo('success', view.collection);
+
+ expect(callback.calledOnce).toEqual(true);
+ expect(callback.getCall(0).args[0].results).toEqual([
+ {
+ id: '2',
+ name: 'def',
+ userVisible: true,
+ userAssignable: true
+ },
+ {
+ id: '4',
+ name: 'Deg',
+ userVisible: true,
+ userAssignable: true
+ }
+ ]);
+ });
});
});
@@ -446,6 +473,7 @@ describe('OC.SystemTags.SystemTagsInputField tests', function() {
new OC.SystemTags.SystemTagModel({id: '1', name: 'abc'}),
new OC.SystemTags.SystemTagModel({id: '2', name: 'def'}),
new OC.SystemTags.SystemTagModel({id: '3', name: 'abd', userAssignable: false}),
+ new OC.SystemTags.SystemTagModel({id: '4', name: 'Deg'}),
]);
});
afterEach(function() {
@@ -471,6 +499,32 @@ describe('OC.SystemTags.SystemTagsInputField tests', function() {
}
]);
});
+ it('completes case insensitive', function() {
+ var callback = sinon.stub();
+ opts.query({
+ term: 'de',
+ callback: callback
+ });
+ expect(fetchStub.calledOnce).toEqual(true);
+
+ fetchStub.yieldTo('success', view.collection);
+
+ expect(callback.calledOnce).toEqual(true);
+ expect(callback.getCall(0).args[0].results).toEqual([
+ {
+ id: '2',
+ name: 'def',
+ userVisible: true,
+ userAssignable: true
+ },
+ {
+ id: '4',
+ name: 'Deg',
+ userVisible: true,
+ userAssignable: true
+ }
+ ]);
+ });
});
});
});
diff --git a/core/l10n/cs_CZ.js b/core/l10n/cs_CZ.js
index 92b612bf975..e3eb200f8d4 100644
--- a/core/l10n/cs_CZ.js
+++ b/core/l10n/cs_CZ.js
@@ -166,6 +166,7 @@ OC.L10N.register(
"access control" : "řízení přístupu",
"Could not unshare" : "Nelze zrušit sdílení",
"Share details could not be loaded for this item." : "Detaily sdílení pro tuto položku nelze načíst.",
+ "No users or groups found for {search}" : "Nebyli nalezeni žádní členové ani skupiny pro {search}",
"An error occured. Please try again" : "Nastala chyba. Prosím zkuste to znovu",
"Share" : "Sdílet",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Sdílejte s lidmi na ownClouds použitím syntaxe username@example.com/owncloud",
@@ -197,6 +198,7 @@ OC.L10N.register(
"Updating {productName} to version {version}, this may take a while." : "Aktualizuji {productName} na verzi {version}, může to chvíli trvat.",
"An error occurred." : "Došlo k chybě.",
"Please reload the page." : "Načtěte stránku znovu, prosím.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "Aktualizace nebyla úspěšná. Pro více informací si <a href=\"{url}\">přečtěte komentáře ve fóru</a> pojednávající o tomto problému.",
"The update was unsuccessful. " : "Aktualizace nebyla úspěšná.",
"The update was successful. There were warnings." : "Aktualizace byla úspěšná. Zachycen výskyt varování.",
"The update was successful. Redirecting you to ownCloud now." : "Aktualizace byla úspěšná. Přesměrovávám na ownCloud.",
diff --git a/core/l10n/cs_CZ.json b/core/l10n/cs_CZ.json
index 7c7c3055da5..a326c0fee9f 100644
--- a/core/l10n/cs_CZ.json
+++ b/core/l10n/cs_CZ.json
@@ -164,6 +164,7 @@
"access control" : "řízení přístupu",
"Could not unshare" : "Nelze zrušit sdílení",
"Share details could not be loaded for this item." : "Detaily sdílení pro tuto položku nelze načíst.",
+ "No users or groups found for {search}" : "Nebyli nalezeni žádní členové ani skupiny pro {search}",
"An error occured. Please try again" : "Nastala chyba. Prosím zkuste to znovu",
"Share" : "Sdílet",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Sdílejte s lidmi na ownClouds použitím syntaxe username@example.com/owncloud",
@@ -195,6 +196,7 @@
"Updating {productName} to version {version}, this may take a while." : "Aktualizuji {productName} na verzi {version}, může to chvíli trvat.",
"An error occurred." : "Došlo k chybě.",
"Please reload the page." : "Načtěte stránku znovu, prosím.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "Aktualizace nebyla úspěšná. Pro více informací si <a href=\"{url}\">přečtěte komentáře ve fóru</a> pojednávající o tomto problému.",
"The update was unsuccessful. " : "Aktualizace nebyla úspěšná.",
"The update was successful. There were warnings." : "Aktualizace byla úspěšná. Zachycen výskyt varování.",
"The update was successful. Redirecting you to ownCloud now." : "Aktualizace byla úspěšná. Přesměrovávám na ownCloud.",
diff --git a/core/l10n/de.js b/core/l10n/de.js
index faf720c2cb8..d871a0ce329 100644
--- a/core/l10n/de.js
+++ b/core/l10n/de.js
@@ -154,15 +154,27 @@ OC.L10N.register(
"change" : "Ändern",
"delete" : "löschen",
"access control" : "Zugriffskontrolle",
+ "Could not unshare" : "Freigabe konnte nicht entfernt werden",
+ "Share details could not be loaded for this item." : "Details der geteilten Freigabe konnten nicht geladen werden zu diesem Eintrag.",
+ "No users or groups found for {search}" : "Kein Benutzer oder Gruppen gefunden für {search}",
"An error occured. Please try again" : "Es ist ein Fehler aufgetreten. Bitte versuche es noch einmal",
+ "{sharee} (group)" : "{sharee} (group)",
+ "{sharee} (at {server})" : "{sharee} (at {server})",
+ "{sharee} (remote)" : "{sharee} (remote)",
"Share" : "Teilen",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Mit Benutzern anderer ownClouds unter Verwendung der Syntax benutzername@beispiel.com/owncloud teilen",
"Share with users or groups …" : "Mit Benutzern oder Gruppen teilen…",
"Share with users, groups or remote users …" : "Mit Benutzern, Gruppen oder entfernten Benutzern teilen…",
+ "Error removing share" : "Fehler beim Entfernen der Freigabe",
"Warning" : "Warnung",
"Error while sending notification" : "Fehler beim Senden der Benachrichtigung",
+ "Non-existing tag #{tag}" : "Nicht vorhandener Tag #{tag}",
+ "not assignable" : "nicht übertragbar",
+ "invisible" : "unsichtbar",
+ "({scope})" : "({scope})",
"Delete" : "Löschen",
"Rename" : "Umbenennen",
+ "Global tags" : "globale Tags",
"The object type is not specified." : "Der Objekttyp ist nicht angegeben.",
"Enter new" : "Neuen eingeben",
"Add" : "Hinzufügen",
@@ -179,6 +191,7 @@ OC.L10N.register(
"Updating {productName} to version {version}, this may take a while." : "Aktualisiere {productName} auf Version {version}. Dies könnte eine Weile dauern.",
"An error occurred." : "Es ist ein Fehler aufgetreten.",
"Please reload the page." : "Bitte lade die Seite neu.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "Das Update war nicht erfolgreich. Für weitere Informationen <a href=\"{url}\"> schaue bitte in unser Forum </a> um das Problem zu lösen.",
"The update was unsuccessful. " : "Die Aktualisierung war nicht erfolgreich.",
"The update was successful. There were warnings." : "Das Update war erfolgreich. Warnungen wurden ausgegeben.",
"The update was successful. Redirecting you to ownCloud now." : "Das Update war erfolgreich. Du wirst nun zu ownCloud weitergeleitet.",
@@ -263,6 +276,7 @@ OC.L10N.register(
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktiere Deinen Systemadministrator, wenn diese Meldung dauerhaft oder unerwartet erscheint.",
"Thank you for your patience." : "Vielen Dank für Deine Geduld.",
"You are accessing the server from an untrusted domain." : "Du greifst von einer nicht vertrauenswürdigen Domain auf den Server zu.",
+ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Bitte kontaktiere deinen Administrator. Wenn du ein Administrator dieser Instanz bist, konfigurieren die \"TRUSTED_DOMAINS\" Einstellung in config/config.php .Eine Beispielkonfiguration ist in config/config.sample.php zur Verfügung gestellt.",
"Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Wenn es Deine Konfiguration zulässt, kannst Du als Administrator gegebenenfalls den Button unten benutzen, um diese Domain als vertrauenswürdig einzustufen.",
"Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen",
"App update required" : "Appupdate notwendig",
diff --git a/core/l10n/de.json b/core/l10n/de.json
index dc074683f09..145867d2b45 100644
--- a/core/l10n/de.json
+++ b/core/l10n/de.json
@@ -152,15 +152,27 @@
"change" : "Ändern",
"delete" : "löschen",
"access control" : "Zugriffskontrolle",
+ "Could not unshare" : "Freigabe konnte nicht entfernt werden",
+ "Share details could not be loaded for this item." : "Details der geteilten Freigabe konnten nicht geladen werden zu diesem Eintrag.",
+ "No users or groups found for {search}" : "Kein Benutzer oder Gruppen gefunden für {search}",
"An error occured. Please try again" : "Es ist ein Fehler aufgetreten. Bitte versuche es noch einmal",
+ "{sharee} (group)" : "{sharee} (group)",
+ "{sharee} (at {server})" : "{sharee} (at {server})",
+ "{sharee} (remote)" : "{sharee} (remote)",
"Share" : "Teilen",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Mit Benutzern anderer ownClouds unter Verwendung der Syntax benutzername@beispiel.com/owncloud teilen",
"Share with users or groups …" : "Mit Benutzern oder Gruppen teilen…",
"Share with users, groups or remote users …" : "Mit Benutzern, Gruppen oder entfernten Benutzern teilen…",
+ "Error removing share" : "Fehler beim Entfernen der Freigabe",
"Warning" : "Warnung",
"Error while sending notification" : "Fehler beim Senden der Benachrichtigung",
+ "Non-existing tag #{tag}" : "Nicht vorhandener Tag #{tag}",
+ "not assignable" : "nicht übertragbar",
+ "invisible" : "unsichtbar",
+ "({scope})" : "({scope})",
"Delete" : "Löschen",
"Rename" : "Umbenennen",
+ "Global tags" : "globale Tags",
"The object type is not specified." : "Der Objekttyp ist nicht angegeben.",
"Enter new" : "Neuen eingeben",
"Add" : "Hinzufügen",
@@ -177,6 +189,7 @@
"Updating {productName} to version {version}, this may take a while." : "Aktualisiere {productName} auf Version {version}. Dies könnte eine Weile dauern.",
"An error occurred." : "Es ist ein Fehler aufgetreten.",
"Please reload the page." : "Bitte lade die Seite neu.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "Das Update war nicht erfolgreich. Für weitere Informationen <a href=\"{url}\"> schaue bitte in unser Forum </a> um das Problem zu lösen.",
"The update was unsuccessful. " : "Die Aktualisierung war nicht erfolgreich.",
"The update was successful. There were warnings." : "Das Update war erfolgreich. Warnungen wurden ausgegeben.",
"The update was successful. Redirecting you to ownCloud now." : "Das Update war erfolgreich. Du wirst nun zu ownCloud weitergeleitet.",
@@ -261,6 +274,7 @@
"Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktiere Deinen Systemadministrator, wenn diese Meldung dauerhaft oder unerwartet erscheint.",
"Thank you for your patience." : "Vielen Dank für Deine Geduld.",
"You are accessing the server from an untrusted domain." : "Du greifst von einer nicht vertrauenswürdigen Domain auf den Server zu.",
+ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Bitte kontaktiere deinen Administrator. Wenn du ein Administrator dieser Instanz bist, konfigurieren die \"TRUSTED_DOMAINS\" Einstellung in config/config.php .Eine Beispielkonfiguration ist in config/config.sample.php zur Verfügung gestellt.",
"Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Wenn es Deine Konfiguration zulässt, kannst Du als Administrator gegebenenfalls den Button unten benutzen, um diese Domain als vertrauenswürdig einzustufen.",
"Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen",
"App update required" : "Appupdate notwendig",
diff --git a/core/l10n/fi_FI.js b/core/l10n/fi_FI.js
index de435277524..77d0feedd5a 100644
--- a/core/l10n/fi_FI.js
+++ b/core/l10n/fi_FI.js
@@ -166,7 +166,11 @@ OC.L10N.register(
"access control" : "Pääsyn hallinta",
"Could not unshare" : "Jakamisen lopettaminen epäonnistui",
"Share details could not be loaded for this item." : "Tämän kohteen jakamistietoja ei voitu ladata.",
+ "No users or groups found for {search}" : "Haulla {search} ei löytynyt käyttäjiä tai ryhmiä",
"An error occured. Please try again" : "Tapahtui virhe. Yritä myöhemmin uudestaan",
+ "{sharee} (group)" : "{sharee} (ryhmä)",
+ "{sharee} (at {server})" : "{sharee} (palvelimella {server})",
+ "{sharee} (remote)" : "{sharee} (etä)",
"Share" : "Jaa",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Jaa toisia ownCloud-järjestelmiä käyttävien kesken käyttäen syntaksia käyttäjätunnus@esimerkki.fi/owncloud",
"Share with users or groups …" : "Jaa käyttäjien tai ryhmien kanssa…",
diff --git a/core/l10n/fi_FI.json b/core/l10n/fi_FI.json
index 10393d56edc..0b3cf89bb84 100644
--- a/core/l10n/fi_FI.json
+++ b/core/l10n/fi_FI.json
@@ -164,7 +164,11 @@
"access control" : "Pääsyn hallinta",
"Could not unshare" : "Jakamisen lopettaminen epäonnistui",
"Share details could not be loaded for this item." : "Tämän kohteen jakamistietoja ei voitu ladata.",
+ "No users or groups found for {search}" : "Haulla {search} ei löytynyt käyttäjiä tai ryhmiä",
"An error occured. Please try again" : "Tapahtui virhe. Yritä myöhemmin uudestaan",
+ "{sharee} (group)" : "{sharee} (ryhmä)",
+ "{sharee} (at {server})" : "{sharee} (palvelimella {server})",
+ "{sharee} (remote)" : "{sharee} (etä)",
"Share" : "Jaa",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Jaa toisia ownCloud-järjestelmiä käyttävien kesken käyttäen syntaksia käyttäjätunnus@esimerkki.fi/owncloud",
"Share with users or groups …" : "Jaa käyttäjien tai ryhmien kanssa…",
diff --git a/core/l10n/fr.js b/core/l10n/fr.js
index 670f7561468..882805c6649 100644
--- a/core/l10n/fr.js
+++ b/core/l10n/fr.js
@@ -166,6 +166,7 @@ OC.L10N.register(
"access control" : "contrôle d'accès",
"Could not unshare" : "Impossible d'arrêter de partager",
"Share details could not be loaded for this item." : "Les informations de partage n'ont pu être chargées pour cet élément.",
+ "No users or groups found for {search}" : "Pas d'utilisateur ou de groupe trouvé pour {search}",
"An error occured. Please try again" : "Une erreur est survenue. Merci de réessayer",
"Share" : "Partager",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Partagez avec des personnes sur d'autres ownClouds en utilisant la syntaxe utilisateur@exemple.com/owncloud",
@@ -197,6 +198,7 @@ OC.L10N.register(
"Updating {productName} to version {version}, this may take a while." : "La mise à jour de {productName} vers la version {version} est en cours. Cela peut prendre un certain temps.",
"An error occurred." : "Une erreur est survenue.",
"Please reload the page." : "Veuillez recharger la page.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "La mise à jour a échoué. Pour plus d'informations <a href=\"{url}\">consultez notre publication sur le forum</a> à propos de ce problème.",
"The update was unsuccessful. " : "La mise à jour a échoué.",
"The update was successful. There were warnings." : "La mise à jour a réussi, mais il y a eu des avertissements",
"The update was successful. Redirecting you to ownCloud now." : "La mise à jour a réussi. Vous êtes maintenant redirigé vers ownCloud.",
diff --git a/core/l10n/fr.json b/core/l10n/fr.json
index bf3b40a7fe9..0bc4be17e3e 100644
--- a/core/l10n/fr.json
+++ b/core/l10n/fr.json
@@ -164,6 +164,7 @@
"access control" : "contrôle d'accès",
"Could not unshare" : "Impossible d'arrêter de partager",
"Share details could not be loaded for this item." : "Les informations de partage n'ont pu être chargées pour cet élément.",
+ "No users or groups found for {search}" : "Pas d'utilisateur ou de groupe trouvé pour {search}",
"An error occured. Please try again" : "Une erreur est survenue. Merci de réessayer",
"Share" : "Partager",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Partagez avec des personnes sur d'autres ownClouds en utilisant la syntaxe utilisateur@exemple.com/owncloud",
@@ -195,6 +196,7 @@
"Updating {productName} to version {version}, this may take a while." : "La mise à jour de {productName} vers la version {version} est en cours. Cela peut prendre un certain temps.",
"An error occurred." : "Une erreur est survenue.",
"Please reload the page." : "Veuillez recharger la page.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "La mise à jour a échoué. Pour plus d'informations <a href=\"{url}\">consultez notre publication sur le forum</a> à propos de ce problème.",
"The update was unsuccessful. " : "La mise à jour a échoué.",
"The update was successful. There were warnings." : "La mise à jour a réussi, mais il y a eu des avertissements",
"The update was successful. Redirecting you to ownCloud now." : "La mise à jour a réussi. Vous êtes maintenant redirigé vers ownCloud.",
diff --git a/core/l10n/he.js b/core/l10n/he.js
index 0f265b56221..6498f5caf5a 100644
--- a/core/l10n/he.js
+++ b/core/l10n/he.js
@@ -166,7 +166,11 @@ OC.L10N.register(
"access control" : "בקרת גישה",
"Could not unshare" : "לא ניתן לבטל שיתוף",
"Share details could not be loaded for this item." : "לא ניתן היה לטעון מידע שיתוף לפריט זה",
+ "No users or groups found for {search}" : "לא אותרו משתמשים או קבוצות עבור {search}",
"An error occured. Please try again" : "אירעה שגיאה. יש לנסות בבקשה שוב",
+ "{sharee} (group)" : "{sharee} (קבוצה)",
+ "{sharee} (at {server})" : "{sharee} (ב- {server})",
+ "{sharee} (remote)" : "{sharee} (מרוחק)",
"Share" : "שתף",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "ניתן לשתף עם אנשים אחרים המשתמשים ב- ownClouds בעזרת הפורמט הבא username@example.com/owncloud",
"Share with users or groups …" : "שיתוף עם משתמשים או קבוצות...",
@@ -197,6 +201,7 @@ OC.L10N.register(
"Updating {productName} to version {version}, this may take a while." : "מעדכן {productName} לגרסה {version}, זה יקח זמן מה.",
"An error occurred." : "אירעה שגיאה.",
"Please reload the page." : "יש להעלות מחדש דף זה.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "העדכון בוצע בהצלחה. למידע נוסף <a href=\"{url}\">ניתן לבדוק בהודעת הפורום שלנו</a> המכסה נושא זו.",
"The update was unsuccessful. " : "העדכון בוצע בהצלחה.",
"The update was successful. There were warnings." : "העדכון בוצע בהצלחה. היו הזהרות.",
"The update was successful. Redirecting you to ownCloud now." : "תהליך העדכון הסתיים בהצלחה. עכשיו מנתב אותך אל ownCloud.",
diff --git a/core/l10n/he.json b/core/l10n/he.json
index d7649c43354..d0b0fff51e9 100644
--- a/core/l10n/he.json
+++ b/core/l10n/he.json
@@ -164,7 +164,11 @@
"access control" : "בקרת גישה",
"Could not unshare" : "לא ניתן לבטל שיתוף",
"Share details could not be loaded for this item." : "לא ניתן היה לטעון מידע שיתוף לפריט זה",
+ "No users or groups found for {search}" : "לא אותרו משתמשים או קבוצות עבור {search}",
"An error occured. Please try again" : "אירעה שגיאה. יש לנסות בבקשה שוב",
+ "{sharee} (group)" : "{sharee} (קבוצה)",
+ "{sharee} (at {server})" : "{sharee} (ב- {server})",
+ "{sharee} (remote)" : "{sharee} (מרוחק)",
"Share" : "שתף",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "ניתן לשתף עם אנשים אחרים המשתמשים ב- ownClouds בעזרת הפורמט הבא username@example.com/owncloud",
"Share with users or groups …" : "שיתוף עם משתמשים או קבוצות...",
@@ -195,6 +199,7 @@
"Updating {productName} to version {version}, this may take a while." : "מעדכן {productName} לגרסה {version}, זה יקח זמן מה.",
"An error occurred." : "אירעה שגיאה.",
"Please reload the page." : "יש להעלות מחדש דף זה.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "העדכון בוצע בהצלחה. למידע נוסף <a href=\"{url}\">ניתן לבדוק בהודעת הפורום שלנו</a> המכסה נושא זו.",
"The update was unsuccessful. " : "העדכון בוצע בהצלחה.",
"The update was successful. There were warnings." : "העדכון בוצע בהצלחה. היו הזהרות.",
"The update was successful. Redirecting you to ownCloud now." : "תהליך העדכון הסתיים בהצלחה. עכשיו מנתב אותך אל ownCloud.",
diff --git a/core/l10n/hu_HU.js b/core/l10n/hu_HU.js
index ea2a55451d8..43740db8f9c 100644
--- a/core/l10n/hu_HU.js
+++ b/core/l10n/hu_HU.js
@@ -16,10 +16,15 @@ OC.L10N.register(
"Updated \"%s\" to %s" : "Frissítettük \"%s\"-t erre: %s",
"Repair warning: " : "Javítás figyelmeztetés:",
"Repair error: " : "Javítás hiba:",
+ "Set log level to debug" : "Naplózási szint beállítása hibakeresésre",
+ "Reset log level" : "Naplózási szint visszaállítása",
+ "Starting code integrity check" : "Kódintegritás ellenőrzés elindítása",
+ "Finished code integrity check" : "Kódintegritás ellenőrzés befejezve!",
"%s (3rdparty)" : "%s (harmadik fél által)",
"%s (incompatible)" : "%s (nem kompatibilis)",
"Following apps have been disabled: %s" : "A következő applikációk lettek tiltva: %s",
"Already up to date" : "Már a legfrissebb változat",
+ "Please select a file." : "Kérjük, válassz egy fájlt.",
"File is too big" : "A fájl túl nagy",
"Invalid file provided" : "Érvénytelen fájl van megadva",
"No image or file provided" : "Nincs kép vagy fájl megadva",
@@ -81,6 +86,7 @@ OC.L10N.register(
"Oct." : "okt.",
"Nov." : "nov.",
"Dec." : "dec.",
+ "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Problémák vannak a kódintegritás ellenőrzéssel. Bővebb információ…</a>",
"Settings" : "Beállítások",
"Saving..." : "Mentés...",
"seconds ago" : "pár másodperce",
@@ -153,16 +159,22 @@ OC.L10N.register(
"change" : "változtatás",
"delete" : "töröl",
"access control" : "jogosultság",
+ "Could not unshare" : "Nem sikerült visszavonni a megosztást",
"Share details could not be loaded for this item." : "A megosztás részletei nem lehet betölteni ehhez az elemhez.",
"An error occured. Please try again" : "Hiba történt. Kérjük, próbáld újra!",
"Share" : "Megosztás",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Megosztás más ownCloud szerverekkel, a következő formátum használatával felhasznalo@példa.com/owncloud",
"Share with users or groups …" : "Megosztás felhasználókkal vagy csoportokkal ...",
"Share with users, groups or remote users …" : "Megosztás felhasználókkal, csoportokkal vagy távoli felhasználókkal ...",
+ "Error removing share" : "Hiba a megosztás törlésekor",
"Warning" : "Figyelmeztetés",
"Error while sending notification" : "Hiba történt az értesítő küldése közben",
+ "Non-existing tag #{tag}" : "Nem létező címke #{tag}",
+ "invisible" : "láthatatlan",
+ "({scope})" : "({scope})",
"Delete" : "Törlés",
"Rename" : "Átnevezés",
+ "Global tags" : "Globális címke",
"The object type is not specified." : "Az objektum típusa nincs megadva.",
"Enter new" : "Új beírása",
"Add" : "Hozzáadás",
@@ -179,6 +191,7 @@ OC.L10N.register(
"Updating {productName} to version {version}, this may take a while." : " {productName} frissítése zajlik erre a verzióra: {version}. Ez eltarthat egy darabig.",
"An error occurred." : "Hiba történt.",
"Please reload the page." : "Kérjük frissítse az oldalt!",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "Frissítés sikertelen. Bővebb információért <a href=\"{url}\">keresd fel a fórumunkat</a> a probléma lefedéséért.",
"The update was unsuccessful. " : "A frissítés nem sikerült.",
"The update was successful. There were warnings." : "A frissítés sikerült. Figyelmeztetések találhatók.",
"The update was successful. Redirecting you to ownCloud now." : "A frissítés sikeres volt. Visszairányítjuk az ownCloud szolgáltatáshoz.",
diff --git a/core/l10n/hu_HU.json b/core/l10n/hu_HU.json
index ec403c043d1..2cf122b07a9 100644
--- a/core/l10n/hu_HU.json
+++ b/core/l10n/hu_HU.json
@@ -14,10 +14,15 @@
"Updated \"%s\" to %s" : "Frissítettük \"%s\"-t erre: %s",
"Repair warning: " : "Javítás figyelmeztetés:",
"Repair error: " : "Javítás hiba:",
+ "Set log level to debug" : "Naplózási szint beállítása hibakeresésre",
+ "Reset log level" : "Naplózási szint visszaállítása",
+ "Starting code integrity check" : "Kódintegritás ellenőrzés elindítása",
+ "Finished code integrity check" : "Kódintegritás ellenőrzés befejezve!",
"%s (3rdparty)" : "%s (harmadik fél által)",
"%s (incompatible)" : "%s (nem kompatibilis)",
"Following apps have been disabled: %s" : "A következő applikációk lettek tiltva: %s",
"Already up to date" : "Már a legfrissebb változat",
+ "Please select a file." : "Kérjük, válassz egy fájlt.",
"File is too big" : "A fájl túl nagy",
"Invalid file provided" : "Érvénytelen fájl van megadva",
"No image or file provided" : "Nincs kép vagy fájl megadva",
@@ -79,6 +84,7 @@
"Oct." : "okt.",
"Nov." : "nov.",
"Dec." : "dec.",
+ "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Problémák vannak a kódintegritás ellenőrzéssel. Bővebb információ…</a>",
"Settings" : "Beállítások",
"Saving..." : "Mentés...",
"seconds ago" : "pár másodperce",
@@ -151,16 +157,22 @@
"change" : "változtatás",
"delete" : "töröl",
"access control" : "jogosultság",
+ "Could not unshare" : "Nem sikerült visszavonni a megosztást",
"Share details could not be loaded for this item." : "A megosztás részletei nem lehet betölteni ehhez az elemhez.",
"An error occured. Please try again" : "Hiba történt. Kérjük, próbáld újra!",
"Share" : "Megosztás",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Megosztás más ownCloud szerverekkel, a következő formátum használatával felhasznalo@példa.com/owncloud",
"Share with users or groups …" : "Megosztás felhasználókkal vagy csoportokkal ...",
"Share with users, groups or remote users …" : "Megosztás felhasználókkal, csoportokkal vagy távoli felhasználókkal ...",
+ "Error removing share" : "Hiba a megosztás törlésekor",
"Warning" : "Figyelmeztetés",
"Error while sending notification" : "Hiba történt az értesítő küldése közben",
+ "Non-existing tag #{tag}" : "Nem létező címke #{tag}",
+ "invisible" : "láthatatlan",
+ "({scope})" : "({scope})",
"Delete" : "Törlés",
"Rename" : "Átnevezés",
+ "Global tags" : "Globális címke",
"The object type is not specified." : "Az objektum típusa nincs megadva.",
"Enter new" : "Új beírása",
"Add" : "Hozzáadás",
@@ -177,6 +189,7 @@
"Updating {productName} to version {version}, this may take a while." : " {productName} frissítése zajlik erre a verzióra: {version}. Ez eltarthat egy darabig.",
"An error occurred." : "Hiba történt.",
"Please reload the page." : "Kérjük frissítse az oldalt!",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "Frissítés sikertelen. Bővebb információért <a href=\"{url}\">keresd fel a fórumunkat</a> a probléma lefedéséért.",
"The update was unsuccessful. " : "A frissítés nem sikerült.",
"The update was successful. There were warnings." : "A frissítés sikerült. Figyelmeztetések találhatók.",
"The update was successful. Redirecting you to ownCloud now." : "A frissítés sikeres volt. Visszairányítjuk az ownCloud szolgáltatáshoz.",
diff --git a/core/l10n/it.js b/core/l10n/it.js
index f63e8c6adfa..2c39e573f24 100644
--- a/core/l10n/it.js
+++ b/core/l10n/it.js
@@ -166,7 +166,11 @@ OC.L10N.register(
"access control" : "controllo d'accesso",
"Could not unshare" : "Impossibile rimuovere la condivisione",
"Share details could not be loaded for this item." : "I dettagli della condivisione non possono essere caricati per questo elemento.",
+ "No users or groups found for {search}" : "Nessun utente o gruppo trovato per {search}",
"An error occured. Please try again" : "Si è verificato un errore. Prova ancora",
+ "{sharee} (group)" : "{sharee} (group)",
+ "{sharee} (at {server})" : "{sharee} (su {server})",
+ "{sharee} (remote)" : "{sharee} (remote)",
"Share" : "Condividi",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Condividi con persone su altri ownCloud utilizzando la sintassi nomeutente@esempio.com/owncloud",
"Share with users or groups …" : "Condividi con utenti o gruppi...",
diff --git a/core/l10n/it.json b/core/l10n/it.json
index 873d8de425f..efa21176499 100644
--- a/core/l10n/it.json
+++ b/core/l10n/it.json
@@ -164,7 +164,11 @@
"access control" : "controllo d'accesso",
"Could not unshare" : "Impossibile rimuovere la condivisione",
"Share details could not be loaded for this item." : "I dettagli della condivisione non possono essere caricati per questo elemento.",
+ "No users or groups found for {search}" : "Nessun utente o gruppo trovato per {search}",
"An error occured. Please try again" : "Si è verificato un errore. Prova ancora",
+ "{sharee} (group)" : "{sharee} (group)",
+ "{sharee} (at {server})" : "{sharee} (su {server})",
+ "{sharee} (remote)" : "{sharee} (remote)",
"Share" : "Condividi",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Condividi con persone su altri ownCloud utilizzando la sintassi nomeutente@esempio.com/owncloud",
"Share with users or groups …" : "Condividi con utenti o gruppi...",
diff --git a/core/l10n/nb_NO.js b/core/l10n/nb_NO.js
index ab8453e766c..534f582630a 100644
--- a/core/l10n/nb_NO.js
+++ b/core/l10n/nb_NO.js
@@ -164,16 +164,24 @@ OC.L10N.register(
"change" : "endre",
"delete" : "slette",
"access control" : "tilgangskontroll",
+ "Could not unshare" : "Kunne ikke avslutte deling",
"Share details could not be loaded for this item." : "Klarte ikke å laste inn detaljer om deling for dette elementet.",
+ "No users or groups found for {search}" : "Ingen brukere eller grupper funnet for {search}",
"An error occured. Please try again" : "Det oppstod en feil. Prøv igjen",
"Share" : "Del",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Del med personer på andre ownCloud-installasjoner med syntaksen brukernavn@example.com/owncloud",
"Share with users or groups …" : "Del med brukere eller grupper ...",
"Share with users, groups or remote users …" : "Del med brukere, grupper eller eksterne brukere ...",
+ "Error removing share" : "Feil ved fjerning av deling",
"Warning" : "Advarsel",
"Error while sending notification" : "Feil ved sending av varsling",
+ "Non-existing tag #{tag}" : "Ikke-eksisterende merkelap #{tag}",
+ "not assignable" : "kan ikke tilordnes",
+ "invisible" : "usynlig",
+ "({scope})" : "({scope})",
"Delete" : "Slett",
"Rename" : "Gi nytt navn",
+ "Global tags" : "Globale merkelapper",
"The object type is not specified." : "Objekttypen er ikke spesifisert.",
"Enter new" : "Oppgi ny",
"Add" : "Legg til",
@@ -190,6 +198,7 @@ OC.L10N.register(
"Updating {productName} to version {version}, this may take a while." : "Oppdaterer {productName} til versjon {version}. Dette kan ta litt tid.",
"An error occurred." : "En feil oppstod.",
"Please reload the page." : "Vennligst last siden på nytt.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "Oppdateringen var mislykket. For mer informasjon <a href=\"{url}\">se vår forum-artikkel</a> som beskriver dette problemet.",
"The update was unsuccessful. " : "Oppdateringen var mislykket.",
"The update was successful. There were warnings." : "Oppdateringen var vellykket. Det oppstod advarsler.",
"The update was successful. Redirecting you to ownCloud now." : "Oppdateringen var vellykket. Du omdirigeres nå til ownCloud.",
diff --git a/core/l10n/nb_NO.json b/core/l10n/nb_NO.json
index c7e89016a50..66c5b30a9c8 100644
--- a/core/l10n/nb_NO.json
+++ b/core/l10n/nb_NO.json
@@ -162,16 +162,24 @@
"change" : "endre",
"delete" : "slette",
"access control" : "tilgangskontroll",
+ "Could not unshare" : "Kunne ikke avslutte deling",
"Share details could not be loaded for this item." : "Klarte ikke å laste inn detaljer om deling for dette elementet.",
+ "No users or groups found for {search}" : "Ingen brukere eller grupper funnet for {search}",
"An error occured. Please try again" : "Det oppstod en feil. Prøv igjen",
"Share" : "Del",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Del med personer på andre ownCloud-installasjoner med syntaksen brukernavn@example.com/owncloud",
"Share with users or groups …" : "Del med brukere eller grupper ...",
"Share with users, groups or remote users …" : "Del med brukere, grupper eller eksterne brukere ...",
+ "Error removing share" : "Feil ved fjerning av deling",
"Warning" : "Advarsel",
"Error while sending notification" : "Feil ved sending av varsling",
+ "Non-existing tag #{tag}" : "Ikke-eksisterende merkelap #{tag}",
+ "not assignable" : "kan ikke tilordnes",
+ "invisible" : "usynlig",
+ "({scope})" : "({scope})",
"Delete" : "Slett",
"Rename" : "Gi nytt navn",
+ "Global tags" : "Globale merkelapper",
"The object type is not specified." : "Objekttypen er ikke spesifisert.",
"Enter new" : "Oppgi ny",
"Add" : "Legg til",
@@ -188,6 +196,7 @@
"Updating {productName} to version {version}, this may take a while." : "Oppdaterer {productName} til versjon {version}. Dette kan ta litt tid.",
"An error occurred." : "En feil oppstod.",
"Please reload the page." : "Vennligst last siden på nytt.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "Oppdateringen var mislykket. For mer informasjon <a href=\"{url}\">se vår forum-artikkel</a> som beskriver dette problemet.",
"The update was unsuccessful. " : "Oppdateringen var mislykket.",
"The update was successful. There were warnings." : "Oppdateringen var vellykket. Det oppstod advarsler.",
"The update was successful. Redirecting you to ownCloud now." : "Oppdateringen var vellykket. Du omdirigeres nå til ownCloud.",
diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js
index 5c922050f66..f3ff06ce5b9 100644
--- a/core/l10n/pt_BR.js
+++ b/core/l10n/pt_BR.js
@@ -166,7 +166,11 @@ OC.L10N.register(
"access control" : "controle de acesso",
"Could not unshare" : "Não foi possível descompartilhar",
"Share details could not be loaded for this item." : "Detalhes de compartilhamento não puderam ser carregados para este item.",
+ "No users or groups found for {search}" : "Nenhum usuário grupo encontrado para {search}",
"An error occured. Please try again" : "Ocorreu um erro. Por favor tente novamente",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (at {server})" : "{sharee} (no {server})",
+ "{sharee} (remote)" : "{sharee} (remoto)",
"Share" : "Compartilhar",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Compartilhar com usuários em outros ownClouds usando a sintaxe username@example.com/owncloud",
"Share with users or groups …" : "Compartilhar com usuários ou grupos ...",
diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json
index c95d7386e12..1c5d20c6a81 100644
--- a/core/l10n/pt_BR.json
+++ b/core/l10n/pt_BR.json
@@ -164,7 +164,11 @@
"access control" : "controle de acesso",
"Could not unshare" : "Não foi possível descompartilhar",
"Share details could not be loaded for this item." : "Detalhes de compartilhamento não puderam ser carregados para este item.",
+ "No users or groups found for {search}" : "Nenhum usuário grupo encontrado para {search}",
"An error occured. Please try again" : "Ocorreu um erro. Por favor tente novamente",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (at {server})" : "{sharee} (no {server})",
+ "{sharee} (remote)" : "{sharee} (remoto)",
"Share" : "Compartilhar",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Compartilhar com usuários em outros ownClouds usando a sintaxe username@example.com/owncloud",
"Share with users or groups …" : "Compartilhar com usuários ou grupos ...",
diff --git a/core/l10n/pt_PT.js b/core/l10n/pt_PT.js
index f2d3e1dca0c..debcf9d6f83 100644
--- a/core/l10n/pt_PT.js
+++ b/core/l10n/pt_PT.js
@@ -166,7 +166,11 @@ OC.L10N.register(
"access control" : "controlo de acesso",
"Could not unshare" : "Não foi possível cancelar a partilha",
"Share details could not be loaded for this item." : "Não foi possível carregar os detalhes de partilha para este item.",
+ "No users or groups found for {search}" : "Nenhuns utilizadores ou grupos encontrados para {search}",
"An error occured. Please try again" : "Ocorreu um erro. Por favor, tente de novo",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (at {server})" : "{sharee} (em {server})",
+ "{sharee} (remote)" : "{sharee} (remoto)",
"Share" : "Compartilhar",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Compartilhe com as pessoas nas outras ownClouds utilizando a sintaxe username@example.com/owncloud",
"Share with users or groups …" : "Partilhar com utilizadores ou grupos...",
diff --git a/core/l10n/pt_PT.json b/core/l10n/pt_PT.json
index d6c016b6e06..765f52055db 100644
--- a/core/l10n/pt_PT.json
+++ b/core/l10n/pt_PT.json
@@ -164,7 +164,11 @@
"access control" : "controlo de acesso",
"Could not unshare" : "Não foi possível cancelar a partilha",
"Share details could not be loaded for this item." : "Não foi possível carregar os detalhes de partilha para este item.",
+ "No users or groups found for {search}" : "Nenhuns utilizadores ou grupos encontrados para {search}",
"An error occured. Please try again" : "Ocorreu um erro. Por favor, tente de novo",
+ "{sharee} (group)" : "{sharee} (grupo)",
+ "{sharee} (at {server})" : "{sharee} (em {server})",
+ "{sharee} (remote)" : "{sharee} (remoto)",
"Share" : "Compartilhar",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Compartilhe com as pessoas nas outras ownClouds utilizando a sintaxe username@example.com/owncloud",
"Share with users or groups …" : "Partilhar com utilizadores ou grupos...",
diff --git a/core/l10n/ru.js b/core/l10n/ru.js
index 30b4663fd74..949d82ac9b1 100644
--- a/core/l10n/ru.js
+++ b/core/l10n/ru.js
@@ -197,6 +197,7 @@ OC.L10N.register(
"Updating {productName} to version {version}, this may take a while." : "Идет обновление {productName} до версии {version}, это может занять некоторое время.",
"An error occurred." : "Произошла ошибка.",
"Please reload the page." : "Пожалуйста, обновите страницу.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "Обновление прошло не успешно. За дополнительной информацией по этой проблеме <a href=\"{url}\">обратитесь к нашему форуму</a>.",
"The update was unsuccessful. " : "Обновление окончилось неудачей.",
"The update was successful. There were warnings." : "Обновление прошло успешно. Были предупреждения.",
"The update was successful. Redirecting you to ownCloud now." : "Обновление прошло успешно. Перенаправляем в ownCloud.",
diff --git a/core/l10n/ru.json b/core/l10n/ru.json
index be660aff2ac..e87d37f0094 100644
--- a/core/l10n/ru.json
+++ b/core/l10n/ru.json
@@ -195,6 +195,7 @@
"Updating {productName} to version {version}, this may take a while." : "Идет обновление {productName} до версии {version}, это может занять некоторое время.",
"An error occurred." : "Произошла ошибка.",
"Please reload the page." : "Пожалуйста, обновите страницу.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "Обновление прошло не успешно. За дополнительной информацией по этой проблеме <a href=\"{url}\">обратитесь к нашему форуму</a>.",
"The update was unsuccessful. " : "Обновление окончилось неудачей.",
"The update was successful. There were warnings." : "Обновление прошло успешно. Были предупреждения.",
"The update was successful. Redirecting you to ownCloud now." : "Обновление прошло успешно. Перенаправляем в ownCloud.",
diff --git a/core/l10n/sq.js b/core/l10n/sq.js
index 3201afaea2a..59151e1ee86 100644
--- a/core/l10n/sq.js
+++ b/core/l10n/sq.js
@@ -166,7 +166,11 @@ OC.L10N.register(
"access control" : "kontroll hyrjesh",
"Could not unshare" : "S’e shndau dot",
"Share details could not be loaded for this item." : "Për këtë objekt s’u ngarkuan dot hollësi ndarjeje.",
+ "No users or groups found for {search}" : "S’u gjetën përdorues ose grupe për {search}",
"An error occured. Please try again" : "Ndodhi një gabim. Ju lutemi, riprovoni",
+ "{sharee} (group)" : "{sharee} (grup)",
+ "{sharee} (at {server})" : "{sharee} (në {server})",
+ "{sharee} (remote)" : "{sharee} (i largët)",
"Share" : "Ndaje",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Ndajeni me persona në ownCloud-e të tjera duke përdorur sintaksën username@example.com/owncloud",
"Share with users or groups …" : "Ndajeni me përdorues ose grupe …",
diff --git a/core/l10n/sq.json b/core/l10n/sq.json
index fb826aeaef2..3a84c922969 100644
--- a/core/l10n/sq.json
+++ b/core/l10n/sq.json
@@ -164,7 +164,11 @@
"access control" : "kontroll hyrjesh",
"Could not unshare" : "S’e shndau dot",
"Share details could not be loaded for this item." : "Për këtë objekt s’u ngarkuan dot hollësi ndarjeje.",
+ "No users or groups found for {search}" : "S’u gjetën përdorues ose grupe për {search}",
"An error occured. Please try again" : "Ndodhi një gabim. Ju lutemi, riprovoni",
+ "{sharee} (group)" : "{sharee} (grup)",
+ "{sharee} (at {server})" : "{sharee} (në {server})",
+ "{sharee} (remote)" : "{sharee} (i largët)",
"Share" : "Ndaje",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Ndajeni me persona në ownCloud-e të tjera duke përdorur sintaksën username@example.com/owncloud",
"Share with users or groups …" : "Ndajeni me përdorues ose grupe …",
diff --git a/core/l10n/tr.js b/core/l10n/tr.js
index 02ea497760d..5fbbba3bd2e 100644
--- a/core/l10n/tr.js
+++ b/core/l10n/tr.js
@@ -16,10 +16,15 @@ OC.L10N.register(
"Updated \"%s\" to %s" : "\"%s\", %s sürümüne güncellendi",
"Repair warning: " : "Onarım uyarısı:",
"Repair error: " : "Onarım hatası:",
+ "Set log level to debug" : "Günlük seviyesini hata ayıklama olarak ayarla",
+ "Reset log level" : "Günlük seviyesini sıfırla",
+ "Starting code integrity check" : "Kod bütünlük sınaması başlatılıyor",
+ "Finished code integrity check" : "Kod bütünlük sınaması bitti",
"%s (3rdparty)" : "%s (3. parti)",
"%s (incompatible)" : "%s (uyumsuz)",
"Following apps have been disabled: %s" : "Aşağıdaki uygulamalar devre dışı bırakıldı: %s",
"Already up to date" : "Zaten güncel",
+ "Please select a file." : "Lütfen bir dosya seçin.",
"File is too big" : "Dosya çok büyük",
"Invalid file provided" : "Geçersiz dosya sağlandı",
"No image or file provided" : "Resim veya dosya belirtilmedi",
@@ -33,6 +38,7 @@ OC.L10N.register(
"Couldn't reset password because the token is invalid" : "Belirteç geçersiz olduğundan parola sıfırlanamadı",
"Couldn't reset password because the token is expired" : "Jeton zaman aşımına uğradığından parola sıfırlanamadı",
"Couldn't send reset email. Please make sure your username is correct." : "Sıfırlama e-postası gönderilemedi. Lütfen kullanıcı adınızın doğru olduğundan emin olun.",
+ "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Sıfırlama e-postası, bu kullanıcı için bir e-posta adresi olmadığından gönderilemedi. Lütfen yöneticiniz ile iletişime geçin.",
"%s password reset" : "%s parola sıfırlama",
"Couldn't send reset email. Please contact your administrator." : "Sıfırlama e-postası gönderilemedi. Lütfen yöneticiniz ile iletişime geçin.",
"Sunday" : "Pazar",
@@ -80,6 +86,7 @@ OC.L10N.register(
"Oct." : "Eki.",
"Nov." : "Kas.",
"Dec." : "Ara.",
+ "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Kod bütünlük sınamasında sorunlar oluştu. Daha fazla bilgi…</a>",
"Settings" : "Ayarlar",
"Saving..." : "Kaydediliyor...",
"seconds ago" : "saniyeler önce",
@@ -111,7 +118,14 @@ OC.L10N.register(
"Good password" : "İyi parola",
"Strong password" : "Güçlü parola",
"Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Web sunucunuz dosya transferi için düzgün bir şekilde yapılandırılmamış. WevDAV arabirimini sorunlu gözüküyor.",
+ "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" href=\"{docLink}\">documentation</a>." : "Web sunucunuz \"{url}\" çözümlemesini yapmak üzere doğru yapılandırılmaış. Daha fazla bilgi <a href=\"{docLink}\">belgelendirmemizde</a> bulunabilir.",
"This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Bu sunucunun çalışan bir İnternet bağlantısı yok. Bu, harici depolama alanı bağlama, güncelleştirme bildirimleri veya üçüncü parti uygulama kurma gibi bazı özellikler çalışmayacak demektir. Uzak dosyalara erişim ve e-posta ile bildirim gönderme de çalışmayacaktır. Eğer bu özelliklerin tamamını kullanmak istiyorsanız, sunucu için İnternet bağlantısını etkinleştirmenizi öneriyoruz.",
+ "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" href=\"{docLink}\">documentation</a>." : "Hafıza önbelleği ayarlanmamış. Performansın artması için mümkünse lütfen bir memcache ayarlayın. Detaylı bilgiye <a target=\"_blank\" href=\"{docLink}\">belgelendirmemizden</a> ulaşabilirsiniz.",
+ "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" href=\"{docLink}\">documentation</a>." : "Güvenlik sebepleri ile şiddetle kaçınılması gereken /dev/urandom PHP tarafından okunamıyor. Daha fazla bilgi <a target=\"_blank\" href=\"{docLink}\">belgelendirmemizde</a> bulunabilir.",
+ "Your PHP version ({version}) is no longer <a target=\"_blank\" href=\"{phpLink}\">supported by PHP</a>. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Kullandığınız PHP sürümü ({version}) artık <a target=\"_blank\" href=\"{phpLink}\">PHP tarafından desteklenmiyor</a>. PHP tarafından sağlanan performans ve güvenlik güncellemelerinden faydalanmak için PHP sürümünüzü güncellemenizi öneririz.",
+ "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our <a target=\"_blank\" href=\"{docLink}\">documentation</a>." : "Ters vekil sunucu başlık yapılandırması hatalı veya ownCloud'a güvenilen bir vekil sunucusundan erişiyorsunuz. ownCloud'a güvenilen bir vekil sunucusundan erişmiyorsanız bu bir güvenlik problemidir ve bir saldırganın IP adresinizi taklit etmesine izin verebilir. Ayrıntılı bilgiyi <a target=\"_blank\" href=\"{docLink}\">belgelendirmemizde</a> bulabilirsiniz.",
+ "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached ayrılmış önbellek olarak yapılandırıldı, ancak yanlış PHP modülü \"memcache\" olarak yüklendi. \\OC\\Memcache\\Memcached sadece \"memcached\" olarak desteklenir, \"memcache\" olarak kullanamazsınız. <a target=\"_blank\" href=\"{wikiLink}\">memcached wiki about both modules</a> linkine bakınız.",
+ "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Bazı dosyalar bütünleme sınamasından geçemedi. Bu sorunu çözmek için daha fazla bilgi <a target=\"_blank\" href=\"{docLink}\">belgelendirmemizde</a> bulunabilir. (<a href=\"{codeIntegrityDownloadEndpoint}\">Geçersiz dosyaların listesi…</a> / <a href=\"{rescanEndpoint}\">Yeniden tara…</a>)",
"Error occurred while checking server setup" : "Sunucu yapılandırması denetlenirken hata oluştu",
"Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "data dizininiz ve dosyalarınız büyük ihtimalle İnternet üzerinden erişilebilir. .htaccess dosyası çalışmıyor. Web sunucunuzu yapılandırarak data dizinine erişimi kapatmanızı veya data dizinini web sunucu belge dizini dışına almanızı şiddetle tavsiye ederiz.",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP başlığı \"{expected}\" ile eşleşmek üzere yapılandırılmamış. Bu muhtemel bir güvenlik veya gizlilik riski olduğundan bu ayarı düzeltmenizi öneririz.",
@@ -150,16 +164,24 @@ OC.L10N.register(
"change" : "değiştir",
"delete" : "sil",
"access control" : "erişim kontrolü",
+ "Could not unshare" : "Paylaşım kaldırılamadı",
"Share details could not be loaded for this item." : "Bu öge için paylaşma ayrıntıları yüklenemedi.",
+ "No users or groups found for {search}" : "{search} için kullanıcı veya grup bulunamadı",
"An error occured. Please try again" : "Bir hata oluştu. Lütfen yeniden deneyin",
"Share" : "Paylaş",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "kullanıcı@example.com/owncloud şeklinde diğer ownCloud kullanan diğer kullanıcılarla paylaş",
"Share with users or groups …" : "Kullanıcı ve gruplarla paylaş...",
"Share with users, groups or remote users …" : "Kullanıcılar, gruplar veya uzak kullanıcılarla paylaş ...",
+ "Error removing share" : "Paylaşım kaldırılırken hata",
"Warning" : "Uyarı",
"Error while sending notification" : "Bildirim gönderilirken hata",
+ "Non-existing tag #{tag}" : "Mevcut olmayan etiket #{tag}",
+ "not assignable" : "atanamaz",
+ "invisible" : "görünmez",
+ "({scope})" : "({scope})",
"Delete" : "Sil",
"Rename" : "Yeniden adlandır",
+ "Global tags" : "Genel etiketler",
"The object type is not specified." : "Nesne türü belirtilmemiş.",
"Enter new" : "Yeni girin",
"Add" : "Ekle",
@@ -176,6 +198,7 @@ OC.L10N.register(
"Updating {productName} to version {version}, this may take a while." : "{productName}, {version} sürümüne güncelleniyor, bu biraz zaman alabilir.",
"An error occurred." : "Bir hata oluştu",
"Please reload the page." : "Lütfen sayfayı yeniden yükleyin.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "Güncelleme başarısız oldu. Daha fazla bilgi için bu sorunu kapsayan <a href=\"{url}\">forum gönderimize</a> bakın.",
"The update was unsuccessful. " : "Güncelleştirme başarısız.",
"The update was successful. There were warnings." : "Güncelleme başarılı. Uyarılar mevcut.",
"The update was successful. Redirecting you to ownCloud now." : "Güncelleme başarılı. Şimdi ownCloud'a yönlendiriliyorsunuz.",
@@ -248,6 +271,7 @@ OC.L10N.register(
"Please try again or contact your administrator." : "Lütfen yeniden deneyin veya yöneticinizle iletişim kurun.",
"Log in" : "Giriş yap",
"Wrong password. Reset it?" : "Hatalı parola. Sıfırlansın mı?",
+ "Wrong password." : "Hatalı parola.",
"Stay logged in" : "Bağlı kal",
"Alternative Logins" : "Alternatif Girişler",
"Use the following link to reset your password: {link}" : "Parolanızı sıfırlamak için bu bağlantıyı kullanın: {link}",
diff --git a/core/l10n/tr.json b/core/l10n/tr.json
index 9346ff9e5c6..4a8fb372fe9 100644
--- a/core/l10n/tr.json
+++ b/core/l10n/tr.json
@@ -14,10 +14,15 @@
"Updated \"%s\" to %s" : "\"%s\", %s sürümüne güncellendi",
"Repair warning: " : "Onarım uyarısı:",
"Repair error: " : "Onarım hatası:",
+ "Set log level to debug" : "Günlük seviyesini hata ayıklama olarak ayarla",
+ "Reset log level" : "Günlük seviyesini sıfırla",
+ "Starting code integrity check" : "Kod bütünlük sınaması başlatılıyor",
+ "Finished code integrity check" : "Kod bütünlük sınaması bitti",
"%s (3rdparty)" : "%s (3. parti)",
"%s (incompatible)" : "%s (uyumsuz)",
"Following apps have been disabled: %s" : "Aşağıdaki uygulamalar devre dışı bırakıldı: %s",
"Already up to date" : "Zaten güncel",
+ "Please select a file." : "Lütfen bir dosya seçin.",
"File is too big" : "Dosya çok büyük",
"Invalid file provided" : "Geçersiz dosya sağlandı",
"No image or file provided" : "Resim veya dosya belirtilmedi",
@@ -31,6 +36,7 @@
"Couldn't reset password because the token is invalid" : "Belirteç geçersiz olduğundan parola sıfırlanamadı",
"Couldn't reset password because the token is expired" : "Jeton zaman aşımına uğradığından parola sıfırlanamadı",
"Couldn't send reset email. Please make sure your username is correct." : "Sıfırlama e-postası gönderilemedi. Lütfen kullanıcı adınızın doğru olduğundan emin olun.",
+ "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Sıfırlama e-postası, bu kullanıcı için bir e-posta adresi olmadığından gönderilemedi. Lütfen yöneticiniz ile iletişime geçin.",
"%s password reset" : "%s parola sıfırlama",
"Couldn't send reset email. Please contact your administrator." : "Sıfırlama e-postası gönderilemedi. Lütfen yöneticiniz ile iletişime geçin.",
"Sunday" : "Pazar",
@@ -78,6 +84,7 @@
"Oct." : "Eki.",
"Nov." : "Kas.",
"Dec." : "Ara.",
+ "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Kod bütünlük sınamasında sorunlar oluştu. Daha fazla bilgi…</a>",
"Settings" : "Ayarlar",
"Saving..." : "Kaydediliyor...",
"seconds ago" : "saniyeler önce",
@@ -109,7 +116,14 @@
"Good password" : "İyi parola",
"Strong password" : "Güçlü parola",
"Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Web sunucunuz dosya transferi için düzgün bir şekilde yapılandırılmamış. WevDAV arabirimini sorunlu gözüküyor.",
+ "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" href=\"{docLink}\">documentation</a>." : "Web sunucunuz \"{url}\" çözümlemesini yapmak üzere doğru yapılandırılmaış. Daha fazla bilgi <a href=\"{docLink}\">belgelendirmemizde</a> bulunabilir.",
"This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Bu sunucunun çalışan bir İnternet bağlantısı yok. Bu, harici depolama alanı bağlama, güncelleştirme bildirimleri veya üçüncü parti uygulama kurma gibi bazı özellikler çalışmayacak demektir. Uzak dosyalara erişim ve e-posta ile bildirim gönderme de çalışmayacaktır. Eğer bu özelliklerin tamamını kullanmak istiyorsanız, sunucu için İnternet bağlantısını etkinleştirmenizi öneriyoruz.",
+ "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" href=\"{docLink}\">documentation</a>." : "Hafıza önbelleği ayarlanmamış. Performansın artması için mümkünse lütfen bir memcache ayarlayın. Detaylı bilgiye <a target=\"_blank\" href=\"{docLink}\">belgelendirmemizden</a> ulaşabilirsiniz.",
+ "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" href=\"{docLink}\">documentation</a>." : "Güvenlik sebepleri ile şiddetle kaçınılması gereken /dev/urandom PHP tarafından okunamıyor. Daha fazla bilgi <a target=\"_blank\" href=\"{docLink}\">belgelendirmemizde</a> bulunabilir.",
+ "Your PHP version ({version}) is no longer <a target=\"_blank\" href=\"{phpLink}\">supported by PHP</a>. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Kullandığınız PHP sürümü ({version}) artık <a target=\"_blank\" href=\"{phpLink}\">PHP tarafından desteklenmiyor</a>. PHP tarafından sağlanan performans ve güvenlik güncellemelerinden faydalanmak için PHP sürümünüzü güncellemenizi öneririz.",
+ "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our <a target=\"_blank\" href=\"{docLink}\">documentation</a>." : "Ters vekil sunucu başlık yapılandırması hatalı veya ownCloud'a güvenilen bir vekil sunucusundan erişiyorsunuz. ownCloud'a güvenilen bir vekil sunucusundan erişmiyorsanız bu bir güvenlik problemidir ve bir saldırganın IP adresinizi taklit etmesine izin verebilir. Ayrıntılı bilgiyi <a target=\"_blank\" href=\"{docLink}\">belgelendirmemizde</a> bulabilirsiniz.",
+ "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached ayrılmış önbellek olarak yapılandırıldı, ancak yanlış PHP modülü \"memcache\" olarak yüklendi. \\OC\\Memcache\\Memcached sadece \"memcached\" olarak desteklenir, \"memcache\" olarak kullanamazsınız. <a target=\"_blank\" href=\"{wikiLink}\">memcached wiki about both modules</a> linkine bakınız.",
+ "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Bazı dosyalar bütünleme sınamasından geçemedi. Bu sorunu çözmek için daha fazla bilgi <a target=\"_blank\" href=\"{docLink}\">belgelendirmemizde</a> bulunabilir. (<a href=\"{codeIntegrityDownloadEndpoint}\">Geçersiz dosyaların listesi…</a> / <a href=\"{rescanEndpoint}\">Yeniden tara…</a>)",
"Error occurred while checking server setup" : "Sunucu yapılandırması denetlenirken hata oluştu",
"Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "data dizininiz ve dosyalarınız büyük ihtimalle İnternet üzerinden erişilebilir. .htaccess dosyası çalışmıyor. Web sunucunuzu yapılandırarak data dizinine erişimi kapatmanızı veya data dizinini web sunucu belge dizini dışına almanızı şiddetle tavsiye ederiz.",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP başlığı \"{expected}\" ile eşleşmek üzere yapılandırılmamış. Bu muhtemel bir güvenlik veya gizlilik riski olduğundan bu ayarı düzeltmenizi öneririz.",
@@ -148,16 +162,24 @@
"change" : "değiştir",
"delete" : "sil",
"access control" : "erişim kontrolü",
+ "Could not unshare" : "Paylaşım kaldırılamadı",
"Share details could not be loaded for this item." : "Bu öge için paylaşma ayrıntıları yüklenemedi.",
+ "No users or groups found for {search}" : "{search} için kullanıcı veya grup bulunamadı",
"An error occured. Please try again" : "Bir hata oluştu. Lütfen yeniden deneyin",
"Share" : "Paylaş",
"Share with people on other ownClouds using the syntax username@example.com/owncloud" : "kullanıcı@example.com/owncloud şeklinde diğer ownCloud kullanan diğer kullanıcılarla paylaş",
"Share with users or groups …" : "Kullanıcı ve gruplarla paylaş...",
"Share with users, groups or remote users …" : "Kullanıcılar, gruplar veya uzak kullanıcılarla paylaş ...",
+ "Error removing share" : "Paylaşım kaldırılırken hata",
"Warning" : "Uyarı",
"Error while sending notification" : "Bildirim gönderilirken hata",
+ "Non-existing tag #{tag}" : "Mevcut olmayan etiket #{tag}",
+ "not assignable" : "atanamaz",
+ "invisible" : "görünmez",
+ "({scope})" : "({scope})",
"Delete" : "Sil",
"Rename" : "Yeniden adlandır",
+ "Global tags" : "Genel etiketler",
"The object type is not specified." : "Nesne türü belirtilmemiş.",
"Enter new" : "Yeni girin",
"Add" : "Ekle",
@@ -174,6 +196,7 @@
"Updating {productName} to version {version}, this may take a while." : "{productName}, {version} sürümüne güncelleniyor, bu biraz zaman alabilir.",
"An error occurred." : "Bir hata oluştu",
"Please reload the page." : "Lütfen sayfayı yeniden yükleyin.",
+ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "Güncelleme başarısız oldu. Daha fazla bilgi için bu sorunu kapsayan <a href=\"{url}\">forum gönderimize</a> bakın.",
"The update was unsuccessful. " : "Güncelleştirme başarısız.",
"The update was successful. There were warnings." : "Güncelleme başarılı. Uyarılar mevcut.",
"The update was successful. Redirecting you to ownCloud now." : "Güncelleme başarılı. Şimdi ownCloud'a yönlendiriliyorsunuz.",
@@ -246,6 +269,7 @@
"Please try again or contact your administrator." : "Lütfen yeniden deneyin veya yöneticinizle iletişim kurun.",
"Log in" : "Giriş yap",
"Wrong password. Reset it?" : "Hatalı parola. Sıfırlansın mı?",
+ "Wrong password." : "Hatalı parola.",
"Stay logged in" : "Bağlı kal",
"Alternative Logins" : "Alternatif Girişler",
"Use the following link to reset your password: {link}" : "Parolanızı sıfırlamak için bu bağlantıyı kullanın: {link}",
diff --git a/core/shipped.json b/core/shipped.json
index d15f3ba3ca3..e33269dad75 100644
--- a/core/shipped.json
+++ b/core/shipped.json
@@ -20,7 +20,7 @@
"files_texteditor",
"files_trashbin",
"files_versions",
- "files_videoviewer",
+ "files_videoplayer",
"firewall",
"firstrunwizard",
"gallery",
diff --git a/l10n/.tx/config b/l10n/.tx/config
index a91a236641e..acb2daec6c7 100644
--- a/l10n/.tx/config
+++ b/l10n/.tx/config
@@ -62,3 +62,33 @@ source_file = templates/user_ldap.pot
source_lang = en
type = PO
+[owncloud.comments]
+file_filter = <lang>/comments.po
+source_file = templates/comments.pot
+source_lang = en
+type = PO
+
+[owncloud.federatedfilesharing]
+file_filter = <lang>/federatedfilesharing.po
+source_file = templates/federatedfilesharing.pot
+source_lang = en
+type = PO
+
+[owncloud.federation]
+file_filter = <lang>/federation.po
+source_file = templates/federation.pot
+source_lang = en
+type = PO
+
+[owncloud.systemtags]
+file_filter = <lang>/systemtags.po
+source_file = templates/systemtags.pot
+source_lang = en
+type = PO
+
+[owncloud.updatenotification]
+file_filter = <lang>/updatenotification.po
+source_file = templates/updatenotification.pot
+source_lang = en
+type = PO
+
diff --git a/lib/base.php b/lib/base.php
index fc4a99287d0..df4e91dda9f 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -692,7 +692,7 @@ class OC {
);
$tmpl = new OCP\Template('core', 'untrustedDomain', 'guest');
- $tmpl->assign('domain', $request->server['SERVER_NAME']);
+ $tmpl->assign('domain', $host);
$tmpl->printPage();
exit();
diff --git a/lib/l10n/ast.js b/lib/l10n/ast.js
index 45939c5d99f..ce68c41b09d 100644
--- a/lib/l10n/ast.js
+++ b/lib/l10n/ast.js
@@ -46,7 +46,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Nun pue instalase l'aplicación por causa d'un códigu non permitíu na App",
"App can't be installed because it is not compatible with this version of ownCloud" : "Nun pue instalase l'aplicación porque nun ye compatible con esta versión d'ownCloud.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "L'aplicación nun pue instalase porque contién la etiqueta <shipped>true</shipped> que nun ta permitida p'aplicaciones non distribuyíes",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Nun pue instalase l'aplicación porque'l númberu de versión en info.xml/version nun ye'l mesmu que la versión qu'apaez na app store",
"Application is not enabled" : "L'aplicación nun ta habilitada",
"Authentication error" : "Fallu d'autenticación",
"Token expired. Please reload page." : "Token caducáu. Recarga la páxina.",
diff --git a/lib/l10n/ast.json b/lib/l10n/ast.json
index 794bf0134a9..bd6facfd558 100644
--- a/lib/l10n/ast.json
+++ b/lib/l10n/ast.json
@@ -44,7 +44,6 @@
"App can't be installed because of not allowed code in the App" : "Nun pue instalase l'aplicación por causa d'un códigu non permitíu na App",
"App can't be installed because it is not compatible with this version of ownCloud" : "Nun pue instalase l'aplicación porque nun ye compatible con esta versión d'ownCloud.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "L'aplicación nun pue instalase porque contién la etiqueta <shipped>true</shipped> que nun ta permitida p'aplicaciones non distribuyíes",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Nun pue instalase l'aplicación porque'l númberu de versión en info.xml/version nun ye'l mesmu que la versión qu'apaez na app store",
"Application is not enabled" : "L'aplicación nun ta habilitada",
"Authentication error" : "Fallu d'autenticación",
"Token expired. Please reload page." : "Token caducáu. Recarga la páxina.",
diff --git a/lib/l10n/bg_BG.js b/lib/l10n/bg_BG.js
index 37a87706159..d54276316de 100644
--- a/lib/l10n/bg_BG.js
+++ b/lib/l10n/bg_BG.js
@@ -44,7 +44,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Приложението няма да бъде инсталирано, защото използва неразрешен код.",
"App can't be installed because it is not compatible with this version of ownCloud" : "Приложението няма да бъде инсталирано, защото не е съвместимо с текущата версия на ownCloud.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Приложението няма да бъде инсталирано, защото съдържа <shipped>true</shipped>, който таг не е разрешен за не ship-нати приложения.",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Приложението няма да бъде инсталирано, защото версията в info.xml/version не съвпада с версията публикувана в магазина за приложения.",
"Application is not enabled" : "Приложението не е включено",
"Authentication error" : "Проблем с идентификацията",
"Token expired. Please reload page." : "Изтекла сесия. Моля, презареди страницата.",
diff --git a/lib/l10n/bg_BG.json b/lib/l10n/bg_BG.json
index c26aaa692ff..eaadb8f974e 100644
--- a/lib/l10n/bg_BG.json
+++ b/lib/l10n/bg_BG.json
@@ -42,7 +42,6 @@
"App can't be installed because of not allowed code in the App" : "Приложението няма да бъде инсталирано, защото използва неразрешен код.",
"App can't be installed because it is not compatible with this version of ownCloud" : "Приложението няма да бъде инсталирано, защото не е съвместимо с текущата версия на ownCloud.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Приложението няма да бъде инсталирано, защото съдържа <shipped>true</shipped>, който таг не е разрешен за не ship-нати приложения.",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Приложението няма да бъде инсталирано, защото версията в info.xml/version не съвпада с версията публикувана в магазина за приложения.",
"Application is not enabled" : "Приложението не е включено",
"Authentication error" : "Проблем с идентификацията",
"Token expired. Please reload page." : "Изтекла сесия. Моля, презареди страницата.",
diff --git a/lib/l10n/bn_BD.js b/lib/l10n/bn_BD.js
index 333d19ae14d..493601aa9d1 100644
--- a/lib/l10n/bn_BD.js
+++ b/lib/l10n/bn_BD.js
@@ -26,7 +26,6 @@ OC.L10N.register(
"App does not provide an info.xml file" : "অ্যাপের সঙ্গে একটি info.xml ফাইল নেই",
"App can't be installed because of not allowed code in the App" : "অ্যাপের সাথে অননুমোদিত কোড থাকায় অ্যাপটি ইনস্টল করা যাবেনা",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "অ্যাপ ইনস্টল করা যাবেনা কারণ এতে ননশিপড অ্যাপ এর জন্য অননুমোদিত <shipped>true</shipped> ট্যাগ বিদ্যমান ",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : " info.xml/version এর উল্লেখিত সংষ্করণ এবং অ্যাপ স্টোর হতে প্রদান করা সংষ্করণ একরকম না হওয়াতে অ্যাপটি ইনস্টল করা যাবেনা",
"Application is not enabled" : "অ্যাপ্লিকেসনটি সক্রিয় নয়",
"Authentication error" : "অনুমোদন ঘটিত সমস্যা",
"Token expired. Please reload page." : "টোকেন মেয়াদোত্তীর্ণ। দয়া করে পৃষ্ঠাটি পূনরায় লোড করুন।",
diff --git a/lib/l10n/bn_BD.json b/lib/l10n/bn_BD.json
index 2bf6620dc8a..e3c2b378042 100644
--- a/lib/l10n/bn_BD.json
+++ b/lib/l10n/bn_BD.json
@@ -24,7 +24,6 @@
"App does not provide an info.xml file" : "অ্যাপের সঙ্গে একটি info.xml ফাইল নেই",
"App can't be installed because of not allowed code in the App" : "অ্যাপের সাথে অননুমোদিত কোড থাকায় অ্যাপটি ইনস্টল করা যাবেনা",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "অ্যাপ ইনস্টল করা যাবেনা কারণ এতে ননশিপড অ্যাপ এর জন্য অননুমোদিত <shipped>true</shipped> ট্যাগ বিদ্যমান ",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : " info.xml/version এর উল্লেখিত সংষ্করণ এবং অ্যাপ স্টোর হতে প্রদান করা সংষ্করণ একরকম না হওয়াতে অ্যাপটি ইনস্টল করা যাবেনা",
"Application is not enabled" : "অ্যাপ্লিকেসনটি সক্রিয় নয়",
"Authentication error" : "অনুমোদন ঘটিত সমস্যা",
"Token expired. Please reload page." : "টোকেন মেয়াদোত্তীর্ণ। দয়া করে পৃষ্ঠাটি পূনরায় লোড করুন।",
diff --git a/lib/l10n/ca.js b/lib/l10n/ca.js
index ce74bc408a3..16fa1535a87 100644
--- a/lib/l10n/ca.js
+++ b/lib/l10n/ca.js
@@ -36,7 +36,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "L'aplicació no es pot instal·lar perquè hi ha codi no autoritzat en l'aplicació",
"App can't be installed because it is not compatible with this version of ownCloud" : "L'aplicació no es pot instal·lar perquè no és compatible amb aquesta versió d'ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "L'aplicació no es pot instal·lar perquè conté l'etiqueta <shipped>vertader</shipped> que no es permet per aplicacions no enviades",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "L'aplicació no es pot instal·lar perquè la versió a info.xml/version no és la mateixa que la versió indicada des de la botiga d'aplicacions",
"Application is not enabled" : "L'aplicació no està habilitada",
"Authentication error" : "Error d'autenticació",
"Token expired. Please reload page." : "El testimoni ha expirat. Torneu a carregar la pàgina.",
diff --git a/lib/l10n/ca.json b/lib/l10n/ca.json
index a0ae70b95fa..38ea9302081 100644
--- a/lib/l10n/ca.json
+++ b/lib/l10n/ca.json
@@ -34,7 +34,6 @@
"App can't be installed because of not allowed code in the App" : "L'aplicació no es pot instal·lar perquè hi ha codi no autoritzat en l'aplicació",
"App can't be installed because it is not compatible with this version of ownCloud" : "L'aplicació no es pot instal·lar perquè no és compatible amb aquesta versió d'ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "L'aplicació no es pot instal·lar perquè conté l'etiqueta <shipped>vertader</shipped> que no es permet per aplicacions no enviades",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "L'aplicació no es pot instal·lar perquè la versió a info.xml/version no és la mateixa que la versió indicada des de la botiga d'aplicacions",
"Application is not enabled" : "L'aplicació no està habilitada",
"Authentication error" : "Error d'autenticació",
"Token expired. Please reload page." : "El testimoni ha expirat. Torneu a carregar la pàgina.",
diff --git a/lib/l10n/cs_CZ.js b/lib/l10n/cs_CZ.js
index dfc114816ec..a68a1e0d627 100644
--- a/lib/l10n/cs_CZ.js
+++ b/lib/l10n/cs_CZ.js
@@ -60,7 +60,7 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Aplikace nemůže být nainstalována, protože obsahuje nepovolený kód",
"App can't be installed because it is not compatible with this version of ownCloud" : "Aplikace nemůže být nainstalována, protože není kompatibilní s touto verzí ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Aplikace nemůže být nainstalována, protože obsahuje značku\n<shipped>\n\ntrue\n</shipped>\n\ncož není povoleno pro nedodávané aplikace",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Aplikace nemůže být nainstalována, protože verze uvedená v info.xml/version nesouhlasí s verzí oznámenou z úložiště aplikací.",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "Aplikace nemůže být nainstalována, protože verze uvedená v info.xml nesouhlasí s verzí oznámenou z úložiště aplikací.",
"Application is not enabled" : "Aplikace není povolena",
"Authentication error" : "Chyba ověření",
"Token expired. Please reload page." : "Token vypršel. Obnovte prosím stránku.",
diff --git a/lib/l10n/cs_CZ.json b/lib/l10n/cs_CZ.json
index a729493c09c..a85998ff589 100644
--- a/lib/l10n/cs_CZ.json
+++ b/lib/l10n/cs_CZ.json
@@ -58,7 +58,7 @@
"App can't be installed because of not allowed code in the App" : "Aplikace nemůže být nainstalována, protože obsahuje nepovolený kód",
"App can't be installed because it is not compatible with this version of ownCloud" : "Aplikace nemůže být nainstalována, protože není kompatibilní s touto verzí ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Aplikace nemůže být nainstalována, protože obsahuje značku\n<shipped>\n\ntrue\n</shipped>\n\ncož není povoleno pro nedodávané aplikace",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Aplikace nemůže být nainstalována, protože verze uvedená v info.xml/version nesouhlasí s verzí oznámenou z úložiště aplikací.",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "Aplikace nemůže být nainstalována, protože verze uvedená v info.xml nesouhlasí s verzí oznámenou z úložiště aplikací.",
"Application is not enabled" : "Aplikace není povolena",
"Authentication error" : "Chyba ověření",
"Token expired. Please reload page." : "Token vypršel. Obnovte prosím stránku.",
diff --git a/lib/l10n/da.js b/lib/l10n/da.js
index 4fab1992d42..cfa5ab8e4a3 100644
--- a/lib/l10n/da.js
+++ b/lib/l10n/da.js
@@ -59,7 +59,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Appen kan ikke installeres, da den indeholder ikke-tilladt kode",
"App can't be installed because it is not compatible with this version of ownCloud" : "Appen kan ikke installeres, da den ikke er kompatibel med denne version af ownCloud.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Appen kan ikke installeres, da den indeholder mærket <shipped>true</shipped>, hvilket ikke er tilladt for ikke-medfølgende apps",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "App kan ikke installeres, da versionen i info.xml/version ikke er den samme som versionen rapporteret fra app-storen",
"Application is not enabled" : "Programmet er ikke aktiveret",
"Authentication error" : "Adgangsfejl",
"Token expired. Please reload page." : "Adgang er udløbet. Genindlæs siden.",
diff --git a/lib/l10n/da.json b/lib/l10n/da.json
index d4d4d16135a..28dd378e9bc 100644
--- a/lib/l10n/da.json
+++ b/lib/l10n/da.json
@@ -57,7 +57,6 @@
"App can't be installed because of not allowed code in the App" : "Appen kan ikke installeres, da den indeholder ikke-tilladt kode",
"App can't be installed because it is not compatible with this version of ownCloud" : "Appen kan ikke installeres, da den ikke er kompatibel med denne version af ownCloud.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Appen kan ikke installeres, da den indeholder mærket <shipped>true</shipped>, hvilket ikke er tilladt for ikke-medfølgende apps",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "App kan ikke installeres, da versionen i info.xml/version ikke er den samme som versionen rapporteret fra app-storen",
"Application is not enabled" : "Programmet er ikke aktiveret",
"Authentication error" : "Adgangsfejl",
"Token expired. Please reload page." : "Adgang er udløbet. Genindlæs siden.",
diff --git a/lib/l10n/de.js b/lib/l10n/de.js
index 0b5e385d781..c8eebcfce04 100644
--- a/lib/l10n/de.js
+++ b/lib/l10n/de.js
@@ -59,7 +59,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Die App kann nicht installiert werden, weil sie unerlaubten Code enthält",
"App can't be installed because it is not compatible with this version of ownCloud" : "Die App kann nicht installiert werden, weil sie mit dieser Version von ownCloud nicht kompatibel ist",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Die App kann nicht installiert werden, weil sie den <shipped>true</shipped>-Tag enthält, der bei Apps, die nicht zum Standardumfang von ownCloud gehören, nicht erlaubt ist",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Die App kann nicht installiert werden, weil die Version in info.xml/version nicht mit der Version aus dem App Store übereinstimmt",
"Application is not enabled" : "Die App ist nicht aktiviert",
"Authentication error" : "Authentifizierungsfehler",
"Token expired. Please reload page." : "Token abgelaufen. Bitte lade die Seite neu.",
diff --git a/lib/l10n/de.json b/lib/l10n/de.json
index 79495ea008f..b38a8d052fb 100644
--- a/lib/l10n/de.json
+++ b/lib/l10n/de.json
@@ -57,7 +57,6 @@
"App can't be installed because of not allowed code in the App" : "Die App kann nicht installiert werden, weil sie unerlaubten Code enthält",
"App can't be installed because it is not compatible with this version of ownCloud" : "Die App kann nicht installiert werden, weil sie mit dieser Version von ownCloud nicht kompatibel ist",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Die App kann nicht installiert werden, weil sie den <shipped>true</shipped>-Tag enthält, der bei Apps, die nicht zum Standardumfang von ownCloud gehören, nicht erlaubt ist",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Die App kann nicht installiert werden, weil die Version in info.xml/version nicht mit der Version aus dem App Store übereinstimmt",
"Application is not enabled" : "Die App ist nicht aktiviert",
"Authentication error" : "Authentifizierungsfehler",
"Token expired. Please reload page." : "Token abgelaufen. Bitte lade die Seite neu.",
diff --git a/lib/l10n/de_DE.js b/lib/l10n/de_DE.js
index b434ac56aad..2c4719a68ee 100644
--- a/lib/l10n/de_DE.js
+++ b/lib/l10n/de_DE.js
@@ -58,7 +58,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Die App kann nicht installiert werden, weil sie unerlaubten Code enthält",
"App can't be installed because it is not compatible with this version of ownCloud" : "Die Anwendung konnte nicht installiert werden, weil Sie nicht mit dieser Version von ownCloud kompatibel ist.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Die App kann nicht installiert werden, weil sie den <shipped>true</shipped>-Tag enthält, der bei Apps, die nicht zum Standardumfang von ownCloud gehören, nicht erlaubt ist",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Die Applikation konnte nicht installiert werden, da die Version in der info.xml nicht die gleiche Version wie im App-Store ist",
"Application is not enabled" : "Die Anwendung ist nicht aktiviert",
"Authentication error" : "Authentifizierungsfehler",
"Token expired. Please reload page." : "Token abgelaufen. Bitte laden Sie die Seite neu.",
diff --git a/lib/l10n/de_DE.json b/lib/l10n/de_DE.json
index 09ce050c452..a0033aab485 100644
--- a/lib/l10n/de_DE.json
+++ b/lib/l10n/de_DE.json
@@ -56,7 +56,6 @@
"App can't be installed because of not allowed code in the App" : "Die App kann nicht installiert werden, weil sie unerlaubten Code enthält",
"App can't be installed because it is not compatible with this version of ownCloud" : "Die Anwendung konnte nicht installiert werden, weil Sie nicht mit dieser Version von ownCloud kompatibel ist.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Die App kann nicht installiert werden, weil sie den <shipped>true</shipped>-Tag enthält, der bei Apps, die nicht zum Standardumfang von ownCloud gehören, nicht erlaubt ist",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Die Applikation konnte nicht installiert werden, da die Version in der info.xml nicht die gleiche Version wie im App-Store ist",
"Application is not enabled" : "Die Anwendung ist nicht aktiviert",
"Authentication error" : "Authentifizierungsfehler",
"Token expired. Please reload page." : "Token abgelaufen. Bitte laden Sie die Seite neu.",
diff --git a/lib/l10n/el.js b/lib/l10n/el.js
index 209f35f040d..75bde20823e 100644
--- a/lib/l10n/el.js
+++ b/lib/l10n/el.js
@@ -56,7 +56,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Η εφαρμογή δεν μπορεί να εγκατασταθεί λόγω μη-επιτρεπόμενου κώδικα μέσα στην Εφαρμογή",
"App can't be installed because it is not compatible with this version of ownCloud" : "Η εφαρμογή δεν μπορεί να εγκατασταθεί επειδή δεν είναι συμβατή με αυτή την έκδοση ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Η εφαρμογή δεν μπορεί να εγκατασταθεί επειδή περιέχει την ετικέτα <shipped>σωστή</shipped> που δεν επιτρέπεται για μη-ενσωματωμένες εφαρμογές",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Η εφαρμογή δεν μπορεί να εγκατασταθεί επειδή η έκδοση στο info.xml/version δεν είναι η ίδια με την έκδοση που αναφέρεται στο κατάστημα εφαρμογών",
"Application is not enabled" : "Δεν ενεργοποιήθηκε η εφαρμογή",
"Authentication error" : "Σφάλμα πιστοποίησης",
"Token expired. Please reload page." : "Το αναγνωριστικό έληξε. Παρακαλώ φορτώστε ξανά την σελίδα.",
diff --git a/lib/l10n/el.json b/lib/l10n/el.json
index f5976188506..be3760d6d62 100644
--- a/lib/l10n/el.json
+++ b/lib/l10n/el.json
@@ -54,7 +54,6 @@
"App can't be installed because of not allowed code in the App" : "Η εφαρμογή δεν μπορεί να εγκατασταθεί λόγω μη-επιτρεπόμενου κώδικα μέσα στην Εφαρμογή",
"App can't be installed because it is not compatible with this version of ownCloud" : "Η εφαρμογή δεν μπορεί να εγκατασταθεί επειδή δεν είναι συμβατή με αυτή την έκδοση ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Η εφαρμογή δεν μπορεί να εγκατασταθεί επειδή περιέχει την ετικέτα <shipped>σωστή</shipped> που δεν επιτρέπεται για μη-ενσωματωμένες εφαρμογές",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Η εφαρμογή δεν μπορεί να εγκατασταθεί επειδή η έκδοση στο info.xml/version δεν είναι η ίδια με την έκδοση που αναφέρεται στο κατάστημα εφαρμογών",
"Application is not enabled" : "Δεν ενεργοποιήθηκε η εφαρμογή",
"Authentication error" : "Σφάλμα πιστοποίησης",
"Token expired. Please reload page." : "Το αναγνωριστικό έληξε. Παρακαλώ φορτώστε ξανά την σελίδα.",
diff --git a/lib/l10n/en_GB.js b/lib/l10n/en_GB.js
index a36477d2d2a..b75551708be 100644
--- a/lib/l10n/en_GB.js
+++ b/lib/l10n/en_GB.js
@@ -55,7 +55,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "App can't be installed because of unallowed code in the App",
"App can't be installed because it is not compatible with this version of ownCloud" : "App can't be installed because it is not compatible with this version of ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store",
"Application is not enabled" : "Application is not enabled",
"Authentication error" : "Authentication error",
"Token expired. Please reload page." : "Token expired. Please reload page.",
diff --git a/lib/l10n/en_GB.json b/lib/l10n/en_GB.json
index b5785acef58..c44cafd39e9 100644
--- a/lib/l10n/en_GB.json
+++ b/lib/l10n/en_GB.json
@@ -53,7 +53,6 @@
"App can't be installed because of not allowed code in the App" : "App can't be installed because of unallowed code in the App",
"App can't be installed because it is not compatible with this version of ownCloud" : "App can't be installed because it is not compatible with this version of ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store",
"Application is not enabled" : "Application is not enabled",
"Authentication error" : "Authentication error",
"Token expired. Please reload page." : "Token expired. Please reload page.",
diff --git a/lib/l10n/es.js b/lib/l10n/es.js
index 6ed1111f6d5..e0ade5c7b5d 100644
--- a/lib/l10n/es.js
+++ b/lib/l10n/es.js
@@ -60,7 +60,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "La aplicación no puede ser instalada por tener código no autorizado en la aplicación",
"App can't be installed because it is not compatible with this version of ownCloud" : "La aplicación no se puede instalar porque no es compatible con esta versión de ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "La aplicación no se puede instalar porque contiene la etiqueta\n<shipped>\ntrue\n</shipped>\nque no está permitida para aplicaciones no distribuidas",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "La aplicación no puede ser instalada por que la versión en info.xml/version no es la misma que la establecida en la app store",
"Application is not enabled" : "La aplicación no está habilitada",
"Authentication error" : "Error de autenticación",
"Token expired. Please reload page." : "Token expirado. Por favor, recarge la página.",
diff --git a/lib/l10n/es.json b/lib/l10n/es.json
index e64686f5b84..d77247e08a0 100644
--- a/lib/l10n/es.json
+++ b/lib/l10n/es.json
@@ -58,7 +58,6 @@
"App can't be installed because of not allowed code in the App" : "La aplicación no puede ser instalada por tener código no autorizado en la aplicación",
"App can't be installed because it is not compatible with this version of ownCloud" : "La aplicación no se puede instalar porque no es compatible con esta versión de ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "La aplicación no se puede instalar porque contiene la etiqueta\n<shipped>\ntrue\n</shipped>\nque no está permitida para aplicaciones no distribuidas",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "La aplicación no puede ser instalada por que la versión en info.xml/version no es la misma que la establecida en la app store",
"Application is not enabled" : "La aplicación no está habilitada",
"Authentication error" : "Error de autenticación",
"Token expired. Please reload page." : "Token expirado. Por favor, recarge la página.",
diff --git a/lib/l10n/es_AR.js b/lib/l10n/es_AR.js
index aff2406c699..fe720d08a8e 100644
--- a/lib/l10n/es_AR.js
+++ b/lib/l10n/es_AR.js
@@ -29,7 +29,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "No puede ser instalada la app por tener código no autorizado",
"App can't be installed because it is not compatible with this version of ownCloud" : "No se puede instalar la app porque no es compatible con esta versión de ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "La app no se puede instalar porque contiene la etiqueta <shipped>true</shipped> que no está permitida para apps no distribuidas",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "La app no puede ser instalada porque la versión en info.xml/version no es la misma que la establecida en el app store",
"Application is not enabled" : "La aplicación no está habilitada",
"Authentication error" : "Error al autenticar",
"Token expired. Please reload page." : "Token expirado. Por favor, recargá la página.",
diff --git a/lib/l10n/es_AR.json b/lib/l10n/es_AR.json
index 4cbbb8ad93f..5a3b56f425a 100644
--- a/lib/l10n/es_AR.json
+++ b/lib/l10n/es_AR.json
@@ -27,7 +27,6 @@
"App can't be installed because of not allowed code in the App" : "No puede ser instalada la app por tener código no autorizado",
"App can't be installed because it is not compatible with this version of ownCloud" : "No se puede instalar la app porque no es compatible con esta versión de ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "La app no se puede instalar porque contiene la etiqueta <shipped>true</shipped> que no está permitida para apps no distribuidas",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "La app no puede ser instalada porque la versión en info.xml/version no es la misma que la establecida en el app store",
"Application is not enabled" : "La aplicación no está habilitada",
"Authentication error" : "Error al autenticar",
"Token expired. Please reload page." : "Token expirado. Por favor, recargá la página.",
diff --git a/lib/l10n/es_MX.js b/lib/l10n/es_MX.js
index b9cbf96c7af..a101b28da43 100644
--- a/lib/l10n/es_MX.js
+++ b/lib/l10n/es_MX.js
@@ -34,7 +34,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "La aplicación no puede ser instalada por tener código no autorizado en la aplicación",
"App can't be installed because it is not compatible with this version of ownCloud" : "La aplicación no se puede instalar porque no es compatible con esta versión de ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "La aplicación no se puede instalar porque contiene la etiqueta\n<shipped>\ntrue\n</shipped>\nque no está permitida para aplicaciones no distribuidas",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "La aplicación no puede ser instalada por que la versión en info.xml/version no es la misma que la establecida en la app store",
"Application is not enabled" : "La aplicación no está habilitada",
"Authentication error" : "Error de autenticación",
"Token expired. Please reload page." : "Token expirado. Por favor, recarga la página.",
diff --git a/lib/l10n/es_MX.json b/lib/l10n/es_MX.json
index 53db7b10151..2550ce6ab97 100644
--- a/lib/l10n/es_MX.json
+++ b/lib/l10n/es_MX.json
@@ -32,7 +32,6 @@
"App can't be installed because of not allowed code in the App" : "La aplicación no puede ser instalada por tener código no autorizado en la aplicación",
"App can't be installed because it is not compatible with this version of ownCloud" : "La aplicación no se puede instalar porque no es compatible con esta versión de ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "La aplicación no se puede instalar porque contiene la etiqueta\n<shipped>\ntrue\n</shipped>\nque no está permitida para aplicaciones no distribuidas",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "La aplicación no puede ser instalada por que la versión en info.xml/version no es la misma que la establecida en la app store",
"Application is not enabled" : "La aplicación no está habilitada",
"Authentication error" : "Error de autenticación",
"Token expired. Please reload page." : "Token expirado. Por favor, recarga la página.",
diff --git a/lib/l10n/et_EE.js b/lib/l10n/et_EE.js
index 397114f5886..adae17c841c 100644
--- a/lib/l10n/et_EE.js
+++ b/lib/l10n/et_EE.js
@@ -48,7 +48,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Rakendit ei saa paigaldada, kuna sisaldab lubamatud koodi",
"App can't be installed because it is not compatible with this version of ownCloud" : "Rakendit ei saa paigaldada, kuna see pole ühilduv selle ownCloud versiooniga.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Rakendit ei saa paigaldada, kuna see sisaldab \n<shipped>\n\ntrue\n</shipped>\nmärgendit, mis pole lubatud mitte veetud (non shipped) rakendites",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Rakendit ei saa paigaldada, kuna selle versioon info.xml/version pole sama, mis on märgitud rakendite laos.",
"Application is not enabled" : "Rakendus pole sisse lülitatud",
"Authentication error" : "Autentimise viga",
"Token expired. Please reload page." : "Kontrollkood aegus. Paelun lae leht uuesti.",
diff --git a/lib/l10n/et_EE.json b/lib/l10n/et_EE.json
index 3716cc59f51..68340a6b965 100644
--- a/lib/l10n/et_EE.json
+++ b/lib/l10n/et_EE.json
@@ -46,7 +46,6 @@
"App can't be installed because of not allowed code in the App" : "Rakendit ei saa paigaldada, kuna sisaldab lubamatud koodi",
"App can't be installed because it is not compatible with this version of ownCloud" : "Rakendit ei saa paigaldada, kuna see pole ühilduv selle ownCloud versiooniga.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Rakendit ei saa paigaldada, kuna see sisaldab \n<shipped>\n\ntrue\n</shipped>\nmärgendit, mis pole lubatud mitte veetud (non shipped) rakendites",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Rakendit ei saa paigaldada, kuna selle versioon info.xml/version pole sama, mis on märgitud rakendite laos.",
"Application is not enabled" : "Rakendus pole sisse lülitatud",
"Authentication error" : "Autentimise viga",
"Token expired. Please reload page." : "Kontrollkood aegus. Paelun lae leht uuesti.",
diff --git a/lib/l10n/eu.js b/lib/l10n/eu.js
index 56499eb89fa..3afefbdda80 100644
--- a/lib/l10n/eu.js
+++ b/lib/l10n/eu.js
@@ -47,7 +47,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Aplikazioa ezin da instalatu bertan duen baimendu gabeko kodea dela eta",
"App can't be installed because it is not compatible with this version of ownCloud" : "Aplikazioa ezin da instalatu ownCloud bertsio honekin bateragarria ez delako",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Aplikazioa ezin da instalatu <shipped>true</shipped> etiketa duelako eta etiketa hau ez da onartzen banaketan ez datozen aplikazioetan",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Aplikazioa ezin da instalatu info.xml/version bertsioa ez delako \"app store\"an jartzen duenaren berdina",
"Application is not enabled" : "Aplikazioa ez dago gaituta",
"Authentication error" : "Autentifikazio errorea",
"Token expired. Please reload page." : "Tokena iraungitu da. Mesedez birkargatu orria.",
diff --git a/lib/l10n/eu.json b/lib/l10n/eu.json
index 91547707f32..2894b851dc7 100644
--- a/lib/l10n/eu.json
+++ b/lib/l10n/eu.json
@@ -45,7 +45,6 @@
"App can't be installed because of not allowed code in the App" : "Aplikazioa ezin da instalatu bertan duen baimendu gabeko kodea dela eta",
"App can't be installed because it is not compatible with this version of ownCloud" : "Aplikazioa ezin da instalatu ownCloud bertsio honekin bateragarria ez delako",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Aplikazioa ezin da instalatu <shipped>true</shipped> etiketa duelako eta etiketa hau ez da onartzen banaketan ez datozen aplikazioetan",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Aplikazioa ezin da instalatu info.xml/version bertsioa ez delako \"app store\"an jartzen duenaren berdina",
"Application is not enabled" : "Aplikazioa ez dago gaituta",
"Authentication error" : "Autentifikazio errorea",
"Token expired. Please reload page." : "Tokena iraungitu da. Mesedez birkargatu orria.",
diff --git a/lib/l10n/fi_FI.js b/lib/l10n/fi_FI.js
index 8b273fcc238..5da8b1e2ab5 100644
--- a/lib/l10n/fi_FI.js
+++ b/lib/l10n/fi_FI.js
@@ -57,7 +57,7 @@ OC.L10N.register(
"Signature could not get checked. Please contact the app developer and check your admin screen." : "Allekirjoituksen tarkistaminen ei onnistunut. Ota yhteys sovelluskehittäjään ja tarkista ylläpitonäkymä.",
"App can't be installed because of not allowed code in the App" : "Sovellusta ei voi asentaa, koska sovellus sisältää kiellettyä koodia",
"App can't be installed because it is not compatible with this version of ownCloud" : "Sovellusta ei voi asentaa, koska se ei ole yhteensopiva käytössä olevan ownCloud-version kanssa",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Sovellusta ei voi asentaa, koska info.xml/version ilmoittaa versioksi eri arvon kuin sovelluskauppa",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "Sovelluksen asennus ei onnistu, koska sen info.xml:ssä ilmoitettu versio ei ole sama kuin sovelluskaupassa ilmoitettu versio",
"Application is not enabled" : "Sovellusta ei ole otettu käyttöön",
"Authentication error" : "Tunnistautumisvirhe",
"Token expired. Please reload page." : "Valtuutus vanheni. Lataa sivu uudelleen.",
@@ -77,6 +77,7 @@ OC.L10N.register(
"Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Poista open_basedir-asetus php.ini-tiedostosta tai vaihda 64-bittiseen PHP:hen.",
"Set an admin username." : "Aseta ylläpitäjän käyttäjätunnus.",
"Set an admin password." : "Aseta ylläpitäjän salasana.",
+ "Invalid Federated Cloud ID" : "Virheellinen federoidun pilven tunniste",
"%s shared »%s« with you" : "%s jakoi kohteen »%s« kanssasi",
"Sharing %s failed, because the file does not exist" : "Kohteen %s jakaminen epäonnistui, koska tiedostoa ei ole olemassa",
"You are not allowed to share %s" : "Oikeutesi eivät riitä kohteen %s jakamiseen.",
diff --git a/lib/l10n/fi_FI.json b/lib/l10n/fi_FI.json
index 3db25f9f220..8e6a639846c 100644
--- a/lib/l10n/fi_FI.json
+++ b/lib/l10n/fi_FI.json
@@ -55,7 +55,7 @@
"Signature could not get checked. Please contact the app developer and check your admin screen." : "Allekirjoituksen tarkistaminen ei onnistunut. Ota yhteys sovelluskehittäjään ja tarkista ylläpitonäkymä.",
"App can't be installed because of not allowed code in the App" : "Sovellusta ei voi asentaa, koska sovellus sisältää kiellettyä koodia",
"App can't be installed because it is not compatible with this version of ownCloud" : "Sovellusta ei voi asentaa, koska se ei ole yhteensopiva käytössä olevan ownCloud-version kanssa",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Sovellusta ei voi asentaa, koska info.xml/version ilmoittaa versioksi eri arvon kuin sovelluskauppa",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "Sovelluksen asennus ei onnistu, koska sen info.xml:ssä ilmoitettu versio ei ole sama kuin sovelluskaupassa ilmoitettu versio",
"Application is not enabled" : "Sovellusta ei ole otettu käyttöön",
"Authentication error" : "Tunnistautumisvirhe",
"Token expired. Please reload page." : "Valtuutus vanheni. Lataa sivu uudelleen.",
@@ -75,6 +75,7 @@
"Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Poista open_basedir-asetus php.ini-tiedostosta tai vaihda 64-bittiseen PHP:hen.",
"Set an admin username." : "Aseta ylläpitäjän käyttäjätunnus.",
"Set an admin password." : "Aseta ylläpitäjän salasana.",
+ "Invalid Federated Cloud ID" : "Virheellinen federoidun pilven tunniste",
"%s shared »%s« with you" : "%s jakoi kohteen »%s« kanssasi",
"Sharing %s failed, because the file does not exist" : "Kohteen %s jakaminen epäonnistui, koska tiedostoa ei ole olemassa",
"You are not allowed to share %s" : "Oikeutesi eivät riitä kohteen %s jakamiseen.",
diff --git a/lib/l10n/fr.js b/lib/l10n/fr.js
index 24bfced6f7c..08b83e8dc75 100644
--- a/lib/l10n/fr.js
+++ b/lib/l10n/fr.js
@@ -60,7 +60,7 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "L'application ne peut être installée car elle contient du code non-autorisé",
"App can't be installed because it is not compatible with this version of ownCloud" : "L'application ne peut être installée car elle n'est pas compatible avec cette version de ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "L'application ne peut être installée car elle contient la balise <shipped>true</shipped> qui n'est pas autorisée pour les applications non incluses par défaut",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "L'application ne peut être installée car la version dans info.xml/version n'est pas identique à celle indiquée sur l'app store",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "L'App ne peut pas être installé car la version dans info.xml diffère de la version signalée par l' app store",
"Application is not enabled" : "L'application n'est pas activée",
"Authentication error" : "Erreur d'authentification",
"Token expired. Please reload page." : "La session a expiré. Veuillez recharger la page.",
diff --git a/lib/l10n/fr.json b/lib/l10n/fr.json
index bacb0a4211b..7541b6b93b0 100644
--- a/lib/l10n/fr.json
+++ b/lib/l10n/fr.json
@@ -58,7 +58,7 @@
"App can't be installed because of not allowed code in the App" : "L'application ne peut être installée car elle contient du code non-autorisé",
"App can't be installed because it is not compatible with this version of ownCloud" : "L'application ne peut être installée car elle n'est pas compatible avec cette version de ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "L'application ne peut être installée car elle contient la balise <shipped>true</shipped> qui n'est pas autorisée pour les applications non incluses par défaut",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "L'application ne peut être installée car la version dans info.xml/version n'est pas identique à celle indiquée sur l'app store",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "L'App ne peut pas être installé car la version dans info.xml diffère de la version signalée par l' app store",
"Application is not enabled" : "L'application n'est pas activée",
"Authentication error" : "Erreur d'authentification",
"Token expired. Please reload page." : "La session a expiré. Veuillez recharger la page.",
diff --git a/lib/l10n/gl.js b/lib/l10n/gl.js
index fa6435e8559..cece8a9076a 100644
--- a/lib/l10n/gl.js
+++ b/lib/l10n/gl.js
@@ -58,7 +58,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Non é posíbel instalar a aplicación por mor de conter código non permitido",
"App can't be installed because it is not compatible with this version of ownCloud" : "Non é posíbel instalar a aplicación por non seren compatíbel con esta versión do ownCloud.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Non é posíbel instalar a aplicación por conter a etiqueta <shipped>true</shipped> que non está permitida para as aplicacións non enviadas",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Non é posíbel instalar a aplicación xa que a versión en info.xml/version non é a mesma que a versión informada desde a App Store",
"Application is not enabled" : "A aplicación non está activada",
"Authentication error" : "Produciuse un erro de autenticación",
"Token expired. Please reload page." : "Testemuña caducada. Recargue a páxina.",
diff --git a/lib/l10n/gl.json b/lib/l10n/gl.json
index 781e880bbc0..c98788a9894 100644
--- a/lib/l10n/gl.json
+++ b/lib/l10n/gl.json
@@ -56,7 +56,6 @@
"App can't be installed because of not allowed code in the App" : "Non é posíbel instalar a aplicación por mor de conter código non permitido",
"App can't be installed because it is not compatible with this version of ownCloud" : "Non é posíbel instalar a aplicación por non seren compatíbel con esta versión do ownCloud.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Non é posíbel instalar a aplicación por conter a etiqueta <shipped>true</shipped> que non está permitida para as aplicacións non enviadas",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Non é posíbel instalar a aplicación xa que a versión en info.xml/version non é a mesma que a versión informada desde a App Store",
"Application is not enabled" : "A aplicación non está activada",
"Authentication error" : "Produciuse un erro de autenticación",
"Token expired. Please reload page." : "Testemuña caducada. Recargue a páxina.",
diff --git a/lib/l10n/he.js b/lib/l10n/he.js
index 5d7236a7604..1c9060ccc62 100644
--- a/lib/l10n/he.js
+++ b/lib/l10n/he.js
@@ -62,8 +62,12 @@ OC.L10N.register(
"DB Error: \"%s\"" : "שגיאת מסד נתונים: \"%s\"",
"Set an admin username." : "קביעת שם משתמש מנהל",
"Set an admin password." : "קביעת סיסמת מנהל",
+ "Invalid Federated Cloud ID" : "זיהוי ענן מאוגד לא חוקי",
"%s shared »%s« with you" : "%s שיתף/שיתפה איתך את »%s«",
"%s via %s" : "%s על בסיס %s",
+ "Sharing %s failed, because this item is already shared with %s" : "שיתוף %s נכשל, כיוון שפריט זה כבר משותף עם %s",
+ "Not allowed to create a federated share with the same user" : "אסור ליצור שיתוף מאוגד עם אותו משתמש",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "שיתוף %s נכשל, לא ניתן לאתר %s, ייתכן שהשרת לא ניתן להשגה כרגע.",
"Expiration date is in the past" : "תאריך תפוגה הנו בעבר",
"Could not find category \"%s\"" : "לא ניתן למצוא את הקטגוריה „%s“",
"Apps" : "יישומים",
diff --git a/lib/l10n/he.json b/lib/l10n/he.json
index 69e8a16657a..189040d796d 100644
--- a/lib/l10n/he.json
+++ b/lib/l10n/he.json
@@ -60,8 +60,12 @@
"DB Error: \"%s\"" : "שגיאת מסד נתונים: \"%s\"",
"Set an admin username." : "קביעת שם משתמש מנהל",
"Set an admin password." : "קביעת סיסמת מנהל",
+ "Invalid Federated Cloud ID" : "זיהוי ענן מאוגד לא חוקי",
"%s shared »%s« with you" : "%s שיתף/שיתפה איתך את »%s«",
"%s via %s" : "%s על בסיס %s",
+ "Sharing %s failed, because this item is already shared with %s" : "שיתוף %s נכשל, כיוון שפריט זה כבר משותף עם %s",
+ "Not allowed to create a federated share with the same user" : "אסור ליצור שיתוף מאוגד עם אותו משתמש",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "שיתוף %s נכשל, לא ניתן לאתר %s, ייתכן שהשרת לא ניתן להשגה כרגע.",
"Expiration date is in the past" : "תאריך תפוגה הנו בעבר",
"Could not find category \"%s\"" : "לא ניתן למצוא את הקטגוריה „%s“",
"Apps" : "יישומים",
diff --git a/lib/l10n/hr.js b/lib/l10n/hr.js
index 4d7ce340625..2f3b6616180 100644
--- a/lib/l10n/hr.js
+++ b/lib/l10n/hr.js
@@ -41,7 +41,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Aplikaciju nije moguće instalirati zbog nedopuštenog koda u njoj.",
"App can't be installed because it is not compatible with this version of ownCloud" : "Aplikaciju nije moguće instalirati jer nije kompatibilna s ovom verzijom ownClouda.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Aplikaciju nije moguće instalirati jer sadrži oznaku <otpremljeno>istinito</otpremljeno>.",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Aplikaciju nije moguće instalirati jer verzija u info.xml/version nije ista kaoverzija koju je prijavio app store",
"Application is not enabled" : "Aplikacija nije aktivirana",
"Authentication error" : "Pogrešna autentikacija",
"Token expired. Please reload page." : "Token je istekao. Molimo, ponovno učitajte stranicu.",
diff --git a/lib/l10n/hr.json b/lib/l10n/hr.json
index e17183ed169..166f509e2f0 100644
--- a/lib/l10n/hr.json
+++ b/lib/l10n/hr.json
@@ -39,7 +39,6 @@
"App can't be installed because of not allowed code in the App" : "Aplikaciju nije moguće instalirati zbog nedopuštenog koda u njoj.",
"App can't be installed because it is not compatible with this version of ownCloud" : "Aplikaciju nije moguće instalirati jer nije kompatibilna s ovom verzijom ownClouda.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Aplikaciju nije moguće instalirati jer sadrži oznaku <otpremljeno>istinito</otpremljeno>.",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Aplikaciju nije moguće instalirati jer verzija u info.xml/version nije ista kaoverzija koju je prijavio app store",
"Application is not enabled" : "Aplikacija nije aktivirana",
"Authentication error" : "Pogrešna autentikacija",
"Token expired. Please reload page." : "Token je istekao. Molimo, ponovno učitajte stranicu.",
diff --git a/lib/l10n/hu_HU.js b/lib/l10n/hu_HU.js
index 6a6b0dfaaf3..626bd0c44a3 100644
--- a/lib/l10n/hu_HU.js
+++ b/lib/l10n/hu_HU.js
@@ -52,7 +52,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Az alkalmazást nem lehet telepíteni, mert abban nem engedélyezett programkód szerepel",
"App can't be installed because it is not compatible with this version of ownCloud" : "Az alkalmazás nem telepíthető, mert nem kompatibilis az ownCloud jelen verziójával.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Az alkalmazást nem lehet telepíteni, mert tartalmazza a \n<shipped>\ntrue\n</shipped>\ncímkét, ami a nem szállított alkalmazások esetén nem engedélyezett",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Az alkalmazást nem lehet telepíteni, mert az info.xml/version-ben megadott verzió nem egyezik az alkalmazás-kiszolgálón feltüntetett verzióval.",
"Application is not enabled" : "Az alkalmazás nincs engedélyezve",
"Authentication error" : "Azonosítási hiba",
"Token expired. Please reload page." : "A token lejárt. Frissítse az oldalt.",
diff --git a/lib/l10n/hu_HU.json b/lib/l10n/hu_HU.json
index 18c27c859e1..dde921ce3b1 100644
--- a/lib/l10n/hu_HU.json
+++ b/lib/l10n/hu_HU.json
@@ -50,7 +50,6 @@
"App can't be installed because of not allowed code in the App" : "Az alkalmazást nem lehet telepíteni, mert abban nem engedélyezett programkód szerepel",
"App can't be installed because it is not compatible with this version of ownCloud" : "Az alkalmazás nem telepíthető, mert nem kompatibilis az ownCloud jelen verziójával.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Az alkalmazást nem lehet telepíteni, mert tartalmazza a \n<shipped>\ntrue\n</shipped>\ncímkét, ami a nem szállított alkalmazások esetén nem engedélyezett",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Az alkalmazást nem lehet telepíteni, mert az info.xml/version-ben megadott verzió nem egyezik az alkalmazás-kiszolgálón feltüntetett verzióval.",
"Application is not enabled" : "Az alkalmazás nincs engedélyezve",
"Authentication error" : "Azonosítási hiba",
"Token expired. Please reload page." : "A token lejárt. Frissítse az oldalt.",
diff --git a/lib/l10n/id.js b/lib/l10n/id.js
index 10848fd80f4..d158492ebee 100644
--- a/lib/l10n/id.js
+++ b/lib/l10n/id.js
@@ -59,7 +59,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Apl tidak dapat diinstal karena terdapat kode yang tidak diizinkan didalam Apl",
"App can't be installed because it is not compatible with this version of ownCloud" : "Apl tidak dapat diinstal karena tidak kompatibel dengan versi ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Apl tidak dapat diinstal karena mengandung tag <shipped>true</shipped> yang tidak diizinkan untuk apl yang bukan bawaan.",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Apl tidak dapat diinstal karena versi di info.xml/versi tidak sama dengan versi yang dilansir dari toko apl",
"Application is not enabled" : "Aplikasi tidak diaktifkan",
"Authentication error" : "Galat saat otentikasi",
"Token expired. Please reload page." : "Token sudah kedaluwarsa. Silakan muat ulang halaman.",
diff --git a/lib/l10n/id.json b/lib/l10n/id.json
index a5edae82d83..db1be730970 100644
--- a/lib/l10n/id.json
+++ b/lib/l10n/id.json
@@ -57,7 +57,6 @@
"App can't be installed because of not allowed code in the App" : "Apl tidak dapat diinstal karena terdapat kode yang tidak diizinkan didalam Apl",
"App can't be installed because it is not compatible with this version of ownCloud" : "Apl tidak dapat diinstal karena tidak kompatibel dengan versi ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Apl tidak dapat diinstal karena mengandung tag <shipped>true</shipped> yang tidak diizinkan untuk apl yang bukan bawaan.",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Apl tidak dapat diinstal karena versi di info.xml/versi tidak sama dengan versi yang dilansir dari toko apl",
"Application is not enabled" : "Aplikasi tidak diaktifkan",
"Authentication error" : "Galat saat otentikasi",
"Token expired. Please reload page." : "Token sudah kedaluwarsa. Silakan muat ulang halaman.",
diff --git a/lib/l10n/it.js b/lib/l10n/it.js
index 7aab74e24e5..3265cc30edd 100644
--- a/lib/l10n/it.js
+++ b/lib/l10n/it.js
@@ -60,7 +60,7 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "L'applicazione non può essere installata a causa di codice non consentito al suo interno",
"App can't be installed because it is not compatible with this version of ownCloud" : "L'applicazione non può essere installata poiché non è compatibile con questa versione di ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "L'applicazione non può essere installata poiché contiene il tag <shipped>true<shipped> che è consentito per le applicazioni native",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "L'applicazione non può essere installata poiché la versione in info.xml/version non è la stessa riportata dall'app store",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "L'applicazione non può essere installata poiché la versione nel file info.xml non è la stessa riportata dall'app store",
"Application is not enabled" : "L'applicazione non è abilitata",
"Authentication error" : "Errore di autenticazione",
"Token expired. Please reload page." : "Token scaduto. Ricarica la pagina.",
diff --git a/lib/l10n/it.json b/lib/l10n/it.json
index f4238e6e598..c891d1a765c 100644
--- a/lib/l10n/it.json
+++ b/lib/l10n/it.json
@@ -58,7 +58,7 @@
"App can't be installed because of not allowed code in the App" : "L'applicazione non può essere installata a causa di codice non consentito al suo interno",
"App can't be installed because it is not compatible with this version of ownCloud" : "L'applicazione non può essere installata poiché non è compatibile con questa versione di ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "L'applicazione non può essere installata poiché contiene il tag <shipped>true<shipped> che è consentito per le applicazioni native",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "L'applicazione non può essere installata poiché la versione in info.xml/version non è la stessa riportata dall'app store",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "L'applicazione non può essere installata poiché la versione nel file info.xml non è la stessa riportata dall'app store",
"Application is not enabled" : "L'applicazione non è abilitata",
"Authentication error" : "Errore di autenticazione",
"Token expired. Please reload page." : "Token scaduto. Ricarica la pagina.",
diff --git a/lib/l10n/ja.js b/lib/l10n/ja.js
index 971a622f0fc..09fac28e3bf 100644
--- a/lib/l10n/ja.js
+++ b/lib/l10n/ja.js
@@ -60,7 +60,7 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "アプリで許可されないコードが入っているのが原因でアプリがインストールできません",
"App can't be installed because it is not compatible with this version of ownCloud" : "アプリは、このバージョンのownCloudと互換性がないためインストールできません。",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "非shippedアプリには許可されない<shipped>true</shipped>タグが含まれているためにアプリをインストールできません。",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "info.xml/versionのバージョンがアプリストアのバージョンと合っていないため、アプリはインストールされません",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "info.xmlのバージョンがアプリストアのバージョンと合っていないため、アプリはインストールされません",
"Application is not enabled" : "アプリケーションは無効です",
"Authentication error" : "認証エラー",
"Token expired. Please reload page." : "トークンが無効になりました。ページを再読込してください。",
diff --git a/lib/l10n/ja.json b/lib/l10n/ja.json
index defcbdffebd..ec545533e64 100644
--- a/lib/l10n/ja.json
+++ b/lib/l10n/ja.json
@@ -58,7 +58,7 @@
"App can't be installed because of not allowed code in the App" : "アプリで許可されないコードが入っているのが原因でアプリがインストールできません",
"App can't be installed because it is not compatible with this version of ownCloud" : "アプリは、このバージョンのownCloudと互換性がないためインストールできません。",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "非shippedアプリには許可されない<shipped>true</shipped>タグが含まれているためにアプリをインストールできません。",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "info.xml/versionのバージョンがアプリストアのバージョンと合っていないため、アプリはインストールされません",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "info.xmlのバージョンがアプリストアのバージョンと合っていないため、アプリはインストールされません",
"Application is not enabled" : "アプリケーションは無効です",
"Authentication error" : "認証エラー",
"Token expired. Please reload page." : "トークンが無効になりました。ページを再読込してください。",
diff --git a/lib/l10n/ko.js b/lib/l10n/ko.js
index afdbd56bd6a..cb447f8d69a 100644
--- a/lib/l10n/ko.js
+++ b/lib/l10n/ko.js
@@ -59,7 +59,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "앱에 허용되지 않는 코드가 있어서 앱을 설치할 수 없습니다.",
"App can't be installed because it is not compatible with this version of ownCloud" : "현재 ownCloud 버전과 호환되지 않기 때문에 앱을 설치할 수 없습니다.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "출시되지 않은 앱에 허용되지 않는 <shipped>true</shipped> 태그를 포함하고 있기 때문에 앱을 설치할 수 없습니다.",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "info.xml/version에 포함된 버전과 앱 스토어에 보고된 버전이 같지 않아서 앱을 설치할 수 없습니다.",
"Application is not enabled" : "앱이 활성화되지 않았습니다",
"Authentication error" : "인증 오류",
"Token expired. Please reload page." : "토큰이 만료되었습니다. 페이지를 새로 고치십시오.",
diff --git a/lib/l10n/ko.json b/lib/l10n/ko.json
index 910c004a73d..b967df66ff4 100644
--- a/lib/l10n/ko.json
+++ b/lib/l10n/ko.json
@@ -57,7 +57,6 @@
"App can't be installed because of not allowed code in the App" : "앱에 허용되지 않는 코드가 있어서 앱을 설치할 수 없습니다.",
"App can't be installed because it is not compatible with this version of ownCloud" : "현재 ownCloud 버전과 호환되지 않기 때문에 앱을 설치할 수 없습니다.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "출시되지 않은 앱에 허용되지 않는 <shipped>true</shipped> 태그를 포함하고 있기 때문에 앱을 설치할 수 없습니다.",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "info.xml/version에 포함된 버전과 앱 스토어에 보고된 버전이 같지 않아서 앱을 설치할 수 없습니다.",
"Application is not enabled" : "앱이 활성화되지 않았습니다",
"Authentication error" : "인증 오류",
"Token expired. Please reload page." : "토큰이 만료되었습니다. 페이지를 새로 고치십시오.",
diff --git a/lib/l10n/lt_LT.js b/lib/l10n/lt_LT.js
index 402167cb3c6..937cf28cef5 100644
--- a/lib/l10n/lt_LT.js
+++ b/lib/l10n/lt_LT.js
@@ -37,7 +37,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Programa negali būti įdiegta, nes turi neleistiną kodą",
"App can't be installed because it is not compatible with this version of ownCloud" : "Programa negali būti įdiegta, nes yra nesuderinama su šia ownCloud versija",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Programa negali būti įdiegta, nes turi <shipped>true</shipped> žymę, kuri yra neleistina ne kartu platinamoms programoms",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Programa negali būti įdiegta, nes versija pateikta info.xml/version nesutampa su versija deklaruota programų saugykloje",
"Application is not enabled" : "Programa neįjungta",
"Authentication error" : "Autentikacijos klaida",
"Token expired. Please reload page." : "Sesija baigėsi. Prašome perkrauti puslapį.",
diff --git a/lib/l10n/lt_LT.json b/lib/l10n/lt_LT.json
index c4efe386655..93299728b32 100644
--- a/lib/l10n/lt_LT.json
+++ b/lib/l10n/lt_LT.json
@@ -35,7 +35,6 @@
"App can't be installed because of not allowed code in the App" : "Programa negali būti įdiegta, nes turi neleistiną kodą",
"App can't be installed because it is not compatible with this version of ownCloud" : "Programa negali būti įdiegta, nes yra nesuderinama su šia ownCloud versija",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Programa negali būti įdiegta, nes turi <shipped>true</shipped> žymę, kuri yra neleistina ne kartu platinamoms programoms",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Programa negali būti įdiegta, nes versija pateikta info.xml/version nesutampa su versija deklaruota programų saugykloje",
"Application is not enabled" : "Programa neįjungta",
"Authentication error" : "Autentikacijos klaida",
"Token expired. Please reload page." : "Sesija baigėsi. Prašome perkrauti puslapį.",
diff --git a/lib/l10n/nb_NO.js b/lib/l10n/nb_NO.js
index 2dbf45e950b..3bf5421f01a 100644
--- a/lib/l10n/nb_NO.js
+++ b/lib/l10n/nb_NO.js
@@ -60,7 +60,7 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "App kan ikke installeres på grunn av ulovlig kode i appen.",
"App can't be installed because it is not compatible with this version of ownCloud" : "App kan ikke installeres fordi den ikke er kompatibel med denne versjonen av ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "App kan ikke installeres fordi den inneholder tag <shipped>true</shipped> som ikke er tillatt for apper som ikke leveres med systemet",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "App kan ikke installeres fordi versjonen i info.xml/version ikke er den samme som versjonen som rapporteres fra app-butikken",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "App kan ikke installeres fordi versjonen i info.xml ikke er den samme som versjonen som rapporteres fra app-butikken",
"Application is not enabled" : "Applikasjon er ikke påslått",
"Authentication error" : "Autentikasjonsfeil",
"Token expired. Please reload page." : "Symbol utløpt. Vennligst last inn siden på nytt.",
@@ -118,7 +118,9 @@ OC.L10N.register(
"Cannot set expiration date more than %s days in the future" : "Kan ikke sette utløpsdato mer enn %s dager fram i tid",
"Could not find category \"%s\"" : "Kunne ikke finne kategori \"%s\"",
"Apps" : "Apper",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Bare disse tegnene tillates i et brukernavn: \"a-z\", \"A-Z\", \"0-9\" og \"_.@-'\"",
"A valid username must be provided" : "Oppgi et gyldig brukernavn",
+ "Username contains whitespace at the beginning or at the end" : "Brukernavn inneholder blanke på begynnelsen eller slutten",
"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.",
diff --git a/lib/l10n/nb_NO.json b/lib/l10n/nb_NO.json
index d93e32b7469..21bbc1bf411 100644
--- a/lib/l10n/nb_NO.json
+++ b/lib/l10n/nb_NO.json
@@ -58,7 +58,7 @@
"App can't be installed because of not allowed code in the App" : "App kan ikke installeres på grunn av ulovlig kode i appen.",
"App can't be installed because it is not compatible with this version of ownCloud" : "App kan ikke installeres fordi den ikke er kompatibel med denne versjonen av ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "App kan ikke installeres fordi den inneholder tag <shipped>true</shipped> som ikke er tillatt for apper som ikke leveres med systemet",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "App kan ikke installeres fordi versjonen i info.xml/version ikke er den samme som versjonen som rapporteres fra app-butikken",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "App kan ikke installeres fordi versjonen i info.xml ikke er den samme som versjonen som rapporteres fra app-butikken",
"Application is not enabled" : "Applikasjon er ikke påslått",
"Authentication error" : "Autentikasjonsfeil",
"Token expired. Please reload page." : "Symbol utløpt. Vennligst last inn siden på nytt.",
@@ -116,7 +116,9 @@
"Cannot set expiration date more than %s days in the future" : "Kan ikke sette utløpsdato mer enn %s dager fram i tid",
"Could not find category \"%s\"" : "Kunne ikke finne kategori \"%s\"",
"Apps" : "Apper",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Bare disse tegnene tillates i et brukernavn: \"a-z\", \"A-Z\", \"0-9\" og \"_.@-'\"",
"A valid username must be provided" : "Oppgi et gyldig brukernavn",
+ "Username contains whitespace at the beginning or at the end" : "Brukernavn inneholder blanke på begynnelsen eller slutten",
"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.",
diff --git a/lib/l10n/nl.js b/lib/l10n/nl.js
index 9e009e6d180..5a22e147df3 100644
--- a/lib/l10n/nl.js
+++ b/lib/l10n/nl.js
@@ -60,7 +60,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "De app kan niet worden geïnstalleerd wegens onjuiste code in de app",
"App can't be installed because it is not compatible with this version of ownCloud" : "De app kan niet worden geïnstalleerd omdat die niet compatible is met deze versie van ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "De app kan niet worden geïnstallerd omdat het de <shipped>true</shipped> tag bevat die niet is toegestaan voor niet gepubliceerde apps",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "De app kan niet worden geïnstalleerd omdat de versie in info.xml/version niet dezelfde is als de versie zoals die in de app store staat vermeld",
"Application is not enabled" : "De applicatie is niet actief",
"Authentication error" : "Authenticatie fout",
"Token expired. Please reload page." : "Token verlopen. Herlaad de pagina.",
diff --git a/lib/l10n/nl.json b/lib/l10n/nl.json
index 22b125ab713..2af4fad7e88 100644
--- a/lib/l10n/nl.json
+++ b/lib/l10n/nl.json
@@ -58,7 +58,6 @@
"App can't be installed because of not allowed code in the App" : "De app kan niet worden geïnstalleerd wegens onjuiste code in de app",
"App can't be installed because it is not compatible with this version of ownCloud" : "De app kan niet worden geïnstalleerd omdat die niet compatible is met deze versie van ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "De app kan niet worden geïnstallerd omdat het de <shipped>true</shipped> tag bevat die niet is toegestaan voor niet gepubliceerde apps",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "De app kan niet worden geïnstalleerd omdat de versie in info.xml/version niet dezelfde is als de versie zoals die in de app store staat vermeld",
"Application is not enabled" : "De applicatie is niet actief",
"Authentication error" : "Authenticatie fout",
"Token expired. Please reload page." : "Token verlopen. Herlaad de pagina.",
diff --git a/lib/l10n/oc.js b/lib/l10n/oc.js
index 74eeaa4a2ed..961f4889177 100644
--- a/lib/l10n/oc.js
+++ b/lib/l10n/oc.js
@@ -58,7 +58,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "L'aplicacion pòt pas èsser installada perque conten de còde pas autorizat",
"App can't be installed because it is not compatible with this version of ownCloud" : "L'aplicacion pòt pas èsser installada perque es pas compatibla amb aquesta version d'ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "L'aplicacion pòt pas èsser installada perque conten la balisa <shipped>true</shipped> qu'es pas autorizada per las aplicacions non inclusas per defaut",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "L'aplicacion pòt pas èsser installada perque la version dins info.xml/version es pas identica a la qu'es indicada sus l'app store",
"Application is not enabled" : "L'aplicacion es pas activada",
"Authentication error" : "Error d'autentificacion",
"Token expired. Please reload page." : "La session a expirat. Recargatz la pagina.",
diff --git a/lib/l10n/oc.json b/lib/l10n/oc.json
index 20fb3c52851..e855ab6bd6b 100644
--- a/lib/l10n/oc.json
+++ b/lib/l10n/oc.json
@@ -56,7 +56,6 @@
"App can't be installed because of not allowed code in the App" : "L'aplicacion pòt pas èsser installada perque conten de còde pas autorizat",
"App can't be installed because it is not compatible with this version of ownCloud" : "L'aplicacion pòt pas èsser installada perque es pas compatibla amb aquesta version d'ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "L'aplicacion pòt pas èsser installada perque conten la balisa <shipped>true</shipped> qu'es pas autorizada per las aplicacions non inclusas per defaut",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "L'aplicacion pòt pas èsser installada perque la version dins info.xml/version es pas identica a la qu'es indicada sus l'app store",
"Application is not enabled" : "L'aplicacion es pas activada",
"Authentication error" : "Error d'autentificacion",
"Token expired. Please reload page." : "La session a expirat. Recargatz la pagina.",
diff --git a/lib/l10n/pl.js b/lib/l10n/pl.js
index 76318fc8acb..c432b8c1301 100644
--- a/lib/l10n/pl.js
+++ b/lib/l10n/pl.js
@@ -46,7 +46,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Aplikacja nie może być zainstalowany ponieważ nie dopuszcza kod w aplikacji",
"App can't be installed because it is not compatible with this version of ownCloud" : "Aplikacja nie może zostać zainstalowana ponieważ jest niekompatybilna z tą wersja ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Aplikacja nie może być zainstalowana ponieważ true tag nie jest <shipped>true</shipped> , co nie jest dozwolone dla aplikacji nie wysłanych",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Nie można zainstalować aplikacji, ponieważ w wersji info.xml/version nie jest taka sama, jak wersja z app store",
"Application is not enabled" : "Aplikacja nie jest włączona",
"Authentication error" : "Błąd uwierzytelniania",
"Token expired. Please reload page." : "Token wygasł. Proszę ponownie załadować stronę.",
diff --git a/lib/l10n/pl.json b/lib/l10n/pl.json
index 2bd882c012f..b48d1c49f09 100644
--- a/lib/l10n/pl.json
+++ b/lib/l10n/pl.json
@@ -44,7 +44,6 @@
"App can't be installed because of not allowed code in the App" : "Aplikacja nie może być zainstalowany ponieważ nie dopuszcza kod w aplikacji",
"App can't be installed because it is not compatible with this version of ownCloud" : "Aplikacja nie może zostać zainstalowana ponieważ jest niekompatybilna z tą wersja ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Aplikacja nie może być zainstalowana ponieważ true tag nie jest <shipped>true</shipped> , co nie jest dozwolone dla aplikacji nie wysłanych",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Nie można zainstalować aplikacji, ponieważ w wersji info.xml/version nie jest taka sama, jak wersja z app store",
"Application is not enabled" : "Aplikacja nie jest włączona",
"Authentication error" : "Błąd uwierzytelniania",
"Token expired. Please reload page." : "Token wygasł. Proszę ponownie załadować stronę.",
diff --git a/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js
index 9baa9f51a44..faa690f29c2 100644
--- a/lib/l10n/pt_BR.js
+++ b/lib/l10n/pt_BR.js
@@ -60,7 +60,7 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "O aplicativo não pode ser instalado por causa do código não permitido no Aplivativo",
"App can't be installed because it is not compatible with this version of ownCloud" : "O aplicativo não pode ser instalado porque não é compatível com esta versão do ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "O aplicativo não pode ser instalado porque ele contém a marca <shipped>verdadeiro</shipped> que não é permitido para aplicações não embarcadas",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "O aplicativo não pode ser instalado porque a versão em info.xml/versão não é a mesma que a versão relatada na App Store",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "O aplicativo não pode ser instalado porque a versão em info.xml não é o mesmo que a versão relatada na App Store",
"Application is not enabled" : "Aplicação não está habilitada",
"Authentication error" : "Erro de autenticação",
"Token expired. Please reload page." : "Token expirou. Por favor recarregue a página.",
diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json
index e2bb90fd0ce..60d9ea436b7 100644
--- a/lib/l10n/pt_BR.json
+++ b/lib/l10n/pt_BR.json
@@ -58,7 +58,7 @@
"App can't be installed because of not allowed code in the App" : "O aplicativo não pode ser instalado por causa do código não permitido no Aplivativo",
"App can't be installed because it is not compatible with this version of ownCloud" : "O aplicativo não pode ser instalado porque não é compatível com esta versão do ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "O aplicativo não pode ser instalado porque ele contém a marca <shipped>verdadeiro</shipped> que não é permitido para aplicações não embarcadas",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "O aplicativo não pode ser instalado porque a versão em info.xml/versão não é a mesma que a versão relatada na App Store",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "O aplicativo não pode ser instalado porque a versão em info.xml não é o mesmo que a versão relatada na App Store",
"Application is not enabled" : "Aplicação não está habilitada",
"Authentication error" : "Erro de autenticação",
"Token expired. Please reload page." : "Token expirou. Por favor recarregue a página.",
diff --git a/lib/l10n/pt_PT.js b/lib/l10n/pt_PT.js
index 9ea7b813e70..6d8efd9fc12 100644
--- a/lib/l10n/pt_PT.js
+++ b/lib/l10n/pt_PT.js
@@ -57,7 +57,7 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "A aplicação não pode ser instalado devido a código não permitido dentro da aplicação",
"App can't be installed because it is not compatible with this version of ownCloud" : "A aplicação não pode ser instalada por não ser compatível com esta versão do ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Esta aplicação não pode ser instalada por que contém o tag <shipped>true</shipped> que só é permitido para aplicações nativas",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Esta aplicação não pode ser instalada porque a versão no info.xml/version não coincide com a reportada na loja de aplicações",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "Esta aplicação não pode ser instalada porque a versão no info.xml não coincide com a reportada na loja de aplicações",
"Application is not enabled" : "A aplicação não está activada",
"Authentication error" : "Erro na autenticação",
"Token expired. Please reload page." : "O token expirou. Por favor recarregue a página.",
diff --git a/lib/l10n/pt_PT.json b/lib/l10n/pt_PT.json
index 60a31bb4393..74a7438c422 100644
--- a/lib/l10n/pt_PT.json
+++ b/lib/l10n/pt_PT.json
@@ -55,7 +55,7 @@
"App can't be installed because of not allowed code in the App" : "A aplicação não pode ser instalado devido a código não permitido dentro da aplicação",
"App can't be installed because it is not compatible with this version of ownCloud" : "A aplicação não pode ser instalada por não ser compatível com esta versão do ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Esta aplicação não pode ser instalada por que contém o tag <shipped>true</shipped> que só é permitido para aplicações nativas",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Esta aplicação não pode ser instalada porque a versão no info.xml/version não coincide com a reportada na loja de aplicações",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "Esta aplicação não pode ser instalada porque a versão no info.xml não coincide com a reportada na loja de aplicações",
"Application is not enabled" : "A aplicação não está activada",
"Authentication error" : "Erro na autenticação",
"Token expired. Please reload page." : "O token expirou. Por favor recarregue a página.",
diff --git a/lib/l10n/ru.js b/lib/l10n/ru.js
index 14a2b11dc01..486d00c0391 100644
--- a/lib/l10n/ru.js
+++ b/lib/l10n/ru.js
@@ -60,7 +60,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Приложение невозможно установить. В нем содержится запрещенный код.",
"App can't be installed because it is not compatible with this version of ownCloud" : "Приложение невозможно установить. Не совместимо с текущей версией ownCloud.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Приложение невозможно установить. Оно содержит параметр <shipped>true</shipped> который не допустим для приложений, не входящих в поставку.",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Приложение невозможно установить. Версия в info.xml/version не совпадает с версией заявленной в магазине приложений",
"Application is not enabled" : "Приложение не разрешено",
"Authentication error" : "Ошибка аутентификации",
"Token expired. Please reload page." : "Токен просрочен. Перезагрузите страницу.",
@@ -120,6 +119,7 @@ OC.L10N.register(
"Apps" : "Приложения",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "В качестве имени пользователя допускаются следующие символы: \"a-z\", \"A-Z\", \"0-9\" и \"_.@-'\"",
"A valid username must be provided" : "Укажите правильное имя пользователя",
+ "Username contains whitespace at the beginning or at the end" : "Имя пользователя содержит пробел в начале или в конце",
"A valid password must be provided" : "Укажите правильный пароль",
"The username is already being used" : "Имя пользователя уже используется",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Не установлены драйвера баз данных (sqlite, mysql или postgresql)",
diff --git a/lib/l10n/ru.json b/lib/l10n/ru.json
index 592abd22e81..52766f67dd3 100644
--- a/lib/l10n/ru.json
+++ b/lib/l10n/ru.json
@@ -58,7 +58,6 @@
"App can't be installed because of not allowed code in the App" : "Приложение невозможно установить. В нем содержится запрещенный код.",
"App can't be installed because it is not compatible with this version of ownCloud" : "Приложение невозможно установить. Не совместимо с текущей версией ownCloud.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Приложение невозможно установить. Оно содержит параметр <shipped>true</shipped> который не допустим для приложений, не входящих в поставку.",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Приложение невозможно установить. Версия в info.xml/version не совпадает с версией заявленной в магазине приложений",
"Application is not enabled" : "Приложение не разрешено",
"Authentication error" : "Ошибка аутентификации",
"Token expired. Please reload page." : "Токен просрочен. Перезагрузите страницу.",
@@ -118,6 +117,7 @@
"Apps" : "Приложения",
"Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "В качестве имени пользователя допускаются следующие символы: \"a-z\", \"A-Z\", \"0-9\" и \"_.@-'\"",
"A valid username must be provided" : "Укажите правильное имя пользователя",
+ "Username contains whitespace at the beginning or at the end" : "Имя пользователя содержит пробел в начале или в конце",
"A valid password must be provided" : "Укажите правильный пароль",
"The username is already being used" : "Имя пользователя уже используется",
"No database drivers (sqlite, mysql, or postgresql) installed." : "Не установлены драйвера баз данных (sqlite, mysql или postgresql)",
diff --git a/lib/l10n/sk_SK.js b/lib/l10n/sk_SK.js
index b644fea0b9e..962deaa4c37 100644
--- a/lib/l10n/sk_SK.js
+++ b/lib/l10n/sk_SK.js
@@ -59,7 +59,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Aplikácia nemôže byť nainštalovaná pre nepovolený kód v aplikácii",
"App can't be installed because it is not compatible with this version of ownCloud" : "Aplikácia nemôže byť nainštalovaná pre nekompatibilitu z touto verziou ownCloudu",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Aplikácia nemôže byť nainštalovaná pretože obsahuje značku<shipped>true</shipped>, ktorá nie je povolená pre nedodávané aplikácie",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Aplikácia nemôže byť nainštalovaná pretože verzia v info.xml/version nezodpovedá verzii špecifikovanej v obchode s aplikáciami",
"Application is not enabled" : "Aplikácia nie je zapnutá",
"Authentication error" : "Chyba autentifikácie",
"Token expired. Please reload page." : "Token vypršal. Obnovte, prosím, stránku.",
diff --git a/lib/l10n/sk_SK.json b/lib/l10n/sk_SK.json
index 9d02a1d264b..da5af2befd5 100644
--- a/lib/l10n/sk_SK.json
+++ b/lib/l10n/sk_SK.json
@@ -57,7 +57,6 @@
"App can't be installed because of not allowed code in the App" : "Aplikácia nemôže byť nainštalovaná pre nepovolený kód v aplikácii",
"App can't be installed because it is not compatible with this version of ownCloud" : "Aplikácia nemôže byť nainštalovaná pre nekompatibilitu z touto verziou ownCloudu",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Aplikácia nemôže byť nainštalovaná pretože obsahuje značku<shipped>true</shipped>, ktorá nie je povolená pre nedodávané aplikácie",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Aplikácia nemôže byť nainštalovaná pretože verzia v info.xml/version nezodpovedá verzii špecifikovanej v obchode s aplikáciami",
"Application is not enabled" : "Aplikácia nie je zapnutá",
"Authentication error" : "Chyba autentifikácie",
"Token expired. Please reload page." : "Token vypršal. Obnovte, prosím, stránku.",
diff --git a/lib/l10n/sl.js b/lib/l10n/sl.js
index 4ae1e49705c..872273a6d13 100644
--- a/lib/l10n/sl.js
+++ b/lib/l10n/sl.js
@@ -53,7 +53,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Programa ni mogoče namestiti zaradi nedovoljene programske kode.",
"App can't be installed because it is not compatible with this version of ownCloud" : "Programa ni mogoče namestiti, ker ni skladen z trenutno nameščeno različico oblaka ownCloud.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Programa ni mogoče namestiti, ker vsebuje oznako <shipped>potrditve</shipped>, ki pa ni dovoljena za javne programe.",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Program ni mogoče namestiti zaradi neustrezne različice datoteke info.xml. Ta ni enaka različici programa.",
"Application is not enabled" : "Program ni omogočen",
"Authentication error" : "Napaka overjanja",
"Token expired. Please reload page." : "Žeton je potekel. Stran je treba ponovno naložiti.",
diff --git a/lib/l10n/sl.json b/lib/l10n/sl.json
index 8a34931889f..e7fad43e6e6 100644
--- a/lib/l10n/sl.json
+++ b/lib/l10n/sl.json
@@ -51,7 +51,6 @@
"App can't be installed because of not allowed code in the App" : "Programa ni mogoče namestiti zaradi nedovoljene programske kode.",
"App can't be installed because it is not compatible with this version of ownCloud" : "Programa ni mogoče namestiti, ker ni skladen z trenutno nameščeno različico oblaka ownCloud.",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Programa ni mogoče namestiti, ker vsebuje oznako <shipped>potrditve</shipped>, ki pa ni dovoljena za javne programe.",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Program ni mogoče namestiti zaradi neustrezne različice datoteke info.xml. Ta ni enaka različici programa.",
"Application is not enabled" : "Program ni omogočen",
"Authentication error" : "Napaka overjanja",
"Token expired. Please reload page." : "Žeton je potekel. Stran je treba ponovno naložiti.",
diff --git a/lib/l10n/sq.js b/lib/l10n/sq.js
index bfb5b12cc32..afa5028e61e 100644
--- a/lib/l10n/sq.js
+++ b/lib/l10n/sq.js
@@ -60,7 +60,7 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Aplikacioni s’mund të instalohet, për shkak kodi të palejuar te Aplikacioni",
"App can't be installed because it is not compatible with this version of ownCloud" : "Aplikacioni s’mund të instalohet, ngaqë s’është i përputhshëm me këtë version të ownCloud-it",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Aplikacioni s’mund të instalohet, ngaqë përmban etiketën <shipped>true</shipped> e cila nuk lejohet për aplikacione që s’janë hedhur në qarkullim",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Aplikacioni s’mund të instalohet, ngaqë versioni te info.xml/version s’është i njëjti me versionin e treguar nga shitorja e aplikacioneve",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "Aplikacioni s’mund të instalohet, ngaqë versioni te info.xml s’është i njëjti me versionin e treguar nga shitorja e aplikacioneve",
"Application is not enabled" : "Aplikacioni s’është aktivizuar",
"Authentication error" : "Gabim mirëfilltësimi",
"Token expired. Please reload page." : "Token-i ka skaduar. Ju lutemi, ringarkoni faqen.",
diff --git a/lib/l10n/sq.json b/lib/l10n/sq.json
index 7768167dc4f..2f126b2d964 100644
--- a/lib/l10n/sq.json
+++ b/lib/l10n/sq.json
@@ -58,7 +58,7 @@
"App can't be installed because of not allowed code in the App" : "Aplikacioni s’mund të instalohet, për shkak kodi të palejuar te Aplikacioni",
"App can't be installed because it is not compatible with this version of ownCloud" : "Aplikacioni s’mund të instalohet, ngaqë s’është i përputhshëm me këtë version të ownCloud-it",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Aplikacioni s’mund të instalohet, ngaqë përmban etiketën <shipped>true</shipped> e cila nuk lejohet për aplikacione që s’janë hedhur në qarkullim",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Aplikacioni s’mund të instalohet, ngaqë versioni te info.xml/version s’është i njëjti me versionin e treguar nga shitorja e aplikacioneve",
+ "App can't be installed because the version in info.xml is not the same as the version reported from the app store" : "Aplikacioni s’mund të instalohet, ngaqë versioni te info.xml s’është i njëjti me versionin e treguar nga shitorja e aplikacioneve",
"Application is not enabled" : "Aplikacioni s’është aktivizuar",
"Authentication error" : "Gabim mirëfilltësimi",
"Token expired. Please reload page." : "Token-i ka skaduar. Ju lutemi, ringarkoni faqen.",
diff --git a/lib/l10n/sr.js b/lib/l10n/sr.js
index 4cb5661eedf..ba8a1466fc7 100644
--- a/lib/l10n/sr.js
+++ b/lib/l10n/sr.js
@@ -59,7 +59,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Апликације не може бити инсталирана због недозвољеног кода у апликацији",
"App can't be installed because it is not compatible with this version of ownCloud" : "Апликације не може бити инсталирана јер није компатибилна са овом верзијом оунКлауда",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Апликација се не може инсталирати јер садржи ознаку <shipped>тачно</shipped> која није дозвољена за неиспоручене апликације",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Апликација се не може инсталирати јер верзија у info.xml/version није иста као верзија коју пријављује продавница апликација",
"Application is not enabled" : "Апликација није укључена",
"Authentication error" : "Грешка аутентификације",
"Token expired. Please reload page." : "Жетон је истекао. Поново учитајте страницу.",
diff --git a/lib/l10n/sr.json b/lib/l10n/sr.json
index dd686f58fe9..270b58ad3a4 100644
--- a/lib/l10n/sr.json
+++ b/lib/l10n/sr.json
@@ -57,7 +57,6 @@
"App can't be installed because of not allowed code in the App" : "Апликације не може бити инсталирана због недозвољеног кода у апликацији",
"App can't be installed because it is not compatible with this version of ownCloud" : "Апликације не може бити инсталирана јер није компатибилна са овом верзијом оунКлауда",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Апликација се не може инсталирати јер садржи ознаку <shipped>тачно</shipped> која није дозвољена за неиспоручене апликације",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Апликација се не може инсталирати јер верзија у info.xml/version није иста као верзија коју пријављује продавница апликација",
"Application is not enabled" : "Апликација није укључена",
"Authentication error" : "Грешка аутентификације",
"Token expired. Please reload page." : "Жетон је истекао. Поново учитајте страницу.",
diff --git a/lib/l10n/sv.js b/lib/l10n/sv.js
index e378f831d13..2d5ce30ab87 100644
--- a/lib/l10n/sv.js
+++ b/lib/l10n/sv.js
@@ -47,7 +47,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Appen kan inte installeras eftersom att den innehåller otillåten kod",
"App can't be installed because it is not compatible with this version of ownCloud" : "Appen kan inte installeras eftersom att den inte är kompatibel med denna version av ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Appen kan inte installeras eftersom att den innehåller etiketten <shipped>true</shipped> vilket inte är tillåtet för icke inkluderade appar",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Appen kan inte installeras eftersom versionen i info.xml inte är samma som rapporteras från app store",
"Application is not enabled" : "Applikationen är inte aktiverad",
"Authentication error" : "Fel vid autentisering",
"Token expired. Please reload page." : "Ogiltig token. Ladda om sidan.",
diff --git a/lib/l10n/sv.json b/lib/l10n/sv.json
index 4cecd4711f5..1e93a4a7d75 100644
--- a/lib/l10n/sv.json
+++ b/lib/l10n/sv.json
@@ -45,7 +45,6 @@
"App can't be installed because of not allowed code in the App" : "Appen kan inte installeras eftersom att den innehåller otillåten kod",
"App can't be installed because it is not compatible with this version of ownCloud" : "Appen kan inte installeras eftersom att den inte är kompatibel med denna version av ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Appen kan inte installeras eftersom att den innehåller etiketten <shipped>true</shipped> vilket inte är tillåtet för icke inkluderade appar",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Appen kan inte installeras eftersom versionen i info.xml inte är samma som rapporteras från app store",
"Application is not enabled" : "Applikationen är inte aktiverad",
"Authentication error" : "Fel vid autentisering",
"Token expired. Please reload page." : "Ogiltig token. Ladda om sidan.",
diff --git a/lib/l10n/th_TH.js b/lib/l10n/th_TH.js
index a5116ec6e5c..6258ab22c48 100644
--- a/lib/l10n/th_TH.js
+++ b/lib/l10n/th_TH.js
@@ -60,7 +60,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "ไม่สามารถติดตั้งแอพพลิเคชันเพราะไม่ได้อนุญาตรหัสในแอพพลิเคชัน",
"App can't be installed because it is not compatible with this version of ownCloud" : "ไม่สามารถติดตั้งแอพพลิเคชันเพราะมันเข้ากันไม่ได้กับรุ่นของ ownCloud นี้",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "ไม่สามารถติดตั้งแอพพลิเคชันเพราะมันมี <shipped>จริง</shipped> แท็กที่ไม่ได้รับอนุญาต",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "ไม่สามารถติดตั้งแอพพลิเคเพราะรุ่นใน info.xml/version ไม่เหมือนกันกับรุ่นที่มีรายงานจากร้านค้าแอพ",
"Application is not enabled" : "แอพพลิเคชั่นดังกล่าวยังไม่ได้เปิดใช้งาน",
"Authentication error" : "เกิดข้อผิดพลาดในสิทธิ์การเข้าใช้งาน",
"Token expired. Please reload page." : "รหัสยืนยันความถูกต้องหมดอายุแล้ว กรุณาโหลดหน้าเว็บใหม่อีกครั้ง",
diff --git a/lib/l10n/th_TH.json b/lib/l10n/th_TH.json
index 52fb06d31d5..7b1d9d2e7db 100644
--- a/lib/l10n/th_TH.json
+++ b/lib/l10n/th_TH.json
@@ -58,7 +58,6 @@
"App can't be installed because of not allowed code in the App" : "ไม่สามารถติดตั้งแอพพลิเคชันเพราะไม่ได้อนุญาตรหัสในแอพพลิเคชัน",
"App can't be installed because it is not compatible with this version of ownCloud" : "ไม่สามารถติดตั้งแอพพลิเคชันเพราะมันเข้ากันไม่ได้กับรุ่นของ ownCloud นี้",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "ไม่สามารถติดตั้งแอพพลิเคชันเพราะมันมี <shipped>จริง</shipped> แท็กที่ไม่ได้รับอนุญาต",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "ไม่สามารถติดตั้งแอพพลิเคเพราะรุ่นใน info.xml/version ไม่เหมือนกันกับรุ่นที่มีรายงานจากร้านค้าแอพ",
"Application is not enabled" : "แอพพลิเคชั่นดังกล่าวยังไม่ได้เปิดใช้งาน",
"Authentication error" : "เกิดข้อผิดพลาดในสิทธิ์การเข้าใช้งาน",
"Token expired. Please reload page." : "รหัสยืนยันความถูกต้องหมดอายุแล้ว กรุณาโหลดหน้าเว็บใหม่อีกครั้ง",
diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js
index 9facd084bec..f009e898078 100644
--- a/lib/l10n/tr.js
+++ b/lib/l10n/tr.js
@@ -59,7 +59,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Uygulama, izin verilmeyen kodlar barındırdığından kurulamıyor",
"App can't be installed because it is not compatible with this version of ownCloud" : "ownCloud sürümünüz ile uyumsuz olduğu için uygulama kurulamıyor",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Uygulama, birlikte gelmeyen uygulama olmasına rağmen <shipped>true</shipped> etiketi içerdiği için kurulamıyor",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Uygulama info.xml/version ile uygulama marketinde belirtilen sürüm aynı olmadığından kurulamıyor",
"Application is not enabled" : "Uygulama etkin değil",
"Authentication error" : "Kimlik doğrulama hatası",
"Token expired. Please reload page." : "Belirteç süresi geçti. Lütfen sayfayı yenileyin.",
@@ -111,6 +110,7 @@ OC.L10N.register(
"Sharing %s failed, because resharing is not allowed" : "%s paylaşımı, tekrar paylaşımın izin verilmemesinden dolayı başarısız oldu",
"Sharing %s failed, because the sharing backend for %s could not find its source" : "%s paylaşımı, %s için arka ucun kaynağını bulamamasından dolayı başarısız oldu",
"Sharing %s failed, because the file could not be found in the file cache" : "%s paylaşımı, dosyanın dosya önbelleğinde bulunamamasınndan dolayı başarısız oldu",
+ "Expiration date is in the past" : "Son kullanma tarihi geçmişte",
"Could not find category \"%s\"" : "\"%s\" kategorisi bulunamadı",
"Apps" : "Uygulamalar",
"A valid username must be provided" : "Geçerli bir kullanıcı adı mutlaka sağlanmalı",
diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json
index 442c53181ea..06678ea04a4 100644
--- a/lib/l10n/tr.json
+++ b/lib/l10n/tr.json
@@ -57,7 +57,6 @@
"App can't be installed because of not allowed code in the App" : "Uygulama, izin verilmeyen kodlar barındırdığından kurulamıyor",
"App can't be installed because it is not compatible with this version of ownCloud" : "ownCloud sürümünüz ile uyumsuz olduğu için uygulama kurulamıyor",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Uygulama, birlikte gelmeyen uygulama olmasına rağmen <shipped>true</shipped> etiketi içerdiği için kurulamıyor",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Uygulama info.xml/version ile uygulama marketinde belirtilen sürüm aynı olmadığından kurulamıyor",
"Application is not enabled" : "Uygulama etkin değil",
"Authentication error" : "Kimlik doğrulama hatası",
"Token expired. Please reload page." : "Belirteç süresi geçti. Lütfen sayfayı yenileyin.",
@@ -109,6 +108,7 @@
"Sharing %s failed, because resharing is not allowed" : "%s paylaşımı, tekrar paylaşımın izin verilmemesinden dolayı başarısız oldu",
"Sharing %s failed, because the sharing backend for %s could not find its source" : "%s paylaşımı, %s için arka ucun kaynağını bulamamasından dolayı başarısız oldu",
"Sharing %s failed, because the file could not be found in the file cache" : "%s paylaşımı, dosyanın dosya önbelleğinde bulunamamasınndan dolayı başarısız oldu",
+ "Expiration date is in the past" : "Son kullanma tarihi geçmişte",
"Could not find category \"%s\"" : "\"%s\" kategorisi bulunamadı",
"Apps" : "Uygulamalar",
"A valid username must be provided" : "Geçerli bir kullanıcı adı mutlaka sağlanmalı",
diff --git a/lib/l10n/uk.js b/lib/l10n/uk.js
index e7b5747f068..29f7c12141c 100644
--- a/lib/l10n/uk.js
+++ b/lib/l10n/uk.js
@@ -52,7 +52,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "Неможливо встановити додаток. Він містить заборонений код",
"App can't be installed because it is not compatible with this version of ownCloud" : "Неможливо встановити додаток, він є несумісним з даною версією ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Неможливо встановити додаток, оскільки він містить параметр <shipped>true</shipped> заборонений додаткам, що не входять в поставку ",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Неможливо встановити додаток. Версія в файлі info.xml/version не співпадає з заявленою в магазині додатків",
"Application is not enabled" : "Додаток не увімкнений",
"Authentication error" : "Помилка автентифікації",
"Token expired. Please reload page." : "Строк дії токена скінчився. Будь ласка, перезавантажте сторінку.",
diff --git a/lib/l10n/uk.json b/lib/l10n/uk.json
index 08b826c5ec6..45b39e4aa14 100644
--- a/lib/l10n/uk.json
+++ b/lib/l10n/uk.json
@@ -50,7 +50,6 @@
"App can't be installed because of not allowed code in the App" : "Неможливо встановити додаток. Він містить заборонений код",
"App can't be installed because it is not compatible with this version of ownCloud" : "Неможливо встановити додаток, він є несумісним з даною версією ownCloud",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "Неможливо встановити додаток, оскільки він містить параметр <shipped>true</shipped> заборонений додаткам, що не входять в поставку ",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "Неможливо встановити додаток. Версія в файлі info.xml/version не співпадає з заявленою в магазині додатків",
"Application is not enabled" : "Додаток не увімкнений",
"Authentication error" : "Помилка автентифікації",
"Token expired. Please reload page." : "Строк дії токена скінчився. Будь ласка, перезавантажте сторінку.",
diff --git a/lib/l10n/zh_CN.js b/lib/l10n/zh_CN.js
index 8a24877ca1a..a11c0539635 100644
--- a/lib/l10n/zh_CN.js
+++ b/lib/l10n/zh_CN.js
@@ -32,7 +32,6 @@ OC.L10N.register(
"App can't be installed because of not allowed code in the App" : "App 无法安装,因为 App 中有非法代码 ",
"App can't be installed because it is not compatible with this version of ownCloud" : "App 无法安装,因为和当前 ownCloud 版本不兼容",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "App 无法安装,因为 App 包含不允许在非内置 App 中使用的 <shipped>true</shipped> 标签",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "App 无法安装因为 info.xml/version 中的版本和 App 商店版本不同",
"Application is not enabled" : "应用程序未启用",
"Authentication error" : "认证出错",
"Token expired. Please reload page." : "Token 过期,请刷新页面。",
diff --git a/lib/l10n/zh_CN.json b/lib/l10n/zh_CN.json
index b4e67c7ae20..5872c0eb5a9 100644
--- a/lib/l10n/zh_CN.json
+++ b/lib/l10n/zh_CN.json
@@ -30,7 +30,6 @@
"App can't be installed because of not allowed code in the App" : "App 无法安装,因为 App 中有非法代码 ",
"App can't be installed because it is not compatible with this version of ownCloud" : "App 无法安装,因为和当前 ownCloud 版本不兼容",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "App 无法安装,因为 App 包含不允许在非内置 App 中使用的 <shipped>true</shipped> 标签",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "App 无法安装因为 info.xml/version 中的版本和 App 商店版本不同",
"Application is not enabled" : "应用程序未启用",
"Authentication error" : "认证出错",
"Token expired. Please reload page." : "Token 过期,请刷新页面。",
diff --git a/lib/l10n/zh_TW.js b/lib/l10n/zh_TW.js
index fda0ebe90f6..c05810c647b 100644
--- a/lib/l10n/zh_TW.js
+++ b/lib/l10n/zh_TW.js
@@ -40,6 +40,7 @@ OC.L10N.register(
"web services under your control" : "由您控制的網路服務",
"Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "模組編號: %s 不存在,請在應用程式設定中開啟,或是聯絡系統管理員",
"Empty filename is not allowed" : "不允許空白的檔名",
+ "Dot files are not allowed" : "不允許小數點開頭的檔案",
"4-byte characters are not supported in file names" : "檔案名稱不支援4位元的字元",
"File name is a reserved word" : "檔案名稱是預設保留字",
"File name contains at least one invalid character" : "檔案名稱含有不合法的字元",
@@ -54,10 +55,10 @@ OC.L10N.register(
"Archives of type %s are not supported" : "不支援 %s 格式的壓縮檔",
"Failed to open archive when installing app" : "安裝應用程式時無法開啓壓縮檔",
"App does not provide an info.xml file" : "應用程式沒有提供 info.xml 檔案",
+ "Signature could not get checked. Please contact the app developer and check your admin screen." : "無法驗證數位簽章,請聯絡 app 開發者,並檢查您的管理頁面",
"App can't be installed because of not allowed code in the App" : "無法安裝應用程式因為在當中找到危險的代碼",
"App can't be installed because it is not compatible with this version of ownCloud" : "無法安裝應用程式因為它和此版本的 ownCloud 不相容。",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "無法安裝應用程式,因為它包含了 <shipped>true</shipped> 標籤,在未發行的應用程式當中這是不允許的",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "無法安裝應用程式,因為它在 info.xml/version 宣告的版本與 app store 當中記載的版本不同",
"Application is not enabled" : "應用程式未啟用",
"Authentication error" : "認證錯誤",
"Token expired. Please reload page." : "Token 過期,請重新整理頁面。",
@@ -94,6 +95,7 @@ OC.L10N.register(
"Sharing %s failed, because %s is not a member of the group %s" : "分享 %s 失敗,因為 %s 不是群組 %s 的一員",
"You need to provide a password to create a public link, only protected links are allowed" : "您必須為公開連結設定一組密碼,我們只允許受密碼保護的連結",
"Sharing %s failed, because sharing with links is not allowed" : "分享 %s 失敗,因為目前不允許使用連結分享",
+ "Not allowed to create a federated share with the same user" : "不允許與同一個使用者建立聯盟式分享",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "分享%s失敗,找不到%s,或許目前無法連線到該伺服器",
"Share type %s is not valid for %s" : "分享類型 %s 對於 %s 來說無效",
"Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "為 %s 設定權限失敗,因為欲設定的權限超出開放給 %s 的範圍",
@@ -114,7 +116,9 @@ OC.L10N.register(
"Cannot set expiration date more than %s days in the future" : "無法設定到期日超過未來%s天",
"Could not find category \"%s\"" : "找不到分類:\"%s\"",
"Apps" : "應用程式",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "使用者名稱當中只能包含下列字元:\"a-z\", \"A-Z\", \"0-9\", 和 \"_.@-'\"",
"A valid username must be provided" : "必須提供一個有效的用戶名",
+ "Username contains whitespace at the beginning or at the end" : "使用者名詞的開頭或結尾有空白",
"A valid password must be provided" : "一定要提供一個有效的密碼",
"The username is already being used" : "這個使用者名稱已經有人使用了",
"No database drivers (sqlite, mysql, or postgresql) installed." : "沒有安裝資料庫驅動程式 (sqlite, mysql, 或 postgresql)",
@@ -134,6 +138,7 @@ OC.L10N.register(
"Adjusting this setting in php.ini will make ownCloud run again" : "調整php.ini裡的這項設定會讓ownCloud再次運行",
"mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload 應該要被設定成 \"0\"而不是目前的設定 \"%s\" ",
"To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "為了修正這個問題,請到php.ini將 <code>mbstring.func_overload</code> 的值改為 <code>0</code>",
+ "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP 已經設定成「剪除 inline doc block」模式,這將會使幾個核心應用程式無法使用",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "這大概是由快取或是加速器像是 Zend OPcache, eAccelerator 造成的",
"PHP modules have been installed, but they are still listed as missing?" : "你已經安裝了指定的 PHP 模組,可是還是顯示為找不到嗎?",
"Please ask your server administrator to restart the web server." : "請聯絡您的系統管理員重新啟動網頁伺服器",
diff --git a/lib/l10n/zh_TW.json b/lib/l10n/zh_TW.json
index 1b27a722443..adf2825a5c5 100644
--- a/lib/l10n/zh_TW.json
+++ b/lib/l10n/zh_TW.json
@@ -38,6 +38,7 @@
"web services under your control" : "由您控制的網路服務",
"Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "模組編號: %s 不存在,請在應用程式設定中開啟,或是聯絡系統管理員",
"Empty filename is not allowed" : "不允許空白的檔名",
+ "Dot files are not allowed" : "不允許小數點開頭的檔案",
"4-byte characters are not supported in file names" : "檔案名稱不支援4位元的字元",
"File name is a reserved word" : "檔案名稱是預設保留字",
"File name contains at least one invalid character" : "檔案名稱含有不合法的字元",
@@ -52,10 +53,10 @@
"Archives of type %s are not supported" : "不支援 %s 格式的壓縮檔",
"Failed to open archive when installing app" : "安裝應用程式時無法開啓壓縮檔",
"App does not provide an info.xml file" : "應用程式沒有提供 info.xml 檔案",
+ "Signature could not get checked. Please contact the app developer and check your admin screen." : "無法驗證數位簽章,請聯絡 app 開發者,並檢查您的管理頁面",
"App can't be installed because of not allowed code in the App" : "無法安裝應用程式因為在當中找到危險的代碼",
"App can't be installed because it is not compatible with this version of ownCloud" : "無法安裝應用程式因為它和此版本的 ownCloud 不相容。",
"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" : "無法安裝應用程式,因為它包含了 <shipped>true</shipped> 標籤,在未發行的應用程式當中這是不允許的",
- "App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" : "無法安裝應用程式,因為它在 info.xml/version 宣告的版本與 app store 當中記載的版本不同",
"Application is not enabled" : "應用程式未啟用",
"Authentication error" : "認證錯誤",
"Token expired. Please reload page." : "Token 過期,請重新整理頁面。",
@@ -92,6 +93,7 @@
"Sharing %s failed, because %s is not a member of the group %s" : "分享 %s 失敗,因為 %s 不是群組 %s 的一員",
"You need to provide a password to create a public link, only protected links are allowed" : "您必須為公開連結設定一組密碼,我們只允許受密碼保護的連結",
"Sharing %s failed, because sharing with links is not allowed" : "分享 %s 失敗,因為目前不允許使用連結分享",
+ "Not allowed to create a federated share with the same user" : "不允許與同一個使用者建立聯盟式分享",
"Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "分享%s失敗,找不到%s,或許目前無法連線到該伺服器",
"Share type %s is not valid for %s" : "分享類型 %s 對於 %s 來說無效",
"Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "為 %s 設定權限失敗,因為欲設定的權限超出開放給 %s 的範圍",
@@ -112,7 +114,9 @@
"Cannot set expiration date more than %s days in the future" : "無法設定到期日超過未來%s天",
"Could not find category \"%s\"" : "找不到分類:\"%s\"",
"Apps" : "應用程式",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "使用者名稱當中只能包含下列字元:\"a-z\", \"A-Z\", \"0-9\", 和 \"_.@-'\"",
"A valid username must be provided" : "必須提供一個有效的用戶名",
+ "Username contains whitespace at the beginning or at the end" : "使用者名詞的開頭或結尾有空白",
"A valid password must be provided" : "一定要提供一個有效的密碼",
"The username is already being used" : "這個使用者名稱已經有人使用了",
"No database drivers (sqlite, mysql, or postgresql) installed." : "沒有安裝資料庫驅動程式 (sqlite, mysql, 或 postgresql)",
@@ -132,6 +136,7 @@
"Adjusting this setting in php.ini will make ownCloud run again" : "調整php.ini裡的這項設定會讓ownCloud再次運行",
"mbstring.func_overload is set to \"%s\" instead of the expected value \"0\"" : "mbstring.func_overload 應該要被設定成 \"0\"而不是目前的設定 \"%s\" ",
"To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini" : "為了修正這個問題,請到php.ini將 <code>mbstring.func_overload</code> 的值改為 <code>0</code>",
+ "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP 已經設定成「剪除 inline doc block」模式,這將會使幾個核心應用程式無法使用",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "這大概是由快取或是加速器像是 Zend OPcache, eAccelerator 造成的",
"PHP modules have been installed, but they are still listed as missing?" : "你已經安裝了指定的 PHP 模組,可是還是顯示為找不到嗎?",
"Please ask your server administrator to restart the web server." : "請聯絡您的系統管理員重新啟動網頁伺服器",
diff --git a/lib/private/api.php b/lib/private/api.php
index 1fbe3201f85..452612d4c16 100644
--- a/lib/private/api.php
+++ b/lib/private/api.php
@@ -292,11 +292,9 @@ class OC_API {
case API::GUEST_AUTH:
// Anyone can access
return true;
- break;
case API::USER_AUTH:
// User required
return self::loginUser();
- break;
case API::SUBADMIN_AUTH:
// Check for subadmin
$user = self::loginUser();
@@ -315,7 +313,6 @@ class OC_API {
return false;
}
}
- break;
case API::ADMIN_AUTH:
// Check for admin
$user = self::loginUser();
@@ -324,11 +321,9 @@ class OC_API {
} else {
return OC_User::isAdminUser($user);
}
- break;
default:
// oops looks like invalid level supplied
return false;
- break;
}
}
diff --git a/lib/private/app.php b/lib/private/app.php
index 2abc015a91f..49d4e942a09 100644
--- a/lib/private/app.php
+++ b/lib/private/app.php
@@ -132,8 +132,12 @@ class OC_App {
*/
public static function loadApp($app, $checkUpgrade = true) {
self::$loadedApps[] = $app;
- \OC::$loader->addValidRoot(self::getAppPath($app)); // in case someone calls loadApp() directly
- if (is_file(self::getAppPath($app) . '/appinfo/app.php')) {
+ $appPath = self::getAppPath($app);
+ if($appPath === false) {
+ return;
+ }
+ \OC::$loader->addValidRoot($appPath); // in case someone calls loadApp() directly
+ if (is_file($appPath . '/appinfo/app.php')) {
\OC::$server->getEventLogger()->start('load_app_' . $app, 'Load app: ' . $app);
if ($checkUpgrade and self::shouldUpgrade($app)) {
throw new \OC\NeedsUpdateException();
@@ -564,7 +568,7 @@ class OC_App {
}
/**
- * get the last version of the app, either from appinfo/version or from appinfo/info.xml
+ * get the last version of the app from appinfo/info.xml
*
* @param string $appId
* @return string
@@ -584,14 +588,9 @@ class OC_App {
* @return string
*/
public static function getAppVersionByPath($path) {
- $versionFile = $path . '/appinfo/version';
$infoFile = $path . '/appinfo/info.xml';
- if (is_file($versionFile)) {
- return trim(file_get_contents($versionFile));
- } else {
- $appData = self::getAppInfo($infoFile, true);
- return isset($appData['version']) ? $appData['version'] : '';
- }
+ $appData = self::getAppInfo($infoFile, true);
+ return isset($appData['version']) ? $appData['version'] : '';
}
@@ -610,7 +609,11 @@ class OC_App {
if (isset(self::$appInfo[$appId])) {
return self::$appInfo[$appId];
}
- $file = self::getAppPath($appId) . '/appinfo/info.xml';
+ $appPath = self::getAppPath($appId);
+ if($appPath === false) {
+ return null;
+ }
+ $file = $appPath . '/appinfo/info.xml';
}
$parser = new \OC\App\InfoParser(\OC::$server->getHTTPHelper(), \OC::$server->getURLGenerator());
@@ -776,7 +779,6 @@ class OC_App {
//we don't want to show configuration for these
$blacklist = \OC::$server->getAppManager()->getAlwaysEnabledApps();
$appList = array();
- $l = \OC::$server->getL10N('core');
foreach ($installedApps as $app) {
if (array_search($app, $blacklist) === false) {
@@ -812,15 +814,18 @@ class OC_App {
$info['update'] = ($includeUpdateInfo) ? OC_Installer::isUpdateAvailable($app) : null;
- $appIcon = self::getAppPath($app) . '/img/' . $app . '.svg';
- if (file_exists($appIcon)) {
- $info['preview'] = \OC::$server->getURLGenerator()->imagePath($app, $app . '.svg');
- $info['previewAsIcon'] = true;
- } else {
- $appIcon = self::getAppPath($app) . '/img/app.svg';
+ $appPath = self::getAppPath($app);
+ if($appPath !== false) {
+ $appIcon = $appPath . '/img/' . $app . '.svg';
if (file_exists($appIcon)) {
- $info['preview'] = \OC::$server->getURLGenerator()->imagePath($app, 'app.svg');
+ $info['preview'] = \OC::$server->getURLGenerator()->imagePath($app, $app . '.svg');
$info['previewAsIcon'] = true;
+ } else {
+ $appIcon = $appPath . '/img/app.svg';
+ if (file_exists($appIcon)) {
+ $info['preview'] = \OC::$server->getURLGenerator()->imagePath($app, 'app.svg');
+ $info['previewAsIcon'] = true;
+ }
}
}
$info['version'] = OC_App::getAppVersion($app);
@@ -1117,14 +1122,18 @@ class OC_App {
* @return bool
*/
public static function updateApp($appId) {
- if (file_exists(self::getAppPath($appId) . '/appinfo/database.xml')) {
- OC_DB::updateDbFromStructure(self::getAppPath($appId) . '/appinfo/database.xml');
+ $appPath = self::getAppPath($appId);
+ if($appPath === false) {
+ return false;
+ }
+ if (file_exists($appPath . '/appinfo/database.xml')) {
+ OC_DB::updateDbFromStructure($appPath . '/appinfo/database.xml');
}
unset(self::$appVersion[$appId]);
// run upgrade code
- if (file_exists(self::getAppPath($appId) . '/appinfo/update.php')) {
+ if (file_exists($appPath . '/appinfo/update.php')) {
self::loadApp($appId, false);
- include self::getAppPath($appId) . '/appinfo/update.php';
+ include $appPath . '/appinfo/update.php';
}
//set remote/public handlers
diff --git a/lib/private/app/appmanager.php b/lib/private/app/appmanager.php
index eeb2216d5a8..4855f6f0185 100644
--- a/lib/private/app/appmanager.php
+++ b/lib/private/app/appmanager.php
@@ -297,9 +297,6 @@ class AppManager implements IAppManager {
/**
* Returns the app information from "appinfo/info.xml".
*
- * If no version was present in "appinfo/info.xml", reads it
- * from the external "appinfo/version" file instead.
- *
* @param string $appId app id
*
* @return array app iinfo
diff --git a/lib/private/app/codechecker/infochecker.php b/lib/private/app/codechecker/infochecker.php
index ac92ee2661c..812007d8839 100644
--- a/lib/private/app/codechecker/infochecker.php
+++ b/lib/private/app/codechecker/infochecker.php
@@ -41,21 +41,22 @@ class InfoChecker extends BasicEmitter {
'bugs',
'category',
'default_enable',
- 'dependencies',
+ 'dependencies', // TODO: Mandatory as of ownCloud 11
'documentation',
'namespace',
'ocsid',
'public',
'remote',
'repository',
- 'require',
- 'requiremin',
'types',
'version',
'website',
];
private $deprecatedFields = [
'info',
+ 'require',
+ 'requiremax',
+ 'requiremin',
'shipped',
'standalone',
];
@@ -137,7 +138,7 @@ class InfoChecker extends BasicEmitter {
$versionFile = $appPath . '/appinfo/version';
if (is_file($versionFile)) {
$version = trim(file_get_contents($versionFile));
- if(isset($info['version'])) {
+ if (isset($info['version'])) {
if($info['version'] !== $version) {
$this->emit('InfoChecker', 'differentVersions',
[$version, $info['version']]);
@@ -152,14 +153,6 @@ class InfoChecker extends BasicEmitter {
} else {
$this->emit('InfoChecker', 'migrateVersion', [$version]);
}
- } else {
- if(!isset($info['version'])) {
- $this->emit('InfoChecker', 'mandatoryFieldMissing', ['version']);
- $errors[] = [
- 'type' => 'mandatoryFieldMissing',
- 'field' => 'version',
- ];
- }
}
return $errors;
diff --git a/lib/private/helper.php b/lib/private/helper.php
index 495f95e72d2..23068330f81 100644
--- a/lib/private/helper.php
+++ b/lib/private/helper.php
@@ -583,7 +583,8 @@ class OC_Helper {
}
}
}
- $memcache->set($program, $result, 3600);
+ // store the value for 5 minutes
+ $memcache->set($program, $result, 300);
return $result;
}
diff --git a/lib/private/image.php b/lib/private/image.php
index dc01f989d79..0f74bd1c565 100644
--- a/lib/private/image.php
+++ b/lib/private/image.php
@@ -257,6 +257,7 @@ class OC_Image implements \OCP\IImage {
$imageType = IMAGETYPE_XBM;
break;
case 'image/bmp':
+ case 'image/x-ms-bmp':
$imageType = IMAGETYPE_BMP;
break;
default:
diff --git a/lib/private/installer.php b/lib/private/installer.php
index f30db9ca659..1e4bb968929 100644
--- a/lib/private/installer.php
+++ b/lib/private/installer.php
@@ -390,16 +390,11 @@ class OC_Installer{
}
// check if the ocs version is the same as the version in info.xml/version
- $versionFile= $extractDir.'/appinfo/version';
- if(is_file($versionFile)) {
- $version = trim(file_get_contents($versionFile));
- }else{
- $version = trim($info['version']);
- }
+ $version = trim($info['version']);
if(isset($data['appdata']['version']) && $version<>trim($data['appdata']['version'])) {
OC_Helper::rmdirr($extractDir);
- throw new \Exception($l->t("App can't be installed because the version in info.xml/version is not the same as the version reported from the app store"));
+ throw new \Exception($l->t("App can't be installed because the version in info.xml is not the same as the version reported from the app store"));
}
return $info;
diff --git a/lib/private/integritycheck/checker.php b/lib/private/integritycheck/checker.php
index e6f9f9a1457..8ede6216b76 100644
--- a/lib/private/integritycheck/checker.php
+++ b/lib/private/integritycheck/checker.php
@@ -87,8 +87,6 @@ class Checker {
* @return bool
*/
public function isCodeCheckEnforced() {
- // FIXME: Once the signing server is instructed to sign daily, beta and
- // RCs as well these need to be included also.
$signedChannels = [
'daily',
'testing',
diff --git a/lib/private/notification/manager.php b/lib/private/notification/manager.php
index a14a1deec0c..0b9ba3e3ee8 100644
--- a/lib/private/notification/manager.php
+++ b/lib/private/notification/manager.php
@@ -28,7 +28,7 @@ use OCP\Notification\INotification;
use OCP\Notification\INotifier;
class Manager implements IManager {
- /** @var IApp */
+ /** @var IApp[] */
protected $apps;
/** @var INotifier */
diff --git a/lib/private/share20/defaultshareprovider.php b/lib/private/share20/defaultshareprovider.php
index 0ab0dc81fa7..e18e306d7f6 100644
--- a/lib/private/share20/defaultshareprovider.php
+++ b/lib/private/share20/defaultshareprovider.php
@@ -118,6 +118,10 @@ class DefaultShareProvider implements IShareProvider {
if ($share->getExpirationDate() !== null) {
$qb->setValue('expiration', $qb->createNamedParameter($share->getExpirationDate(), 'datetime'));
}
+
+ if (method_exists($share, 'getParent')) {
+ $qb->setValue('parent', $qb->createNamedParameter($share->getParent()));
+ }
} else {
throw new \Exception('invalid share type!');
}
diff --git a/lib/private/share20/manager.php b/lib/private/share20/manager.php
index c13bf965676..4cff3dc818b 100644
--- a/lib/private/share20/manager.php
+++ b/lib/private/share20/manager.php
@@ -415,6 +415,28 @@ class Manager implements IManager {
}
/**
+ * To make sure we don't get invisible link shares we set the parent
+ * of a link if it is a reshare. This is a quick word around
+ * until we can properly display multiple link shares in the UI
+ *
+ * See: https://github.com/owncloud/core/issues/22295
+ *
+ * FIXME: Remove once multiple link shares can be properly displayed
+ *
+ * @param \OCP\Share\IShare $share
+ */
+ protected function setLinkParent(\OCP\Share\IShare $share) {
+
+ // No sense in checking if the method is not there.
+ if (method_exists($share, 'setParent')) {
+ $storage = $share->getNode()->getStorage();
+ if ($storage->instanceOfStorage('\OCA\Files_Sharing\ISharedStorage')) {
+ $share->setParent($storage->getShareId());
+ }
+ };
+ }
+
+ /**
* @param File|Folder $path
*/
protected function pathCreateChecks($path) {
@@ -433,18 +455,16 @@ class Manager implements IManager {
* Check if the user that is sharing can actually share
*
* @param \OCP\Share\IShare $share
- * @return bool
+ * @throws \Exception
*/
protected function canShare(\OCP\Share\IShare $share) {
if (!$this->shareApiEnabled()) {
- return false;
+ throw new \Exception('The share API is disabled');
}
if ($this->sharingDisabledForUser($share->getSharedBy())) {
- return false;
+ throw new \Exception('You are not allowed to share');
}
-
- return true;
}
/**
@@ -457,9 +477,7 @@ class Manager implements IManager {
* TODO: handle link share permissions or check them
*/
public function createShare(\OCP\Share\IShare $share) {
- if (!$this->canShare($share)) {
- throw new \Exception('The Share API is disabled');
- }
+ $this->canShare($share);
$this->generalCreateChecks($share);
@@ -470,6 +488,7 @@ class Manager implements IManager {
$this->groupCreateChecks($share);
} else if ($share->getShareType() === \OCP\Share::SHARE_TYPE_LINK) {
$this->linkCreateChecks($share);
+ $this->setLinkParent($share);
/*
* For now ignore a set token.
@@ -569,9 +588,7 @@ class Manager implements IManager {
public function updateShare(\OCP\Share\IShare $share) {
$expirationDateUpdated = false;
- if (!$this->canShare($share)) {
- throw new \Exception('The Share API is disabled');
- }
+ $this->canShare($share);
try {
$originalShare = $this->getShareById($share->getFullId());
@@ -695,9 +712,9 @@ class Manager implements IManager {
* @throws \InvalidArgumentException
*/
public function deleteShare(\OCP\Share\IShare $share) {
- // Just to make sure we have all the info
+
try {
- $share = $this->getShareById($share->getFullId());
+ $share->getFullId();
} catch (\UnexpectedValueException $e) {
throw new \InvalidArgumentException('Share does not have a full id');
}
@@ -720,7 +737,7 @@ class Manager implements IManager {
'itemSource' => $share->getNodeId(),
'shareType' => $shareType,
'shareWith' => $sharedWith,
- 'itemparent' => $share->getParent(),
+ 'itemparent' => method_exists($share, 'getParent') ? $share->getParent() : '',
'uidOwner' => $share->getSharedBy(),
'fileSource' => $share->getNodeId(),
'fileTarget' => $share->getTarget()
diff --git a/lib/private/share20/share.php b/lib/private/share20/share.php
index 323d8c8e8ab..6edd0e6886a 100644
--- a/lib/private/share20/share.php
+++ b/lib/private/share20/share.php
@@ -321,7 +321,11 @@ class Share implements \OCP\Share\IShare {
}
/**
- * @inheritdoc
+ * Set the parent of this share
+ *
+ * @param int parent
+ * @return \OCP\Share\IShare
+ * @deprecated The new shares do not have parents. This is just here for legacy reasons.
*/
public function setParent($parent) {
$this->parent = $parent;
@@ -329,7 +333,10 @@ class Share implements \OCP\Share\IShare {
}
/**
- * @inheritdoc
+ * Get the parent of this share.
+ *
+ * @return int
+ * @deprecated The new shares do not have parents. This is just here for legacy reasons.
*/
public function getParent() {
return $this->parent;
diff --git a/lib/private/templatelayout.php b/lib/private/templatelayout.php
index 7166b23d4c2..5afbd4495c4 100644
--- a/lib/private/templatelayout.php
+++ b/lib/private/templatelayout.php
@@ -72,7 +72,7 @@ class TemplateLayout extends \OC_Template {
// Code integrity notification
$integrityChecker = \OC::$server->getIntegrityCodeChecker();
- if(!$integrityChecker->hasPassedCheck()) {
+ if(\OC_User::isAdminUser(\OC_User::getUser()) && !$integrityChecker->hasPassedCheck()) {
\OCP\Util::addScript('core', 'integritycheck-failed-notification');
}
diff --git a/lib/private/user/manager.php b/lib/private/user/manager.php
index 6798a7340c3..868ebcbe4dc 100644
--- a/lib/private/user/manager.php
+++ b/lib/private/user/manager.php
@@ -50,7 +50,7 @@ use OCP\IConfig;
*/
class Manager extends PublicEmitter implements IUserManager {
/**
- * @var \OCP\UserInterface [] $backends
+ * @var \OCP\UserInterface[] $backends
*/
private $backends = array();
diff --git a/lib/private/user/user.php b/lib/private/user/user.php
index cd9991796ec..7f34c261cbe 100644
--- a/lib/private/user/user.php
+++ b/lib/private/user/user.php
@@ -80,16 +80,14 @@ class User implements IUser {
$this->uid = $uid;
$this->backend = $backend;
$this->emitter = $emitter;
+ if(is_null($config)) {
+ $config = \OC::$server->getConfig();
+ }
$this->config = $config;
$this->urlGenerator = $urlGenerator;
- if ($this->config) {
- $enabled = $this->config->getUserValue($uid, 'core', 'enabled', 'true');
- $this->enabled = ($enabled === 'true');
- $this->lastLogin = $this->config->getUserValue($uid, 'login', 'lastLogin', 0);
- } else {
- $this->enabled = true;
- $this->lastLogin = \OC::$server->getConfig()->getUserValue($uid, 'login', 'lastLogin', 0);
- }
+ $enabled = $this->config->getUserValue($uid, 'core', 'enabled', 'true');
+ $this->enabled = ($enabled === 'true');
+ $this->lastLogin = $this->config->getUserValue($uid, 'login', 'lastLogin', 0);
if (is_null($this->urlGenerator)) {
$this->urlGenerator = \OC::$server->getURLGenerator();
}
@@ -300,11 +298,10 @@ class User implements IUser {
* @return bool
*/
public function canChangeDisplayName() {
- if ($this->config and $this->config->getSystemValue('allow_user_to_change_display_name') === false) {
+ if ($this->config->getSystemValue('allow_user_to_change_display_name') === false) {
return false;
- } else {
- return $this->backend->implementsActions(\OC_User_Backend::SET_DISPLAYNAME);
}
+ return $this->backend->implementsActions(\OC_User_Backend::SET_DISPLAYNAME);
}
/**
@@ -323,10 +320,8 @@ class User implements IUser {
*/
public function setEnabled($enabled) {
$this->enabled = $enabled;
- if ($this->config) {
- $enabled = ($enabled) ? 'true' : 'false';
- $this->config->setUserValue($this->uid, 'core', 'enabled', $enabled);
- }
+ $enabled = ($enabled) ? 'true' : 'false';
+ $this->config->setUserValue($this->uid, 'core', 'enabled', $enabled);
}
/**
diff --git a/lib/public/app.php b/lib/public/app.php
index e25f025d12d..032116eb43f 100644
--- a/lib/public/app.php
+++ b/lib/public/app.php
@@ -142,7 +142,7 @@ class App {
}
/**
- * Get the last version of the app, either from appinfo/version or from appinfo/info.xml
+ * Get the last version of the app from appinfo/info.xml
* @param string $app
* @return string
* @since 4.0.0
diff --git a/lib/public/constants.php b/lib/public/constants.php
index 518fbcf7ebe..4dd6793a13a 100644
--- a/lib/public/constants.php
+++ b/lib/public/constants.php
@@ -68,7 +68,8 @@ class Constants {
const PERMISSION_ALL = 31;
/**
- * @since 8.0.0
+ * @since 8.0.0 - Updated in 9.0.0 to allow all POSIX chars since we no
+ * longer support windows as server platform.
*/
- const FILENAME_INVALID_CHARS = "\\/<>:\"|?*\n";
+ const FILENAME_INVALID_CHARS = "\\/";
}
diff --git a/settings/controller/checksetupcontroller.php b/settings/controller/checksetupcontroller.php
index 26194bb1180..cfdfa5021bc 100644
--- a/settings/controller/checksetupcontroller.php
+++ b/settings/controller/checksetupcontroller.php
@@ -271,6 +271,10 @@ class CheckSetupController extends Controller {
* @return DataResponse
*/
public function getFailedIntegrityCheckFiles() {
+ if(!$this->checker->isCodeCheckEnforced()) {
+ return new DataDisplayResponse('Integrity checker has been disabled. Integrity cannot be verified.');
+ }
+
$completeResults = $this->checker->getResults();
if(!empty($completeResults)) {
diff --git a/settings/l10n/de.js b/settings/l10n/de.js
index 60828e238cb..ff79d58291c 100644
--- a/settings/l10n/de.js
+++ b/settings/l10n/de.js
@@ -159,6 +159,7 @@ OC.L10N.register(
"Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren",
"Please read carefully before activating server-side encryption: " : "Bitte sorgfältig lesen, bevor die serverseitige Verschlüsselung aktiviert wird:",
"Be aware that encryption always increases the file size." : "Sei dir bewusst, dass die Verschlüsselung immer die Dateigröße erhöht.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungskopien von deinen Daten zu machen. Falls du die Verschlüsselung nutzt, solltest du auch eine Sicherung der Verschlüsselungsschlüssel zusammen mit deinen Daten machen .",
"This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Verschlüsselung wirklich aktivieren?",
"Enable encryption" : "Verschlüsselung aktivieren",
"No encryption module loaded, please enable an encryption module in the app menu." : "Kein Verschlüsselungs-Modul geladen, bitte aktiviere ein Verschlüsselungs-Modul im Anwendungs-Menü.",
@@ -199,15 +200,20 @@ OC.L10N.register(
"Developer documentation" : "Dokumentation für Entwickler",
"Experimental applications ahead" : "Experimentelle Apps nachfolgend",
"Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Experimentelle Apps sind nicht auf Sicherheitsprobleme hin überprüft, sind neu oder bekanntermaßen instabil und befinden sich in intensiver Entwicklung. Ihre Installation kann Datenverlust oder Sicherheitslücken hervorrufen.",
+ "by %s" : "durch %s",
+ "%s-licensed" : "%s-lizensiert",
"Documentation:" : "Dokumentation:",
"User documentation" : "Dokumentation für Benutzer",
"Admin documentation" : "Dokumentation für Administratoren",
"Show description …" : "Beschreibung anzeigen…",
"Hide description …" : "Beschreibung ausblenden…",
+ "This app has no minimum ownCloud version assigned. This will be an error in ownCloud 11 and later." : "Diese App hat keine minimale ownCloud Version zugeordnet. Dies wird ein Fehler in ownCloud 11 und später sein.",
+ "This app has no maximum ownCloud version assigned. This will be an error in ownCloud 11 and later." : "Diese App hat keine maximale ownCloud Version zugeordnet. Dies wird ein Fehler in ownCloud 11 und später sein.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "Die App kann nicht installiert werden, weil die folgenden Abhängigkeiten nicht erfüllt sind:",
"Enable only for specific groups" : "Nur für bestimmte Gruppen aktivieren",
"Uninstall App" : "App deinstallieren",
"Enable experimental apps" : "Experimentelle Apps aktivieren",
+ "SSL Root Certificates" : "SSL Root Zertifikate",
"Common Name" : "Common Name",
"Valid until" : "Gültig bis",
"Issued By" : "Ausgestellt von:",
@@ -221,14 +227,20 @@ OC.L10N.register(
"Forum" : "Forum",
"Issue tracker" : "Issue Tracker",
"Commercial support" : "Kommerzieller Support",
+ "You are using <strong>%s</strong> of <strong>%s</strong>" : "Du benutzt <strong>%s</strong> von <strong>%s</strong>",
"Profile picture" : "Profilbild",
"Upload new" : "Neues hochladen",
+ "Select from Files" : "Wähle aus Dateien",
"Remove image" : "Bild entfernen",
+ "png or jpg, max. 20 MB" : "png oder jpg, max. 20MB",
+ "Picture provided by original account" : "Bild von Original- Konto zur Verfügung gestellt",
"Cancel" : "Abbrechen",
+ "Choose as profile picture" : "Wähle ein Profilbild",
"Full name" : "Vollständiger Name",
"No display name set" : "Kein Anzeigename angegeben",
"Email" : "E-Mail",
"Your email address" : "Deine E-Mail-Adresse",
+ "For password recovery and notifications" : "Für Passwort Wiederherstellung und Benachrichtigungen",
"No email address set" : "Keine E-Mail-Adresse angegeben",
"You are member of the following groups:" : "Du bist Mitglied folgender Gruppen:",
"Password" : "Passwort",
diff --git a/settings/l10n/de.json b/settings/l10n/de.json
index 59b3720948d..f9990ee4ca8 100644
--- a/settings/l10n/de.json
+++ b/settings/l10n/de.json
@@ -157,6 +157,7 @@
"Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren",
"Please read carefully before activating server-side encryption: " : "Bitte sorgfältig lesen, bevor die serverseitige Verschlüsselung aktiviert wird:",
"Be aware that encryption always increases the file size." : "Sei dir bewusst, dass die Verschlüsselung immer die Dateigröße erhöht.",
+ "It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Es ist immer gut, regelmäßig Sicherungskopien von deinen Daten zu machen. Falls du die Verschlüsselung nutzt, solltest du auch eine Sicherung der Verschlüsselungsschlüssel zusammen mit deinen Daten machen .",
"This is the final warning: Do you really want to enable encryption?" : "Dies ist die letzte Warnung: Verschlüsselung wirklich aktivieren?",
"Enable encryption" : "Verschlüsselung aktivieren",
"No encryption module loaded, please enable an encryption module in the app menu." : "Kein Verschlüsselungs-Modul geladen, bitte aktiviere ein Verschlüsselungs-Modul im Anwendungs-Menü.",
@@ -197,15 +198,20 @@
"Developer documentation" : "Dokumentation für Entwickler",
"Experimental applications ahead" : "Experimentelle Apps nachfolgend",
"Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Experimentelle Apps sind nicht auf Sicherheitsprobleme hin überprüft, sind neu oder bekanntermaßen instabil und befinden sich in intensiver Entwicklung. Ihre Installation kann Datenverlust oder Sicherheitslücken hervorrufen.",
+ "by %s" : "durch %s",
+ "%s-licensed" : "%s-lizensiert",
"Documentation:" : "Dokumentation:",
"User documentation" : "Dokumentation für Benutzer",
"Admin documentation" : "Dokumentation für Administratoren",
"Show description …" : "Beschreibung anzeigen…",
"Hide description …" : "Beschreibung ausblenden…",
+ "This app has no minimum ownCloud version assigned. This will be an error in ownCloud 11 and later." : "Diese App hat keine minimale ownCloud Version zugeordnet. Dies wird ein Fehler in ownCloud 11 und später sein.",
+ "This app has no maximum ownCloud version assigned. This will be an error in ownCloud 11 and later." : "Diese App hat keine maximale ownCloud Version zugeordnet. Dies wird ein Fehler in ownCloud 11 und später sein.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "Die App kann nicht installiert werden, weil die folgenden Abhängigkeiten nicht erfüllt sind:",
"Enable only for specific groups" : "Nur für bestimmte Gruppen aktivieren",
"Uninstall App" : "App deinstallieren",
"Enable experimental apps" : "Experimentelle Apps aktivieren",
+ "SSL Root Certificates" : "SSL Root Zertifikate",
"Common Name" : "Common Name",
"Valid until" : "Gültig bis",
"Issued By" : "Ausgestellt von:",
@@ -219,14 +225,20 @@
"Forum" : "Forum",
"Issue tracker" : "Issue Tracker",
"Commercial support" : "Kommerzieller Support",
+ "You are using <strong>%s</strong> of <strong>%s</strong>" : "Du benutzt <strong>%s</strong> von <strong>%s</strong>",
"Profile picture" : "Profilbild",
"Upload new" : "Neues hochladen",
+ "Select from Files" : "Wähle aus Dateien",
"Remove image" : "Bild entfernen",
+ "png or jpg, max. 20 MB" : "png oder jpg, max. 20MB",
+ "Picture provided by original account" : "Bild von Original- Konto zur Verfügung gestellt",
"Cancel" : "Abbrechen",
+ "Choose as profile picture" : "Wähle ein Profilbild",
"Full name" : "Vollständiger Name",
"No display name set" : "Kein Anzeigename angegeben",
"Email" : "E-Mail",
"Your email address" : "Deine E-Mail-Adresse",
+ "For password recovery and notifications" : "Für Passwort Wiederherstellung und Benachrichtigungen",
"No email address set" : "Keine E-Mail-Adresse angegeben",
"You are member of the following groups:" : "Du bist Mitglied folgender Gruppen:",
"Password" : "Passwort",
diff --git a/settings/l10n/nb_NO.js b/settings/l10n/nb_NO.js
index 3a09b1fc947..6fb34258e4b 100644
--- a/settings/l10n/nb_NO.js
+++ b/settings/l10n/nb_NO.js
@@ -204,6 +204,8 @@ OC.L10N.register(
"Developer documentation" : "Utviklerdokumentasjon",
"Experimental applications ahead" : "Eksperimentelle applikasjoner forut",
"Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Eksperimentelle apper er ikke sjekket for sikkerhetsproblemer. De er nye eller de anses som ustabile og under stadig utvikling. Å installere slike apper kan forårsake tap av data eller brudd på sikkerheten.",
+ "by %s" : "av %s",
+ "%s-licensed" : "%s-lisensiert",
"Documentation:" : "Dokumentasjon:",
"User documentation" : "Brukerdokumentasjon",
"Admin documentation" : "Admin-dokumentasjon",
diff --git a/settings/l10n/nb_NO.json b/settings/l10n/nb_NO.json
index c2368bb9b78..6980c2dc7d4 100644
--- a/settings/l10n/nb_NO.json
+++ b/settings/l10n/nb_NO.json
@@ -202,6 +202,8 @@
"Developer documentation" : "Utviklerdokumentasjon",
"Experimental applications ahead" : "Eksperimentelle applikasjoner forut",
"Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Eksperimentelle apper er ikke sjekket for sikkerhetsproblemer. De er nye eller de anses som ustabile og under stadig utvikling. Å installere slike apper kan forårsake tap av data eller brudd på sikkerheten.",
+ "by %s" : "av %s",
+ "%s-licensed" : "%s-lisensiert",
"Documentation:" : "Dokumentasjon:",
"User documentation" : "Brukerdokumentasjon",
"Admin documentation" : "Admin-dokumentasjon",
diff --git a/settings/l10n/tr.js b/settings/l10n/tr.js
index a226b273882..7b3177c1f16 100644
--- a/settings/l10n/tr.js
+++ b/settings/l10n/tr.js
@@ -204,15 +204,20 @@ OC.L10N.register(
"Developer documentation" : "Geliştirici belgelendirmesi",
"Experimental applications ahead" : "İlerideki deneysel uygulamalar",
"Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Deneysel uygulamalar güvenlik açısından denetlenmemiş, yeni veya kararsız olmaya açık ya da geliştirilme aşamasında olan uygulamalardır. Yüklemek veri kaybı veya güvenlik açıklarına sebep olabilir.",
+ "by %s" : "Yazar: %s",
+ "%s-licensed" : "%s lisanslı",
"Documentation:" : "Belgelendirme:",
"User documentation" : "Kullanıcı belgelendirmesi",
"Admin documentation" : "Yönetici belgelendirmesi",
"Show description …" : "Açıklamayı göster...",
"Hide description …" : "Açıklamayı gizle...",
+ "This app has no minimum ownCloud version assigned. This will be an error in ownCloud 11 and later." : "Bu uygulama atanmış bir en düşük ownCloud sürümü içermiyor. ownCloud 11 ve sonrasında bu bir hata olacaktır.",
+ "This app has no maximum ownCloud version assigned. This will be an error in ownCloud 11 and later." : "Bu uygulama atanmış bir en yüksek ownCloud sürümü içermiyor. ownCloud 11 ve sonrasında bu bir hata olacaktır.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "Bu uygulama, aşağıdaki bağımlılıklar sağlanmadığından yüklenemiyor:",
"Enable only for specific groups" : "Sadece belirli gruplar için etkinleştir",
"Uninstall App" : "Uygulamayı Kaldır",
"Enable experimental apps" : "Deneysel uygulamaları etkinleştir",
+ "SSL Root Certificates" : "SSL Kök Sertifikaları",
"Common Name" : "Ortak Ad",
"Valid until" : "Geçerlilik",
"Issued By" : "Veren",
@@ -226,10 +231,12 @@ OC.L10N.register(
"Forum" : "Forum",
"Issue tracker" : "Sorun izleyici",
"Commercial support" : "Ticari destek",
+ "You are using <strong>%s</strong> of <strong>%s</strong>" : "Kullandığınız: <strong>%s</strong>. Kullanılabilir alan: <strong>%s</strong>",
"Profile picture" : "Profil resmi",
"Upload new" : "Yeni yükle",
"Select from Files" : "Dosyalardan seç",
"Remove image" : "Resmi kaldır",
+ "png or jpg, max. 20 MB" : "png veya jpg, azami 20 MB",
"Picture provided by original account" : "Görüntü resminiz, özgün hesabınız tarafından sağlanıyor.",
"Cancel" : "İptal",
"Choose as profile picture" : "Profil resmi olarak seç",
@@ -237,7 +244,7 @@ OC.L10N.register(
"No display name set" : "Ekran adı ayarlanmamış",
"Email" : "E-posta",
"Your email address" : "E-posta adresiniz",
- "For password recovery and notifications" : "Parola kurtarmayı ve bildirim almayı açmak için bir e-posta adresi girin",
+ "For password recovery and notifications" : "Parola kurtarma ve bildirimler için",
"No email address set" : "E-posta adresi ayarlanmamış",
"You are member of the following groups:" : "Şu grupların üyesisiniz:",
"Password" : "Parola",
diff --git a/settings/l10n/tr.json b/settings/l10n/tr.json
index 68cc43566bc..88d06351dd1 100644
--- a/settings/l10n/tr.json
+++ b/settings/l10n/tr.json
@@ -202,15 +202,20 @@
"Developer documentation" : "Geliştirici belgelendirmesi",
"Experimental applications ahead" : "İlerideki deneysel uygulamalar",
"Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "Deneysel uygulamalar güvenlik açısından denetlenmemiş, yeni veya kararsız olmaya açık ya da geliştirilme aşamasında olan uygulamalardır. Yüklemek veri kaybı veya güvenlik açıklarına sebep olabilir.",
+ "by %s" : "Yazar: %s",
+ "%s-licensed" : "%s lisanslı",
"Documentation:" : "Belgelendirme:",
"User documentation" : "Kullanıcı belgelendirmesi",
"Admin documentation" : "Yönetici belgelendirmesi",
"Show description …" : "Açıklamayı göster...",
"Hide description …" : "Açıklamayı gizle...",
+ "This app has no minimum ownCloud version assigned. This will be an error in ownCloud 11 and later." : "Bu uygulama atanmış bir en düşük ownCloud sürümü içermiyor. ownCloud 11 ve sonrasında bu bir hata olacaktır.",
+ "This app has no maximum ownCloud version assigned. This will be an error in ownCloud 11 and later." : "Bu uygulama atanmış bir en yüksek ownCloud sürümü içermiyor. ownCloud 11 ve sonrasında bu bir hata olacaktır.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "Bu uygulama, aşağıdaki bağımlılıklar sağlanmadığından yüklenemiyor:",
"Enable only for specific groups" : "Sadece belirli gruplar için etkinleştir",
"Uninstall App" : "Uygulamayı Kaldır",
"Enable experimental apps" : "Deneysel uygulamaları etkinleştir",
+ "SSL Root Certificates" : "SSL Kök Sertifikaları",
"Common Name" : "Ortak Ad",
"Valid until" : "Geçerlilik",
"Issued By" : "Veren",
@@ -224,10 +229,12 @@
"Forum" : "Forum",
"Issue tracker" : "Sorun izleyici",
"Commercial support" : "Ticari destek",
+ "You are using <strong>%s</strong> of <strong>%s</strong>" : "Kullandığınız: <strong>%s</strong>. Kullanılabilir alan: <strong>%s</strong>",
"Profile picture" : "Profil resmi",
"Upload new" : "Yeni yükle",
"Select from Files" : "Dosyalardan seç",
"Remove image" : "Resmi kaldır",
+ "png or jpg, max. 20 MB" : "png veya jpg, azami 20 MB",
"Picture provided by original account" : "Görüntü resminiz, özgün hesabınız tarafından sağlanıyor.",
"Cancel" : "İptal",
"Choose as profile picture" : "Profil resmi olarak seç",
@@ -235,7 +242,7 @@
"No display name set" : "Ekran adı ayarlanmamış",
"Email" : "E-posta",
"Your email address" : "E-posta adresiniz",
- "For password recovery and notifications" : "Parola kurtarmayı ve bildirim almayı açmak için bir e-posta adresi girin",
+ "For password recovery and notifications" : "Parola kurtarma ve bildirimler için",
"No email address set" : "E-posta adresi ayarlanmamış",
"You are member of the following groups:" : "Şu grupların üyesisiniz:",
"Password" : "Parola",
diff --git a/tests/data/testapp.zip b/tests/data/testapp.zip
index e76c0d18724..c828572827f 100644
--- a/tests/data/testapp.zip
+++ b/tests/data/testapp.zip
Binary files differ
diff --git a/tests/data/testapp2.zip b/tests/data/testapp2.zip
index f46832f7a75..1953cc896f8 100644
--- a/tests/data/testapp2.zip
+++ b/tests/data/testapp2.zip
Binary files differ
diff --git a/tests/docker/mariadb/oc.cnf b/tests/docker/mariadb/oc.cnf
new file mode 100644
index 00000000000..590284d4617
--- /dev/null
+++ b/tests/docker/mariadb/oc.cnf
@@ -0,0 +1,5 @@
+
+[mysqld]
+
+innodb_buffer_pool_size = 512M
+innodb_flush_log_at_trx_commit = 2
diff --git a/tests/lib/app.php b/tests/lib/app.php
index 065296827dd..e7255ad955a 100644
--- a/tests/lib/app.php
+++ b/tests/lib/app.php
@@ -287,7 +287,7 @@ class Test_App extends \Test\TestCase {
* Tests that the app order is correct
*/
public function testGetEnabledAppsIsSorted() {
- $apps = \OC_App::getEnabledApps(true);
+ $apps = \OC_App::getEnabledApps();
// copy array
$sortedApps = $apps;
sort($sortedApps);
@@ -413,7 +413,7 @@ class Test_App extends \Test\TestCase {
)
);
- $apps = \OC_App::getEnabledApps(true, $forceAll);
+ $apps = \OC_App::getEnabledApps(false, $forceAll);
$this->restoreAppConfig();
\OC_User::setUserId(null);
@@ -448,11 +448,11 @@ class Test_App extends \Test\TestCase {
)
);
- $apps = \OC_App::getEnabledApps(true);
+ $apps = \OC_App::getEnabledApps();
$this->assertEquals(array('files', 'app3', 'dav', 'federatedfilesharing',), $apps);
// mock should not be called again here
- $apps = \OC_App::getEnabledApps(false);
+ $apps = \OC_App::getEnabledApps();
$this->assertEquals(array('files', 'app3', 'dav', 'federatedfilesharing',), $apps);
$this->restoreAppConfig();
@@ -501,7 +501,7 @@ class Test_App extends \Test\TestCase {
});
// Remove the cache of the mocked apps list with a forceRefresh
- \OC_App::getEnabledApps(true);
+ \OC_App::getEnabledApps();
}
/**
diff --git a/tests/lib/app/codechecker/infocheckertest.php b/tests/lib/app/codechecker/infocheckertest.php
index 59c1316b769..b31c5fe3a7a 100644
--- a/tests/lib/app/codechecker/infocheckertest.php
+++ b/tests/lib/app/codechecker/infocheckertest.php
@@ -54,7 +54,7 @@ class InfoCheckerTest extends TestCase {
['testapp-version', []],
['testapp-infoxml-version', []],
['testapp-infoxml-version-different', [['type' => 'differentVersions', 'message' => 'appinfo/version: 1.2.4 - appinfo/info.xml: 1.2.3']]],
- ['testapp-version-missing', [['type' => 'mandatoryFieldMissing', 'field' => 'version']]],
+ ['testapp-version-missing', []],
['testapp-name-missing', [['type' => 'mandatoryFieldMissing', 'field' => 'name']]],
];
}
diff --git a/tests/lib/files/storage/storage.php b/tests/lib/files/storage/storage.php
index 42bd491df5c..f3d265df2de 100644
--- a/tests/lib/files/storage/storage.php
+++ b/tests/lib/files/storage/storage.php
@@ -608,4 +608,10 @@ abstract class Storage extends \Test\TestCase {
$stat = $this->instance->stat('foo.txt');
$this->assertEquals(6, $stat['size']);
}
+
+ public function testPartFile() {
+ $this->instance->file_put_contents('bar.txt.part', 'bar');
+ $this->instance->rename('bar.txt.part', 'bar.txt');
+ $this->assertEquals('bar', $this->instance->file_get_contents('bar.txt'));
+ }
}
diff --git a/tests/lib/share20/managertest.php b/tests/lib/share20/managertest.php
index 73a1b0a6530..fe94b72c4e6 100644
--- a/tests/lib/share20/managertest.php
+++ b/tests/lib/share20/managertest.php
@@ -132,16 +132,10 @@ class ManagerTest extends \Test\TestCase {
}
/**
- * @expectedException \OCP\Share\Exceptions\ShareNotFound
+ * @expectedException \InvalidArgumentException
*/
public function testDeleteNoShareId() {
- $share = $this->getMock('\OCP\Share\IShare');
-
- $share
- ->expects($this->once())
- ->method('getFullId')
- ->with()
- ->willReturn(null);
+ $share = $this->manager->newShare();
$this->manager->deleteShare($share);
}
@@ -181,7 +175,6 @@ class ManagerTest extends \Test\TestCase {
->setNode($path)
->setTarget('myTarget');
- $manager->expects($this->once())->method('getShareById')->with('prov:42')->willReturn($share);
$manager->expects($this->once())->method('deleteChildren')->with($share);
$this->defaultProvider
@@ -261,7 +254,6 @@ class ManagerTest extends \Test\TestCase {
$this->rootFolder->expects($this->never())->method($this->anything());
- $manager->expects($this->once())->method('getShareById')->with('prov:42')->willReturn($share);
$manager->expects($this->once())->method('deleteChildren')->with($share);
$this->defaultProvider
@@ -359,8 +351,6 @@ class ManagerTest extends \Test\TestCase {
->setTarget('myTarget3')
->setParent(43);
- $manager->expects($this->once())->method('getShareById')->with('prov:42')->willReturn($share1);
-
$this->defaultProvider
->method('getChildren')
->will($this->returnValueMap([
@@ -1414,28 +1404,21 @@ class ManagerTest extends \Test\TestCase {
->setMethods(['sharingDisabledForUser'])
->getMock();
- $manager->method('sharingDisabledForUser')->willReturn($disabledForUser);
+ $manager->method('sharingDisabledForUser')
+ ->with('user')
+ ->willReturn($disabledForUser);
- $user = $this->getMock('\OCP\IUser');
$share = $this->manager->newShare();
$share->setSharedBy('user');
- $res = $this->invokePrivate($manager, 'canShare', [$share]);
- $this->assertEquals($expected, $res);
- }
-
- /**
- * @expectedException Exception
- * @expectedExceptionMessage The Share API is disabled
- */
- public function testCreateShareCantShare() {
- $manager = $this->createManagerMock()
- ->setMethods(['canShare'])
- ->getMock();
+ $exception = false;
+ try {
+ $res = $this->invokePrivate($manager, 'canShare', [$share]);
+ } catch (\Exception $e) {
+ $exception = true;
+ }
- $manager->expects($this->once())->method('canShare')->willReturn(false);
- $share = $this->manager->newShare();
- $manager->createShare($share);
+ $this->assertEquals($expected, !$exception);
}
public function testCreateShareUser() {
@@ -1549,6 +1532,7 @@ class ManagerTest extends \Test\TestCase {
'pathCreateChecks',
'validateExpirationDate',
'verifyPassword',
+ 'setLinkParent',
])
->getMock();
@@ -1589,6 +1573,9 @@ class ManagerTest extends \Test\TestCase {
$manager->expects($this->once())
->method('verifyPassword')
->with('password');
+ $manager->expects($this->once())
+ ->method('setLinkParent')
+ ->with($share);
$this->hasher->expects($this->once())
->method('hash')
@@ -1951,20 +1938,6 @@ class ManagerTest extends \Test\TestCase {
/**
* @expectedException Exception
- * @expectedExceptionMessage The Share API is disabled
- */
- public function testUpdateShareCantShare() {
- $manager = $this->createManagerMock()
- ->setMethods(['canShare'])
- ->getMock();
-
- $manager->expects($this->once())->method('canShare')->willReturn(false);
- $share = $this->manager->newShare();
- $manager->updateShare($share);
- }
-
- /**
- * @expectedException Exception
* @expectedExceptionMessage Can't change share type
*/
public function testUpdateShareCantChangeShareType() {
diff --git a/tests/lib/util.php b/tests/lib/util.php
index 7880d56f63b..4d788353881 100644
--- a/tests/lib/util.php
+++ b/tests/lib/util.php
@@ -214,13 +214,13 @@ class Test_Util extends \Test\TestCase {
array('..', false),
array('back\\slash', false),
array('sl/ash', false),
- array('lt<lt', false),
- array('gt>gt', false),
- array('col:on', false),
- array('double"quote', false),
- array('pi|pe', false),
- array('dont?ask?questions?', false),
- array('super*star', false),
+ array('lt<lt', true),
+ array('gt>gt', true),
+ array('col:on', true),
+ array('double"quote', true),
+ array('pi|pe', true),
+ array('dont?ask?questions?', true),
+ array('super*star', true),
array('new\nline', false),
// better disallow these to avoid unexpected trimming to have side effects
array(' ..', false),
diff --git a/tests/phpunit-autotest.xml b/tests/phpunit-autotest.xml
index 7ef7c12df82..07de887c8cb 100644
--- a/tests/phpunit-autotest.xml
+++ b/tests/phpunit-autotest.xml
@@ -17,22 +17,23 @@
<filter>
<!-- whitelist processUncoveredFilesFromWhitelist="true" -->
<whitelist>
- <directory suffix=".php">../apps/federatedfilesharing/</directory>
+ <directory suffix=".php">..</directory>
<exclude>
<directory suffix=".php">../3rdparty</directory>
- <directory suffix=".php">../apps/files/l10n</directory>
+ <directory suffix=".php">../apps/dav/tests</directory>
+ <directory suffix=".php">../apps/encryption/tests</directory>
+ <directory suffix=".php">../apps/federatedfilesharing/tests</directory>
+ <directory suffix=".php">../apps/federation/tests</directory>
+ <directory suffix=".php">../apps/files/tests</directory>
<directory suffix=".php">../apps/files_external</directory>
- <directory suffix=".php">../apps/files_versions/l10n</directory>
- <directory suffix=".php">../apps/encryption/l10n</directory>
- <directory suffix=".php">../apps/files_sharing/l10n</directory>
- <directory suffix=".php">../apps/files_trashbin/l10n</directory>
- <directory suffix=".php">../apps/user_ldap/l10n</directory>
- <directory suffix=".php">../apps/user_webdavauth/l10n</directory>
+ <directory suffix=".php">../apps/files_sharing/tests</directory>
+ <directory suffix=".php">../apps/files_trashbin/tests</directory>
+ <directory suffix=".php">../apps/files_versions/tests</directory>
<directory suffix=".php">../apps/provisioning_api/tests</directory>
- <directory suffix=".php">../lib/l10n</directory>
- <directory suffix=".php">../core/l10n</directory>
- <directory suffix=".php">../settings/l10n</directory>
+ <directory suffix=".php">../apps/updatenotification/tests</directory>
+ <directory suffix=".php">../apps/user_ldap/tests</directory>
<directory suffix=".php">../tests</directory>
+ <directory suffix=".php">../build</directory>
</exclude>
</whitelist>
</filter>
diff --git a/tests/settings/controller/CheckSetupControllerTest.php b/tests/settings/controller/CheckSetupControllerTest.php
index c22ddb2e120..3ce7c64b4a3 100644
--- a/tests/settings/controller/CheckSetupControllerTest.php
+++ b/tests/settings/controller/CheckSetupControllerTest.php
@@ -618,9 +618,24 @@ class CheckSetupControllerTest extends TestCase {
$this->assertEquals($expected, $this->checkSetupController->rescanFailedIntegrityCheck());
}
+ public function testGetFailedIntegrityCheckDisabled() {
+ $this->checker
+ ->expects($this->once())
+ ->method('isCodeCheckEnforced')
+ ->willReturn(false);
+
+ $expected = new DataDisplayResponse('Integrity checker has been disabled. Integrity cannot be verified.');
+ $this->assertEquals($expected, $this->checkSetupController->getFailedIntegrityCheckFiles());
+ }
+
+
public function testGetFailedIntegrityCheckFilesWithNoErrorsFound() {
$this->checker
->expects($this->once())
+ ->method('isCodeCheckEnforced')
+ ->willReturn(true);
+ $this->checker
+ ->expects($this->once())
->method('getResults')
->will($this->returnValue([]));
@@ -636,6 +651,10 @@ class CheckSetupControllerTest extends TestCase {
public function testGetFailedIntegrityCheckFilesWithSomeErrorsFound() {
$this->checker
+ ->expects($this->once())
+ ->method('isCodeCheckEnforced')
+ ->willReturn(true);
+ $this->checker
->expects($this->once())
->method('getResults')
->will($this->returnValue(array ( 'core' => array ( 'EXTRA_FILE' => array('/testfile' => array()), 'INVALID_HASH' => array ( '/.idea/workspace.xml' => array ( 'expected' => 'f1c5e2630d784bc9cb02d5a28f55d6f24d06dae2a0fee685f3c2521b050955d9d452769f61454c9ddfa9c308146ade10546cfa829794448eaffbc9a04a29d216', 'current' => 'ce08bf30bcbb879a18b49239a9bec6b8702f52452f88a9d32142cad8d2494d5735e6bfa0d8642b2762c62ca5be49f9bf4ec231d4a230559d4f3e2c471d3ea094', ), '/lib/private/integritycheck/checker.php' => array ( 'expected' => 'c5a03bacae8dedf8b239997901ba1fffd2fe51271d13a00cc4b34b09cca5176397a89fc27381cbb1f72855fa18b69b6f87d7d5685c3b45aee373b09be54742ea', 'current' => '88a3a92c11db91dec1ac3be0e1c87f862c95ba6ffaaaa3f2c3b8f682187c66f07af3a3b557a868342ef4a271218fe1c1e300c478e6c156c5955ed53c40d06585', ), '/settings/controller/checksetupcontroller.php' => array ( 'expected' => '3e1de26ce93c7bfe0ede7c19cb6c93cadc010340225b375607a7178812e9de163179b0dc33809f451e01f491d93f6f5aaca7929685d21594cccf8bda732327c4', 'current' => '09563164f9904a837f9ca0b5f626db56c838e5098e0ccc1d8b935f68fa03a25c5ec6f6b2d9e44a868e8b85764dafd1605522b4af8db0ae269d73432e9a01e63a', ), ), ), 'bookmarks' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'dav' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'encryption' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'external' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'federation' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'files' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'files_antivirus' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'files_drop' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'files_external' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'files_pdfviewer' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'files_sharing' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'files_trashbin' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'files_versions' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'files_videoviewer' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'firstrunwizard' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'gitsmart' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'logreader' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature could not get verified.', ), ), 'password_policy' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'provisioning_api' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'sketch' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'threatblock' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'two_factor_auth' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'user_ldap' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), 'user_shibboleth' => array ( 'EXCEPTION' => array ( 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ), ), )));
diff --git a/version.php b/version.php
index 44bddca0700..240a92cc0b7 100644
--- a/version.php
+++ b/version.php
@@ -25,10 +25,10 @@
// 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(9, 0, 0, 10);
+$OC_Version = array(9, 0, 0, 11);
// The human readable string
-$OC_VersionString = '9.0 pre alpha';
+$OC_VersionString = '9.0 beta 1';
$OC_VersionCanBeUpgradedFrom = array(8, 2);